Use native YAML - Packaging (#3588)

* Fix kibana

* More native YAML

* More native YAML

* More native YAML

* More native YAML. Now only languages/ is missing

* Use native yaml sintax for packaging/languages as well

* Some more and quote fixes

* Fix wrong grouping
This commit is contained in:
Fabio Alessandro Locati 2016-12-01 16:07:13 +00:00 committed by Matt Clay
parent d344d7863a
commit 06a8f1d79b
34 changed files with 589 additions and 186 deletions

View file

@ -39,7 +39,9 @@ notes:
''' '''
EXAMPLES = ''' EXAMPLES = '''
# Prevent python from being upgraded. # Prevent python from being upgraded.
- dpkg_selections: name=python selection=hold - dpkg_selections:
name: python
selection: hold
''' '''
def main(): def main():

View file

@ -83,13 +83,20 @@ options:
EXAMPLES = ''' EXAMPLES = '''
# Install Elasticsearch head plugin # Install Elasticsearch head plugin
- elasticsearch_plugin: state=present name="mobz/elasticsearch-head" - elasticsearch_plugin:
state: present
name: mobz/elasticsearch-head
# Install specific version of a plugin # Install specific version of a plugin
- elasticsearch_plugin: state=present name="com.github.kzwang/elasticsearch-image" version="1.2.0" - elasticsearch_plugin:
state: present
name: com.github.kzwang/elasticsearch-image
version: '1.2.0'
# Uninstall Elasticsearch head plugin # Uninstall Elasticsearch head plugin
- elasticsearch_plugin: state=absent name="mobz/elasticsearch-head" - elasticsearch_plugin:
state: absent
name: mobz/elasticsearch-head
''' '''
PACKAGE_STATE_MAP = dict( PACKAGE_STATE_MAP = dict(

View file

@ -79,13 +79,20 @@ options:
EXAMPLES = ''' EXAMPLES = '''
# Install Elasticsearch head plugin # Install Elasticsearch head plugin
- kibana_plugin: state=present name="elasticsearch/marvel" - kibana_plugin:
state: present
name=: elasticsearch/marvel
# Install specific version of a plugin # Install specific version of a plugin
- kibana_plugin: state=present name="elasticsearch/marvel" version="2.3.3" - kibana_plugin:
state: present
name: elasticsearch/marvel
version: '2.3.3'
# Uninstall Elasticsearch head plugin # Uninstall Elasticsearch head plugin
- kibana_plugin: state=absent name="elasticsearch/marvel" - kibana_plugin:
state: absent
name: elasticsearch/marvel
''' '''
RETURN = ''' RETURN = '''

View file

@ -67,24 +67,37 @@ options:
''' '''
EXAMPLES = ''' EXAMPLES = '''
description: Install "bootstrap" bower package. - name: Install "bootstrap" bower package.
- bower: name=bootstrap bower:
name: bootstrap
description: Install "bootstrap" bower package on version 3.1.1. - name: Install "bootstrap" bower package on version 3.1.1.
- bower: name=bootstrap version=3.1.1 bower:
name: bootstrap
version: '3.1.1'
description: Remove the "bootstrap" bower package. - name: Remove the "bootstrap" bower package.
- bower: name=bootstrap state=absent bower:
name: bootstrap
state: absent
description: Install packages based on bower.json. - name: Install packages based on bower.json.
- bower: path=/app/location bower:
path: /app/location
description: Update packages based on bower.json to their latest version. - name: Update packages based on bower.json to their latest version.
- bower: path=/app/location state=latest bower:
path: /app/location
state: latest
description: install bower locally and run from there # install bower locally and run from there
- npm: path=/app/location name=bower global=no - npm:
- bower: path=/app/location relative_execpath=node_modules/.bin path: /app/location
name: bower
global: no
- bower:
path: /app/location
relative_execpath: node_modules/.bin
''' '''

View file

@ -112,19 +112,29 @@ author: "Tim Hoiberg (@thoiberg)"
EXAMPLES=''' EXAMPLES='''
# Installs gems from a Gemfile in the current directory # Installs gems from a Gemfile in the current directory
- bundler: state=present executable=~/.rvm/gems/2.1.5/bin/bundle - bundler:
state: present
executable: ~/.rvm/gems/2.1.5/bin/bundle
# Excludes the production group from installing # Excludes the production group from installing
- bundler: state=present exclude_groups=production - bundler:
state: present
exclude_groups: production
# Only install gems from the default and production groups # Only install gems from the default and production groups
- bundler: state=present deployment_mode=yes - bundler:
state: present
deployment_mode: yes
# Installs gems using a Gemfile in another directory # Installs gems using a Gemfile in another directory
- bundler: state=present gemfile=../rails_project/Gemfile - bundler:
state: present
gemfile: ../rails_project/Gemfile
# Updates Gemfile in another directory # Updates Gemfile in another directory
- bundler: state=latest chdir=~/rails_project - bundler:
state: latest
chdir: ~/rails_project
''' '''

View file

@ -108,19 +108,21 @@ notes:
EXAMPLES = ''' EXAMPLES = '''
# Downloads and installs all the libs and dependencies outlined in the /path/to/project/composer.lock # Downloads and installs all the libs and dependencies outlined in the /path/to/project/composer.lock
- composer: command=install working_dir=/path/to/project - composer:
command: install
working_dir: /path/to/project
- composer: - composer:
command: "require" command: require
arguments: "my/package" arguments: my/package
working_dir: "/path/to/project" working_dir: /path/to/project
# Clone project and install with all dependencies # Clone project and install with all dependencies
- composer: - composer:
command: "create-project" command: create-project
arguments: "package/package /path/to/project ~1.0" arguments: package/package /path/to/project ~1.0
working_dir: "/path/to/project" working_dir: /path/to/project
prefer_dist: "yes" prefer_dist: yes
''' '''
import os import os

View file

@ -91,29 +91,43 @@ author: "Franck Cuny (@franckcuny)"
EXAMPLES = ''' EXAMPLES = '''
# install Dancer perl package # install Dancer perl package
- cpanm: name=Dancer - cpanm:
name: Dancer
# install version 0.99_05 of the Plack perl package # install version 0.99_05 of the Plack perl package
- cpanm: name=MIYAGAWA/Plack-0.99_05.tar.gz - cpanm:
name: MIYAGAWA/Plack-0.99_05.tar.gz
# install Dancer into the specified locallib # install Dancer into the specified locallib
- cpanm: name=Dancer locallib=/srv/webapps/my_app/extlib - cpanm:
name: Dancer
locallib: /srv/webapps/my_app/extlib
# install perl dependencies from local directory # install perl dependencies from local directory
- cpanm: from_path=/srv/webapps/my_app/src/ - cpanm:
from_path: /srv/webapps/my_app/src/
# install Dancer perl package without running the unit tests in indicated locallib # install Dancer perl package without running the unit tests in indicated locallib
- cpanm: name=Dancer notest=True locallib=/srv/webapps/my_app/extlib - cpanm:
name: Dancer
notest: True
locallib: /srv/webapps/my_app/extlib
# install Dancer perl package from a specific mirror # install Dancer perl package from a specific mirror
- cpanm: name=Dancer mirror=http://cpan.cpantesters.org/ - cpanm:
name: Dancer
mirror: 'http://cpan.cpantesters.org/'
# install Dancer perl package into the system root path # install Dancer perl package into the system root path
- cpanm: name=Dancer system_lib=yes - cpanm:
name: Dancer
system_lib: yes
# install Dancer if it's not already installed # install Dancer if it's not already installed
# OR the installed version is older than version 1.0 # OR the installed version is older than version 1.0
- cpanm: name=Dancer version=1.0 - cpanm:
name: Dancer
version: '1.0'
''' '''
def _is_package_installed(module, name, locallib, cpanm, version): def _is_package_installed(module, name, locallib, cpanm, version):

View file

@ -119,16 +119,34 @@ options:
EXAMPLES = ''' EXAMPLES = '''
# Download the latest version of the JUnit framework artifact from Maven Central # Download the latest version of the JUnit framework artifact from Maven Central
- maven_artifact: group_id=junit artifact_id=junit dest=/tmp/junit-latest.jar - maven_artifact:
group_id: junit
artifact_id: junit
dest: /tmp/junit-latest.jar
# Download JUnit 4.11 from Maven Central # Download JUnit 4.11 from Maven Central
- maven_artifact: group_id=junit artifact_id=junit version=4.11 dest=/tmp/junit-4.11.jar - maven_artifact:
group_id: junit
artifact_id: junit
version: 4.11
dest: /tmp/junit-4.11.jar
# Download an artifact from a private repository requiring authentication # Download an artifact from a private repository requiring authentication
- maven_artifact: group_id=com.company artifact_id=library-name repository_url=https://repo.company.com/maven username=user password=pass dest=/tmp/library-name-latest.jar - maven_artifact:
group_id: com.company
artifact_id: library-name
repository_url: 'https://repo.company.com/maven'
username: user
password: pass
dest: /tmp/library-name-latest.jar
# Download a WAR File to the Tomcat webapps directory to be deployed # Download a WAR File to the Tomcat webapps directory to be deployed
- maven_artifact: group_id=com.company artifact_id=web-app extension=war repository_url=https://repo.company.com/maven dest=/var/lib/tomcat7/webapps/web-app.war - maven_artifact:
group_id: com.company
artifact_id: web-app
extension: war
repository_url: 'https://repo.company.com/maven'
dest: /var/lib/tomcat7/webapps/web-app.war
''' '''
class Artifact(object): class Artifact(object):

View file

@ -78,28 +78,46 @@ options:
EXAMPLES = ''' EXAMPLES = '''
description: Install "coffee-script" node.js package. description: Install "coffee-script" node.js package.
- npm: name=coffee-script path=/app/location - npm:
name: coffee-script
path: /app/location
description: Install "coffee-script" node.js package on version 1.6.1. description: Install "coffee-script" node.js package on version 1.6.1.
- npm: name=coffee-script version=1.6.1 path=/app/location - npm:
name: coffee-script
version: '1.6.1'
path: /app/location
description: Install "coffee-script" node.js package globally. description: Install "coffee-script" node.js package globally.
- npm: name=coffee-script global=yes - npm:
name: coffee-script
global: yes
description: Remove the globally package "coffee-script". description: Remove the globally package "coffee-script".
- npm: name=coffee-script global=yes state=absent - npm:
name: coffee-script
global: yes
state: absent
description: Install "coffee-script" node.js package from custom registry. description: Install "coffee-script" node.js package from custom registry.
- npm: name=coffee-script registry=http://registry.mysite.com - npm:
name: coffee-script
registry: 'http://registry.mysite.com'
description: Install packages based on package.json. description: Install packages based on package.json.
- npm: path=/app/location - npm:
path: /app/location
description: Update packages based on package.json to their latest version. description: Update packages based on package.json to their latest version.
- npm: path=/app/location state=latest - npm:
path: /app/location
state: latest
description: Install packages based on package.json using the npm installed with nvm v0.10.1. description: Install packages based on package.json using the npm installed with nvm v0.10.1.
- npm: path=/app/location executable=/opt/nvm/v0.10.1/bin/npm state=present - npm:
path: /app/location
executable: /opt/nvm/v0.10.1/bin/npm
state: present
''' '''
import os import os

View file

@ -45,16 +45,24 @@ options:
EXAMPLES = ''' EXAMPLES = '''
# Install pear package # Install pear package
- pear: name=Net_URL2 state=present - pear:
name: Net_URL2
state: present
# Install pecl package # Install pecl package
- pear: name=pecl/json_post state=present - pear:
name: pecl/json_post
state: present
# Upgrade package # Upgrade package
- pear: name=Net_URL2 state=latest - pear:
name: Net_URL2
state: latest
# Remove packages # Remove packages
- pear: name=Net_URL2,pecl/json_post state=absent - pear:
name: Net_URL2,pecl/json_post
state: absent
''' '''
import os import os

View file

@ -58,34 +58,54 @@ notes:
EXAMPLES = ''' EXAMPLES = '''
# Update repositories and install "foo" package # Update repositories and install "foo" package
- apk: name=foo update_cache=yes - apk:
name: foo
update_cache: yes
# Update repositories and install "foo" and "bar" packages # Update repositories and install "foo" and "bar" packages
- apk: name=foo,bar update_cache=yes - apk:
name: foo,bar
update_cache: yes
# Remove "foo" package # Remove "foo" package
- apk: name=foo state=absent - apk:
name: foo
state: absent
# Remove "foo" and "bar" packages # Remove "foo" and "bar" packages
- apk: name=foo,bar state=absent - apk:
name: foo,bar
state: absent
# Install the package "foo" # Install the package "foo"
- apk: name=foo state=present - apk:
name: foo
state: present
# Install the packages "foo" and "bar" # Install the packages "foo" and "bar"
- apk: name=foo,bar state=present - apk:
name: foo,bar
state: present
# Update repositories and update package "foo" to latest version # Update repositories and update package "foo" to latest version
- apk: name=foo state=latest update_cache=yes - apk:
name: foo
state: latest
update_cache: yes
# Update repositories and update packages "foo" and "bar" to latest versions # Update repositories and update packages "foo" and "bar" to latest versions
- apk: name=foo,bar state=latest update_cache=yes - apk:
name: foo,bar
state: latest
update_cache: yes
# Update all installed packages to the latest versions # Update all installed packages to the latest versions
- apk: upgrade=yes - apk:
upgrade: yes
# Update repositories as a separate step # Update repositories as a separate step
- apk: update_cache=yes - apk:
update_cache: yes
''' '''
import os import os

View file

@ -101,26 +101,40 @@ author:
EXAMPLES = ''' EXAMPLES = '''
- name: install the latest version of Apache - name: install the latest version of Apache
dnf: name=httpd state=latest dnf:
name: httpd
state: latest
- name: remove the Apache package - name: remove the Apache package
dnf: name=httpd state=absent dnf:
name: httpd
state: absent
- name: install the latest version of Apache from the testing repo - name: install the latest version of Apache from the testing repo
dnf: name=httpd enablerepo=testing state=present dnf:
name: httpd
enablerepo: testing
state: present
- name: upgrade all packages - name: upgrade all packages
dnf: name=* state=latest dnf:
name: *
state: latest
- name: install the nginx rpm from a remote repo - name: install the nginx rpm from a remote repo
dnf: name=http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm state=present dnf:
name: 'http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm'
state: present
- name: install nginx rpm from a local file - name: install nginx rpm from a local file
dnf: name=/usr/local/src/nginx-release-centos-6-0.el6.ngx.noarch.rpm state=present dnf:
name: /usr/local/src/nginx-release-centos-6-0.el6.ngx.noarch.rpm
state: present
- name: install the 'Development tools' package group - name: install the 'Development tools' package group
dnf: name="@Development tools" state=present dnf:
name: '@Development tools'
state: present
''' '''
import os import os

View file

@ -76,26 +76,54 @@ notes: []
''' '''
EXAMPLES = ''' EXAMPLES = '''
# Install formula foo with 'brew' in default path (C(/usr/local/bin)) # Install formula foo with 'brew' in default path (C(/usr/local/bin))
- homebrew: name=foo state=present - homebrew:
name: foo
state: present
# Install formula foo with 'brew' in alternate path C(/my/other/location/bin) # Install formula foo with 'brew' in alternate path C(/my/other/location/bin)
- homebrew: name=foo path=/my/other/location/bin state=present - homebrew:
name: foo
path: /my/other/location/bin
state: present
# Update homebrew first and install formula foo with 'brew' in default path # Update homebrew first and install formula foo with 'brew' in default path
- homebrew: name=foo state=present update_homebrew=yes - homebrew:
name: foo
state: present
update_homebrew: yes
# Update homebrew first and upgrade formula foo to latest available with 'brew' in default path # Update homebrew first and upgrade formula foo to latest available with 'brew' in default path
- homebrew: name=foo state=latest update_homebrew=yes - homebrew:
name: foo
state: latest
update_homebrew: yes
# Update homebrew and upgrade all packages # Update homebrew and upgrade all packages
- homebrew: update_homebrew=yes upgrade_all=yes - homebrew:
update_homebrew: yes
upgrade_all: yes
# Miscellaneous other examples # Miscellaneous other examples
- homebrew: name=foo state=head - homebrew:
- homebrew: name=foo state=linked name: foo
- homebrew: name=foo state=absent state: head
- homebrew: name=foo,bar state=absent
- homebrew: name=foo state=present install_options=with-baz,enable-debug - homebrew:
name: foo
state: linked
- homebrew:
name: foo
state: absent
- homebrew:
name: foo,bar
state: absent
- homebrew:
name: foo
state: present
install_options: with-baz,enable-debug
''' '''
import os.path import os.path

View file

@ -65,11 +65,28 @@ options:
version_added: "2.2" version_added: "2.2"
''' '''
EXAMPLES = ''' EXAMPLES = '''
- homebrew_cask: name=alfred state=present - homebrew_cask:
- homebrew_cask: name=alfred state=absent name: alfred
- homebrew_cask: name=alfred state=present install_options="appdir=/Applications" state: present
- homebrew_cask: name=alfred state=present install_options="debug,appdir=/Applications"
- homebrew_cask: name=alfred state=absent install_options="force" - homebrew_cask:
name: alfred
state: absent
- homebrew_cask:
name: alfred
state: present
install_options: 'appdir=/Applications'
- homebrew_cask:
name: alfred
state: present
install_options: 'debug,appdir=/Applications'
- homebrew_cask:
name: alfred
state: absent
install_options: force
''' '''
import os.path import os.path

View file

@ -59,10 +59,20 @@ requirements: [ homebrew ]
''' '''
EXAMPLES = ''' EXAMPLES = '''
homebrew_tap: name=homebrew/dupes - homebrew_tap:
homebrew_tap: name=homebrew/dupes state=absent name: homebrew/dupes
homebrew_tap: name=homebrew/dupes,homebrew/science state=present
homebrew_tap: name=telemachus/brew url=https://bitbucket.org/telemachus/brew - homebrew_tap:
name: homebrew/dupes
state: absent
- homebrew_tap:
name: homebrew/dupes,homebrew/science
state: present
- homebrew_tap:
name: telemachus/brew
url: 'https://bitbucket.org/telemachus/brew'
''' '''

View file

@ -64,19 +64,29 @@ options:
EXAMPLES = ''' EXAMPLES = '''
# Install the overlay 'mozilla' which is on the central overlays list. # Install the overlay 'mozilla' which is on the central overlays list.
- layman: name=mozilla - layman:
name: mozilla
# Install the overlay 'cvut' from the specified alternative list. # Install the overlay 'cvut' from the specified alternative list.
- layman: name=cvut list_url=http://raw.github.com/cvut/gentoo-overlay/master/overlay.xml - layman:
name: cvut
list_url: 'http://raw.github.com/cvut/gentoo-overlay/master/overlay.xml'
# Update (sync) the overlay 'cvut', or install if not installed yet. # Update (sync) the overlay 'cvut', or install if not installed yet.
- layman: name=cvut list_url=http://raw.github.com/cvut/gentoo-overlay/master/overlay.xml state=updated - layman:
name: cvut
list_url: 'http://raw.github.com/cvut/gentoo-overlay/master/overlay.xml'
state: updated
# Update (sync) all of the installed overlays. # Update (sync) all of the installed overlays.
- layman: name=ALL state=updated - layman:
name: ALL
state: updated
# Uninstall the overlay 'cvut'. # Uninstall the overlay 'cvut'.
- layman: name=cvut state=absent - layman:
name: cvut
state: absent
''' '''
USERAGENT = 'ansible-httpget' USERAGENT = 'ansible-httpget'

View file

@ -46,11 +46,26 @@ options:
notes: [] notes: []
''' '''
EXAMPLES = ''' EXAMPLES = '''
- macports: name=foo state=present - macports:
- macports: name=foo state=present update_cache=yes name: foo
- macports: name=foo state=absent state: present
- macports: name=foo state=active
- macports: name=foo state=inactive - macports:
name: foo
state: present
update_cache: yes
- macports:
name: foo
state: absent
- macports:
name: foo
state: active
- macports:
name: foo
state: inactive
''' '''
import pipes import pipes

View file

@ -68,28 +68,45 @@ options:
EXAMPLES = ''' EXAMPLES = '''
# Make sure nmap is installed # Make sure nmap is installed
- openbsd_pkg: name=nmap state=present - openbsd_pkg:
name: nmap
state: present
# Make sure nmap is the latest version # Make sure nmap is the latest version
- openbsd_pkg: name=nmap state=latest - openbsd_pkg:
name: nmap
state: latest
# Make sure nmap is not installed # Make sure nmap is not installed
- openbsd_pkg: name=nmap state=absent - openbsd_pkg:
name: nmap
state: absent
# Make sure nmap is installed, build it from source if it is not # Make sure nmap is installed, build it from source if it is not
- openbsd_pkg: name=nmap state=present build=yes - openbsd_pkg:
name: nmap
state: present
build: yes
# Specify a pkg flavour with '--' # Specify a pkg flavour with '--'
- openbsd_pkg: name=vim--no_x11 state=present - openbsd_pkg:
name: vim--no_x11
state: present
# Specify the default flavour to avoid ambiguity errors # Specify the default flavour to avoid ambiguity errors
- openbsd_pkg: name=vim-- state=present - openbsd_pkg:
name: vim--
state: present
# Specify a package branch (requires at least OpenBSD 6.0) # Specify a package branch (requires at least OpenBSD 6.0)
- openbsd_pkg: name=python%3.5 state=present - openbsd_pkg:
name: python%3.5
state: present
# Update all packages on the system # Update all packages on the system
- openbsd_pkg: name=* state=latest - openbsd_pkg:
name: *
state: latest
''' '''
# Function used for executing commands. # Function used for executing commands.

View file

@ -52,11 +52,27 @@ options:
notes: [] notes: []
''' '''
EXAMPLES = ''' EXAMPLES = '''
- opkg: name=foo state=present - opkg:
- opkg: name=foo state=present update_cache=yes name: foo
- opkg: name=foo state=absent state: present
- opkg: name=foo,bar state=absent
- opkg: name=foo state=present force=overwrite - opkg:
name: foo
state: present
update_cache: yes
- opkg:
name: foo
state: absent
- opkg:
name: foo,bar
state: absent
- opkg:
name: foo
state: present
force: overwrite
''' '''
import pipes import pipes

View file

@ -89,28 +89,45 @@ options:
EXAMPLES = ''' EXAMPLES = '''
# Install package foo # Install package foo
- pacman: name=foo state=present - pacman:
name: foo
state: present
# Upgrade package foo # Upgrade package foo
- pacman: name=foo state=latest update_cache=yes - pacman:
name: foo
state: latest
update_cache: yes
# Remove packages foo and bar # Remove packages foo and bar
- pacman: name=foo,bar state=absent - pacman:
name: foo,bar
state: absent
# Recursively remove package baz # Recursively remove package baz
- pacman: name=baz state=absent recurse=yes - pacman:
name: baz
state: absent
recurse: yes
# Run the equivalent of "pacman -Sy" as a separate step # Run the equivalent of "pacman -Sy" as a separate step
- pacman: update_cache=yes - pacman:
update_cache: yes
# Run the equivalent of "pacman -Su" as a separate step # Run the equivalent of "pacman -Su" as a separate step
- pacman: upgrade=yes - pacman:
upgrade: yes
# Run the equivalent of "pacman -Syu" as a separate step # Run the equivalent of "pacman -Syu" as a separate step
- pacman: update_cache=yes upgrade=yes - pacman:
update_cache: yes
upgrade: yes
# Run the equivalent of "pacman -Rdd", force remove package baz # Run the equivalent of "pacman -Rdd", force remove package baz
- pacman: name=baz state=absent force=yes - pacman:
name: baz
state: absent
force: yes
''' '''
import shlex import shlex

View file

@ -48,10 +48,13 @@ options:
''' '''
EXAMPLES = ''' EXAMPLES = '''
# Install Vim: # Install Vim:
- pkg5: name=editor/vim - pkg5:
name: editor/vim
# Remove finger daemon: # Remove finger daemon:
- pkg5: name=service/network/finger state=absent - pkg5:
name: service/network/finger
state: absent
# Install several packages at once: # Install several packages at once:
- pkg5: - pkg5:

View file

@ -65,10 +65,15 @@ options:
''' '''
EXAMPLES = ''' EXAMPLES = '''
# Fetch packages for the solaris publisher direct from Oracle: # Fetch packages for the solaris publisher direct from Oracle:
- pkg5_publisher: name=solaris sticky=true origin=https://pkg.oracle.com/solaris/support/ - pkg5_publisher:
name: solaris
sticky: true
origin: https://pkg.oracle.com/solaris/support/
# Configure a publisher for locally-produced packages: # Configure a publisher for locally-produced packages:
- pkg5_publisher: name=site origin=https://pkg.example.com/site/ - pkg5_publisher:
name: site
origin: 'https://pkg.example.com/site/'
''' '''
def main(): def main():

View file

@ -91,31 +91,45 @@ options:
EXAMPLES = ''' EXAMPLES = '''
# install package foo # install package foo
- pkgin: name=foo state=present - pkgin:
name: foo
state: present
# Update database and install "foo" package # Update database and install "foo" package
- pkgin: name=foo update_cache=yes - pkgin:
name: foo
update_cache: yes
# remove package foo # remove package foo
- pkgin: name=foo state=absent - pkgin:
name: foo
state: absent
# remove packages foo and bar # remove packages foo and bar
- pkgin: name=foo,bar state=absent - pkgin:
name: foo,bar
state: absent
# Update repositories as a separate step # Update repositories as a separate step
- pkgin: update_cache=yes - pkgin:
update_cache: yes
# Upgrade main packages (equivalent to C(pkgin upgrade)) # Upgrade main packages (equivalent to C(pkgin upgrade))
- pkgin: upgrade=yes - pkgin:
upgrade: yes
# Upgrade all packages (equivalent to C(pkgin full-upgrade)) # Upgrade all packages (equivalent to C(pkgin full-upgrade))
- pkgin: full_upgrade=yes - pkgin:
full_upgrade: yes
# Force-upgrade all packages (equivalent to C(pkgin -F full-upgrade)) # Force-upgrade all packages (equivalent to C(pkgin -F full-upgrade))
- pkgin: full_upgrade=yes force=yes - pkgin:
full_upgrade: yes
force: yes
# clean packages cache (equivalent to C(pkgin clean)) # clean packages cache (equivalent to C(pkgin clean))
- pkgin: clean=yes - pkgin:
clean: yes
''' '''

View file

@ -89,13 +89,19 @@ notes:
EXAMPLES = ''' EXAMPLES = '''
# Install package foo # Install package foo
- pkgng: name=foo state=present - pkgng:
name: foo
state: present
# Annotate package foo and bar # Annotate package foo and bar
- pkgng: name=foo,bar annotation=+test1=baz,-test2,:test3=foobar - pkgng:
name: foo,bar
annotation: '+test1=baz,-test2,:test3=foobar'
# Remove packages foo and bar # Remove packages foo and bar
- pkgng: name=foo,bar state=absent - pkgng:
name: foo,bar
state: absent
''' '''

View file

@ -60,10 +60,15 @@ options:
EXAMPLES = ''' EXAMPLES = '''
# Install a package # Install a package
pkgutil: name=CSWcommon state=present - pkgutil:
name: CSWcommon
state: present
# Install a package from a specific repository # Install a package from a specific repository
pkgutil: name=CSWnrpe site='ftp://myinternal.repo/opencsw/kiel state=latest' - pkgutil:
name: CSWnrpe
site: 'ftp://myinternal.repo/opencsw/kiel'
state: latest
''' '''
import os import os

View file

@ -183,28 +183,46 @@ notes: []
EXAMPLES = ''' EXAMPLES = '''
# Make sure package foo is installed # Make sure package foo is installed
- portage: package=foo state=present - portage:
package: foo
state: present
# Make sure package foo is not installed # Make sure package foo is not installed
- portage: package=foo state=absent - portage:
package: foo
state: absent
# Update package foo to the "best" version # Update package foo to the "best" version
- portage: package=foo update=yes - portage:
package: foo
update: yes
# Install package foo using PORTAGE_BINHOST setup # Install package foo using PORTAGE_BINHOST setup
- portage: package=foo getbinpkg=yes - portage:
package: foo
getbinpkg: yes
# Re-install world from binary packages only and do not allow any compiling # Re-install world from binary packages only and do not allow any compiling
- portage: package=@world usepkgonly=yes - portage:
package: @world
usepkgonly: yes
# Sync repositories and update world # Sync repositories and update world
- portage: package=@world update=yes deep=yes sync=yes - portage:
package: @world
update: yes
deep: yes
sync: yes
# Remove unneeded packages # Remove unneeded packages
- portage: depclean=yes - portage:
depclean: yes
# Remove package foo if it is not explicitly needed # Remove package foo if it is not explicitly needed
- portage: package=foo state=absent depclean=yes - portage:
package: foo
state: absent
depclean: yes
''' '''

View file

@ -48,13 +48,19 @@ author: "berenddeboer (@berenddeboer)"
EXAMPLES = ''' EXAMPLES = '''
# Install package foo # Install package foo
- portinstall: name=foo state=present - portinstall:
name: foo
state: present
# Install package security/cyrus-sasl2-saslauthd # Install package security/cyrus-sasl2-saslauthd
- portinstall: name=security/cyrus-sasl2-saslauthd state=present - portinstall:
name: security/cyrus-sasl2-saslauthd
state: present
# Remove packages foo and bar # Remove packages foo and bar
- portinstall: name=foo,bar state=absent - portinstall:
name: foo,bar
state: absent
''' '''

View file

@ -56,14 +56,19 @@ requirements: [ "Slackware" >= 12.2 ]
EXAMPLES = ''' EXAMPLES = '''
# Install package foo # Install package foo
- slackpkg: name=foo state=present - slackpkg:
name: foo
state: present
# Remove packages foo and bar # Remove packages foo and bar
- slackpkg: name=foo,bar state=absent - slackpkg:
name: foo,bar
state: absent
# Make sure that it is the most updated package # Make sure that it is the most updated package
- slackpkg: name=foo state=latest - slackpkg:
name: foo
state: latest
''' '''

View file

@ -75,19 +75,35 @@ options:
EXAMPLES = ''' EXAMPLES = '''
# Install a package from an already copied file # Install a package from an already copied file
- svr4pkg: name=CSWcommon src=/tmp/cswpkgs.pkg state=present - svr4pkg:
name: CSWcommon
src: /tmp/cswpkgs.pkg
state: present
# Install a package directly from an http site # Install a package directly from an http site
- svr4pkg: name=CSWpkgutil src=http://get.opencsw.org/now state=present zone=current - svr4pkg:
name: CSWpkgutil
src: 'http://get.opencsw.org/now'
state: present
zone: current
# Install a package with a response file # Install a package with a response file
- svr4pkg: name=CSWggrep src=/tmp/third-party.pkg response_file=/tmp/ggrep.response state=present - svr4pkg:
name: CSWggrep
src: /tmp/third-party.pkg
response_file: /tmp/ggrep.response
state: present
# Ensure that a package is not installed. # Ensure that a package is not installed.
- svr4pkg: name=SUNWgnome-sound-recorder state=absent - svr4pkg:
name: SUNWgnome-sound-recorder
state: absent
# Ensure that a category is not installed. # Ensure that a category is not installed.
- svr4pkg: name=FIREFOX state=absent category=true - svr4pkg:
name: FIREFOX
state: absent
category: true
''' '''

View file

@ -58,9 +58,19 @@ options:
''' '''
EXAMPLES = ''' EXAMPLES = '''
- swdepot: name=unzip-6.0 state=installed depot=repository:/path - swdepot:
- swdepot: name=unzip state=latest depot=repository:/path name: unzip-6.0
- swdepot: name=unzip state=absent state: installed
depot: 'repository:/path'
- swdepot:
name: unzip
state: latest
depot: 'repository:/path'
- swdepot:
name: unzip
state: absent
''' '''
def compare_package(version1, version2): def compare_package(version1, version2):

View file

@ -63,13 +63,25 @@ notes: []
EXAMPLES = ''' EXAMPLES = '''
# install package foo # install package foo
- urpmi: pkg=foo state=present - urpmi:
pkg: foo
state: present
# remove package foo # remove package foo
- urpmi: pkg=foo state=absent - urpmi:
pkg: foo
state: absent
# description: remove packages foo and bar # description: remove packages foo and bar
- urpmi: pkg=foo,bar state=absent - urpmi:
pkg: foo,bar
state: absent
# description: update the package database (urpmi.update -a -q) and install bar (bar will be the updated if a newer version exists) # description: update the package database (urpmi.update -a -q) and install bar (bar will be the updated if a newer version exists)
- urpmi: name=bar, state=present, update_cache=yes - urpmi:
name: bar
state: present
update_cache: yes
''' '''

View file

@ -410,6 +410,7 @@ EXAMPLES = '''
file: external_repos file: external_repos
baseurl: http://download.fedoraproject.org/pub/epel/$releasever/$basearch/ baseurl: http://download.fedoraproject.org/pub/epel/$releasever/$basearch/
gpgcheck: no gpgcheck: no
- name: Add multiple repositories into the same file (2/2) - name: Add multiple repositories into the same file (2/2)
yum_repository: yum_repository:
name: rpmforge name: rpmforge

View file

@ -113,34 +113,58 @@ requirements:
EXAMPLES = ''' EXAMPLES = '''
# Install "nmap" # Install "nmap"
- zypper: name=nmap state=present - zypper:
name: nmap
state: present
# Install apache2 with recommended packages # Install apache2 with recommended packages
- zypper: name=apache2 state=present disable_recommends=no - zypper:
name: apache2
state: present
disable_recommends: no
# Apply a given patch # Apply a given patch
- zypper: name=openSUSE-2016-128 state=present type=patch - zypper:
name: openSUSE-2016-128
state: present
type: patch
# Remove the "nmap" package # Remove the "nmap" package
- zypper: name=nmap state=absent - zypper:
name: nmap
state: absent
# Install the nginx rpm from a remote repo # Install the nginx rpm from a remote repo
- zypper: name=http://nginx.org/packages/sles/12/x86_64/RPMS/nginx-1.8.0-1.sles12.ngx.x86_64.rpm state=present - zypper:
name: 'http://nginx.org/packages/sles/12/x86_64/RPMS/nginx-1.8.0-1.sles12.ngx.x86_64.rpm'
state: present
# Install local rpm file # Install local rpm file
- zypper: name=/tmp/fancy-software.rpm state=present - zypper:
name: /tmp/fancy-software.rpm
state: present
# Update all packages # Update all packages
- zypper: name=* state=latest - zypper:
name: *
state: latest
# Apply all available patches # Apply all available patches
- zypper: name=* state=latest type=patch - zypper:
name: *
state: latest
type: patch
# Refresh repositories and update package "openssl" # Refresh repositories and update package "openssl"
- zypper: name=openssl state=present update_cache=yes - zypper:
name: openssl
state: present
update_cache: yes
# Install specific version (possible comparisons: <, >, <=, >=, =) # Install specific version (possible comparisons: <, >, <=, >=, =)
- zypper: name=docker>=1.10 state=installed - zypper:
name: 'docker>=1.10'
state: installed
''' '''

View file

@ -114,22 +114,37 @@ requirements:
EXAMPLES = ''' EXAMPLES = '''
# Add NVIDIA repository for graphics drivers # Add NVIDIA repository for graphics drivers
- zypper_repository: name=nvidia-repo repo='ftp://download.nvidia.com/opensuse/12.2' state=present - zypper_repository:
name: nvidia-repo
repo: 'ftp://download.nvidia.com/opensuse/12.2'
state: present
# Remove NVIDIA repository # Remove NVIDIA repository
- zypper_repository: name=nvidia-repo repo='ftp://download.nvidia.com/opensuse/12.2' state=absent - zypper_repository:
name: nvidia-repo
repo: 'ftp://download.nvidia.com/opensuse/12.2'
state: absent
# Add python development repository # Add python development repository
- zypper_repository: repo=http://download.opensuse.org/repositories/devel:/languages:/python/SLE_11_SP3/devel:languages:python.repo - zypper_repository:
repo: 'http://download.opensuse.org/repositories/devel:/languages:/python/SLE_11_SP3/devel:languages:python.repo'
# Refresh all repos # Refresh all repos
- zypper_repository: repo=* runrefresh=yes - zypper_repository:
repo: *
runrefresh: yes
# Add a repo and add it's gpg key # Add a repo and add it's gpg key
- zypper_repository: repo=http://download.opensuse.org/repositories/systemsmanagement/openSUSE_Leap_42.1/ auto_import_keys=yes - zypper_repository:
repo: 'http://download.opensuse.org/repositories/systemsmanagement/openSUSE_Leap_42.1/'
auto_import_keys: yes
# Force refresh of a repository # Force refresh of a repository
- zypper_repository: repo=http://my_internal_ci_repo/repo name=my_ci_repo state=present runrefresh=yes - zypper_repository:
repo: 'http://my_internal_ci_repo/repo
name: my_ci_repo
state: present
runrefresh: yes
''' '''
REPO_OPTS = ['alias', 'name', 'priority', 'enabled', 'autorefresh', 'gpgcheck'] REPO_OPTS = ['alias', 'name', 'priority', 'enabled', 'autorefresh', 'gpgcheck']