2016-08-12 19:21:08 +00:00
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2016, Ansible, a Red Hat company
Remove wildcard imports
Made the following changes:
* Removed wildcard imports
* Replaced long form of GPL header with short form
* Removed get_exception usage
* Added from __future__ boilerplate
* Adjust division operator to // where necessary
For the following files:
* web_infrastructure modules
* system modules
* linode, lxc, lxd, atomic, cloudscale, dimensiondata, ovh, packet,
profitbricks, pubnub, smartos, softlayer, univention modules
* compat dirs (disabled as its used intentionally)
2017-07-28 05:55:24 +00:00
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import , division , print_function
__metaclass__ = type
2016-08-12 19:21:08 +00:00
2017-08-16 03:16:38 +00:00
ANSIBLE_METADATA = { ' metadata_version ' : ' 1.1 ' ,
2017-03-14 16:07:22 +00:00
' status ' : [ ' preview ' ] ,
' supported_by ' : ' core ' }
2016-12-06 10:35:05 +00:00
2016-08-12 19:21:08 +00:00
DOCUMENTATION = '''
module : meta
short_description : Execute Ansible ' actions '
version_added : " 1.2 "
description :
- Meta tasks are a special kind of task which can influence Ansible internal execution or state . Prior to Ansible 2.0 ,
the only meta option available was ` flush_handlers ` . As of 2.2 , there are five meta tasks which can be used .
Meta tasks can be used anywhere within your playbook .
2017-06-26 15:26:53 +00:00
- This module is also supported for Windows targets .
2016-08-12 19:21:08 +00:00
options :
free_form :
description :
- This module takes a free form command , as a string . There ' s not an actual option named " free form " . See the examples!
2017-03-23 01:50:28 +00:00
- >
C ( flush_handlers ) makes Ansible run any handler tasks which have thus far been notified . Ansible inserts these tasks internally at certain
points to implicitly trigger handler runs ( after pre / post tasks , the final role execution , and the main tasks section of your plays ) .
- >
C ( refresh_inventory ) ( added in 2.0 ) forces the reload of the inventory , which in the case of dynamic inventory scripts means they will be
2018-04-05 17:49:51 +00:00
re - executed . If the dynamic inventory script is using a cache , Ansible cannot know this and has no way of refreshing it ( you can disable the cache
or , if available for your specific inventory datasource ( for es . : aws ) , you can use the an inventory plugin instead of an inventory script ) .
This is mainly useful when additional hosts are created and users wish to use them instead of using the ` add_host ` module . "
2016-08-12 19:21:08 +00:00
- " C(noop) (added in 2.0) This literally does ' nothing ' . It is mainly used internally and not recommended for general use. "
- " C(clear_facts) (added in 2.1) causes the gathered facts for the hosts specified in the play ' s list of hosts to be cleared, including the fact cache. "
- " C(clear_host_errors) (added in 2.1) clears the failed state (if any) from hosts specified in the play ' s list of hosts. "
2018-05-17 03:53:46 +00:00
- " C(end_play) (added in 2.2) causes the play to end without failing the host(s). Note that this affects all hosts. "
2017-02-15 21:02:54 +00:00
- " C(reset_connection) (added in 2.3) interrupts a persistent connection (i.e. ssh + control persist) "
2018-08-16 19:15:20 +00:00
choices : [ ' flush_handlers ' , ' refresh_inventory ' , ' noop ' , ' clear_facts ' , ' clear_host_errors ' , ' end_play ' , ' reset_connection ' ]
2016-08-12 19:21:08 +00:00
required : true
notes :
2017-06-26 15:26:53 +00:00
- C ( meta ) is not really a module nor action_plugin as such it cannot be overwritten .
- This module is also supported for Windows targets .
2016-08-12 19:21:08 +00:00
author :
- " Ansible Core Team "
'''
EXAMPLES = '''
2016-11-22 16:07:21 +00:00
- template :
src : new . j2
dest : / etc / config . txt
2016-08-12 19:21:08 +00:00
notify : myhandler
2017-02-15 21:02:54 +00:00
- name : force all notified handlers to run at this point , not waiting for normal sync points
meta : flush_handlers
2016-08-12 19:21:08 +00:00
2017-02-15 21:02:54 +00:00
- name : reload inventory , useful with dynamic inventories when play makes changes to the existing hosts
cloud_guest : # this is fake module
2016-11-22 16:07:21 +00:00
name : newhost
state : present
- name : Refresh inventory to ensure new instaces exist in inventory
meta : refresh_inventory
- name : Clear gathered facts from all currently targeted hosts
meta : clear_facts
2016-08-12 19:21:08 +00:00
2017-02-15 21:02:54 +00:00
- name : bring host back to play after failure
copy :
2016-11-22 16:07:21 +00:00
src : file
dest : / etc / file
2016-08-12 19:21:08 +00:00
remote_user : imightnothavepermission
2016-11-22 16:07:21 +00:00
2016-08-12 19:21:08 +00:00
- meta : clear_host_errors
2017-02-15 21:02:54 +00:00
- user : name = { { ansible_user } } groups = input
- name : reset ssh connection to allow user changes to affect ' current login user '
meta : reset_connection
2016-08-12 19:21:08 +00:00
'''