mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 12:50:22 -07:00
utilities: Clean up parameter types and add seealso (#53063)
* utilities: Clean up parameter types and add seealso * Add inventory modules * Add more references, clarify with-loops
This commit is contained in:
parent
77a03af394
commit
f47191674e
21 changed files with 468 additions and 321 deletions
|
@ -1,81 +1,83 @@
|
|||
# -*- mode: python -*-
|
||||
#
|
||||
|
||||
# Copyright: (c) 2012, Seth Vidal (@skvidal)
|
||||
# Copyright: Ansible Team
|
||||
# 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
|
||||
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ['stableinterface'],
|
||||
'supported_by': 'core'}
|
||||
|
||||
|
||||
DOCUMENTATION = r'''
|
||||
---
|
||||
module: add_host
|
||||
short_description: add a host (and alternatively a group) to the ansible-playbook in-memory inventory
|
||||
short_description: Add a host (and alternatively a group) to the ansible-playbook in-memory inventory
|
||||
description:
|
||||
- Use variables to create new hosts and groups in inventory for use in later plays of the same playbook.
|
||||
Takes variables so you can define the new hosts more fully.
|
||||
- This module is also supported for Windows targets.
|
||||
- Use variables to create new hosts and groups in inventory for use in later plays of the same playbook.
|
||||
- Takes variables so you can define the new hosts more fully.
|
||||
- This module is also supported for Windows targets.
|
||||
version_added: "0.9"
|
||||
options:
|
||||
name:
|
||||
aliases: [ 'hostname', 'host' ]
|
||||
description:
|
||||
- The hostname/ip of the host to add to the inventory, can include a colon and a port number.
|
||||
type: str
|
||||
required: true
|
||||
aliases: [ host, hostname ]
|
||||
groups:
|
||||
aliases: [ 'groupname', 'group' ]
|
||||
description:
|
||||
- The groups to add the hostname to, comma separated.
|
||||
required: false
|
||||
- The groups to add the hostname to.
|
||||
type: list
|
||||
aliases: [ group, groupname ]
|
||||
notes:
|
||||
- This module bypasses the play host loop and only runs once for all the hosts in the play, if you need it
|
||||
to iterate use a with\_ directive.
|
||||
- Windows targets are supported by this module.
|
||||
- The alias 'host' of the parameter 'name' is only available on >=2.4
|
||||
- Since Ansible version 2.4, the ``inventory_dir`` variable is now set to ``None`` instead of the 'global inventory source',
|
||||
because you can now have multiple sources. An example was added that shows how to partially restore the previous behaviour.
|
||||
- This module bypasses the play host loop and only runs once for all the hosts in the play, if you need it
|
||||
to iterate use a with-loop construct.
|
||||
- The alias C(host) of the parameter C(name) is only available on Ansible 2.4 and newer.
|
||||
- Since Ansible 2.4, the C(inventory_dir) variable is now set to C(None) instead of the 'global inventory source',
|
||||
because you can now have multiple sources. An example was added that shows how to partially restore the previous behaviour.
|
||||
- Windows targets are supported by this module.
|
||||
seealso:
|
||||
- module: group_by
|
||||
author:
|
||||
- "Ansible Core Team"
|
||||
- "Seth Vidal (@skvidal)"
|
||||
- Ansible Core Team
|
||||
- Seth Vidal (@skvidal)
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
- name: add host to group 'just_created' with variable foo=42
|
||||
EXAMPLES = r'''
|
||||
- name: Add host to group 'just_created' with variable foo=42
|
||||
add_host:
|
||||
name: "{{ ip_from_ec2 }}"
|
||||
name: '{{ ip_from_ec2 }}'
|
||||
groups: just_created
|
||||
foo: 42
|
||||
|
||||
- name: add host to multiple groups
|
||||
- name: Add host to multiple groups
|
||||
add_host:
|
||||
hostname: "{{ new_ip }}"
|
||||
hostname: '{{ new_ip }}'
|
||||
groups:
|
||||
- group1
|
||||
- group2
|
||||
- group1
|
||||
- group2
|
||||
|
||||
- name: add a host with a non-standard port local to your machines
|
||||
- name: Add a host with a non-standard port local to your machines
|
||||
add_host:
|
||||
name: "{{ new_ip }}:{{ new_port }}"
|
||||
name: '{{ new_ip }}:{{ new_port }}'
|
||||
|
||||
- name: add a host alias that we reach through a tunnel (Ansible <= 1.9)
|
||||
- name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)
|
||||
add_host:
|
||||
hostname: "{{ new_ip }}"
|
||||
ansible_ssh_host: "{{ inventory_hostname }}"
|
||||
ansible_ssh_port: "{{ new_port }}"
|
||||
hostname: '{{ new_ip }}'
|
||||
ansible_ssh_host: '{{ inventory_hostname }}'
|
||||
ansible_ssh_port: '{{ new_port }}'
|
||||
|
||||
- name: add a host alias that we reach through a tunnel (Ansible >= 2.0)
|
||||
- name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)
|
||||
add_host:
|
||||
hostname: "{{ new_ip }}"
|
||||
ansible_host: "{{ inventory_hostname }}"
|
||||
ansible_port: "{{ new_port }}"
|
||||
hostname: '{{ new_ip }}'
|
||||
ansible_host: '{{ inventory_hostname }}'
|
||||
ansible_port: '{{ new_port }}'
|
||||
|
||||
- name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre 2.4 behaviour)
|
||||
- name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)
|
||||
add_host:
|
||||
hostname: charlie
|
||||
inventory_dir: "{{inventory_dir}}"
|
||||
inventory_dir: '{{ inventory_dir }}'
|
||||
'''
|
||||
|
|
|
@ -1,43 +1,46 @@
|
|||
# -*- mode: python -*-
|
||||
#
|
||||
|
||||
# Copyright: (c) 2012, Jeroen Hoekx (@jhoekx)
|
||||
# Copyright: Ansible Team
|
||||
# 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
|
||||
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ['stableinterface'],
|
||||
'supported_by': 'core'}
|
||||
|
||||
|
||||
DOCUMENTATION = '''
|
||||
DOCUMENTATION = r'''
|
||||
---
|
||||
module: group_by
|
||||
short_description: Create Ansible groups based on facts
|
||||
description:
|
||||
- Use facts to create ad-hoc groups that can be used later in a playbook.
|
||||
- This module is also supported for Windows targets.
|
||||
- Use facts to create ad-hoc groups that can be used later in a playbook.
|
||||
- This module is also supported for Windows targets.
|
||||
version_added: "0.9"
|
||||
options:
|
||||
key:
|
||||
description:
|
||||
- The variables whose values will be used as groups
|
||||
- The variables whose values will be used as groups.
|
||||
type: str
|
||||
required: true
|
||||
parents:
|
||||
description:
|
||||
- The list of the parent groups
|
||||
required: false
|
||||
default: "all"
|
||||
- The list of the parent groups.
|
||||
type: list
|
||||
default: all
|
||||
version_added: "2.4"
|
||||
author: "Jeroen Hoekx (@jhoekx)"
|
||||
notes:
|
||||
- Spaces in group names are converted to dashes '-'.
|
||||
- This module is also supported for Windows targets.
|
||||
- Spaces in group names are converted to dashes '-'.
|
||||
- This module is also supported for Windows targets.
|
||||
seealso:
|
||||
- module: add_host
|
||||
author:
|
||||
- Jeroen Hoekx (@jhoekx)
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r'''
|
||||
# Create groups based on the machine architecture
|
||||
- group_by:
|
||||
key: machine_{{ ansible_machine }}
|
||||
|
@ -51,5 +54,4 @@ EXAMPLES = '''
|
|||
key: el{{ ansible_distribution_major_version }}-{{ ansible_architecture }}
|
||||
parents:
|
||||
- el{{ ansible_distribution_major_version }}
|
||||
|
||||
'''
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue