mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-04-30 10:26:52 +00:00
Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
15ad2448f1 | ||
|
|
ff2b016c66 | ||
|
|
44e522d311 | ||
|
|
b94800036b | ||
|
|
d119905bd5 | ||
|
|
2754d86ac5 | ||
|
|
03ba48cf78 | ||
|
|
147fbe602c | ||
|
|
ec2efb26d0 | ||
|
|
150495a15f | ||
|
|
b2b3c056ca | ||
|
|
557594c392 | ||
|
|
b6a6edd403 | ||
|
|
e42770d4bf | ||
|
|
1b78f18bf4 | ||
|
|
ec11d13825 | ||
|
|
eb066335f8 | ||
|
|
cb26897b3e | ||
|
|
b7b5c1852e | ||
|
|
97dce1f621 | ||
|
|
0618af9b1e |
@@ -24,13 +24,13 @@ schedules:
|
||||
always: true
|
||||
branches:
|
||||
include:
|
||||
- stable-4
|
||||
- stable-5
|
||||
- cron: 0 11 * * 0
|
||||
displayName: Weekly (old stable branches)
|
||||
always: true
|
||||
branches:
|
||||
include:
|
||||
- stable-3
|
||||
- stable-4
|
||||
|
||||
variables:
|
||||
- name: checkoutPath
|
||||
|
||||
@@ -6,6 +6,40 @@ Community General Release Notes
|
||||
|
||||
This changelog describes changes after version 3.0.0.
|
||||
|
||||
v4.8.9
|
||||
======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
Bugfix release.
|
||||
|
||||
Note that from now on, community.general 4.x.y only receives security fixes and major bugfixes, but no longer regular bugfixes.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- ldap_attrs - fix bug which caused a ``Bad search filter`` error. The error was occuring when the ldap attribute value contained special characters such as ``(`` or ``*`` (https://github.com/ansible-collections/community.general/issues/5434, https://github.com/ansible-collections/community.general/pull/5435).
|
||||
- ldap_attrs - fix ordering issue by ignoring the ``{x}`` prefix on attribute values (https://github.com/ansible-collections/community.general/issues/977, https://github.com/ansible-collections/community.general/pull/5385).
|
||||
|
||||
v4.8.8
|
||||
======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
Regular bugfix release.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- archive - avoid crash when ``lzma`` is not present and ``format`` is not ``xz`` (https://github.com/ansible-collections/community.general/pull/5393).
|
||||
- opentelemetry callback plugin - support opentelemetry-api 1.13.0 that removed support for ``_time_ns`` (https://github.com/ansible-collections/community.general/pull/5342).
|
||||
- pfexec become plugin - remove superflous quotes preventing exe wrap from working as expected (https://github.com/ansible-collections/community.general/issues/3671, https://github.com/ansible-collections/community.general/pull/3889).
|
||||
- pkgng - fix case when ``pkg`` fails when trying to upgrade all packages (https://github.com/ansible-collections/community.general/issues/5363).
|
||||
- redhat_subscription - make module idempotent when ``pool_ids`` are used (https://github.com/ansible-collections/community.general/issues/5313).
|
||||
- xenserver_facts - fix broken ``AnsibleModule`` call that prevented the module from working at all (https://github.com/ansible-collections/community.general/pull/5383).
|
||||
|
||||
v4.8.7
|
||||
======
|
||||
|
||||
|
||||
@@ -1955,3 +1955,47 @@ releases:
|
||||
- 5259-gitlab-imports.yaml
|
||||
- 5282-locale_gen.yaml
|
||||
release_date: '2022-10-03'
|
||||
4.8.8:
|
||||
changes:
|
||||
bugfixes:
|
||||
- archive - avoid crash when ``lzma`` is not present and ``format`` is not ``xz``
|
||||
(https://github.com/ansible-collections/community.general/pull/5393).
|
||||
- opentelemetry callback plugin - support opentelemetry-api 1.13.0 that removed
|
||||
support for ``_time_ns`` (https://github.com/ansible-collections/community.general/pull/5342).
|
||||
- pfexec become plugin - remove superflous quotes preventing exe wrap from working
|
||||
as expected (https://github.com/ansible-collections/community.general/issues/3671,
|
||||
https://github.com/ansible-collections/community.general/pull/3889).
|
||||
- pkgng - fix case when ``pkg`` fails when trying to upgrade all packages (https://github.com/ansible-collections/community.general/issues/5363).
|
||||
- redhat_subscription - make module idempotent when ``pool_ids`` are used (https://github.com/ansible-collections/community.general/issues/5313).
|
||||
- xenserver_facts - fix broken ``AnsibleModule`` call that prevented the module
|
||||
from working at all (https://github.com/ansible-collections/community.general/pull/5383).
|
||||
release_summary: Regular bugfix release.
|
||||
fragments:
|
||||
- 3671-illumos-pfexec.yml
|
||||
- 4.8.8.yml
|
||||
- 5313-fix-redhat_subscription-idempotency-pool_ids.yml
|
||||
- 5342-opentelemetry_bug_fix_opentelemetry-api-1.13.yml
|
||||
- 5369-pkgng-fix-update-all.yaml
|
||||
- 5383-xenserver_facts.yml
|
||||
- 5393-archive.yml
|
||||
release_date: '2022-10-24'
|
||||
4.8.9:
|
||||
changes:
|
||||
bugfixes:
|
||||
- ldap_attrs - fix bug which caused a ``Bad search filter`` error. The error
|
||||
was occuring when the ldap attribute value contained special characters such
|
||||
as ``(`` or ``*`` (https://github.com/ansible-collections/community.general/issues/5434,
|
||||
https://github.com/ansible-collections/community.general/pull/5435).
|
||||
- ldap_attrs - fix ordering issue by ignoring the ``{x}`` prefix on attribute
|
||||
values (https://github.com/ansible-collections/community.general/issues/977,
|
||||
https://github.com/ansible-collections/community.general/pull/5385).
|
||||
release_summary: 'Bugfix release.
|
||||
|
||||
|
||||
Note that from now on, community.general 4.x.y only receives security fixes
|
||||
and major bugfixes, but no longer regular bugfixes.'
|
||||
fragments:
|
||||
- 4.8.9.yml
|
||||
- 5385-search_s-based-_is_value_present.yaml
|
||||
- 5435-escape-ldap-param.yml
|
||||
release_date: '2022-11-06'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace: community
|
||||
name: general
|
||||
version: 4.8.7
|
||||
version: 4.8.9
|
||||
readme: README.md
|
||||
authors:
|
||||
- Ansible (https://github.com/ansible)
|
||||
|
||||
@@ -101,4 +101,4 @@ class BecomeModule(BecomeBase):
|
||||
|
||||
flags = self.get_option('become_flags')
|
||||
noexe = not self.get_option('wrap_exe')
|
||||
return '%s %s "%s"' % (exe, flags, self._build_success_command(cmd, shell, noexe=noexe))
|
||||
return '%s %s %s' % (exe, flags, self._build_success_command(cmd, shell, noexe=noexe))
|
||||
|
||||
@@ -94,13 +94,32 @@ try:
|
||||
from opentelemetry.sdk.trace.export import (
|
||||
BatchSpanProcessor
|
||||
)
|
||||
from opentelemetry.util._time import _time_ns
|
||||
|
||||
# Support for opentelemetry-api <= 1.12
|
||||
try:
|
||||
from opentelemetry.util._time import _time_ns
|
||||
except ImportError as imp_exc:
|
||||
OTEL_LIBRARY_TIME_NS_ERROR = imp_exc
|
||||
else:
|
||||
OTEL_LIBRARY_TIME_NS_ERROR = None
|
||||
|
||||
except ImportError as imp_exc:
|
||||
OTEL_LIBRARY_IMPORT_ERROR = imp_exc
|
||||
OTEL_LIBRARY_TIME_NS_ERROR = imp_exc
|
||||
else:
|
||||
OTEL_LIBRARY_IMPORT_ERROR = None
|
||||
|
||||
|
||||
if sys.version_info >= (3, 7):
|
||||
time_ns = time.time_ns
|
||||
elif not OTEL_LIBRARY_TIME_NS_ERROR:
|
||||
time_ns = _time_ns
|
||||
else:
|
||||
def time_ns():
|
||||
# Support versions older than 3.7 with opentelemetry-api > 1.12
|
||||
return int(time.time() * 1e9)
|
||||
|
||||
|
||||
class TaskData:
|
||||
"""
|
||||
Data about an individual task.
|
||||
@@ -112,10 +131,7 @@ class TaskData:
|
||||
self.path = path
|
||||
self.play = play
|
||||
self.host_data = OrderedDict()
|
||||
if sys.version_info >= (3, 7):
|
||||
self.start = time.time_ns()
|
||||
else:
|
||||
self.start = _time_ns()
|
||||
self.start = time_ns()
|
||||
self.action = action
|
||||
self.args = args
|
||||
|
||||
@@ -140,10 +156,7 @@ class HostData:
|
||||
self.name = name
|
||||
self.status = status
|
||||
self.result = result
|
||||
if sys.version_info >= (3, 7):
|
||||
self.finish = time.time_ns()
|
||||
else:
|
||||
self.finish = _time_ns()
|
||||
self.finish = time_ns()
|
||||
|
||||
|
||||
class OpenTelemetrySource(object):
|
||||
|
||||
@@ -42,6 +42,7 @@ options:
|
||||
- The path on which InfluxDB server is accessible
|
||||
- Only available when using python-influxdb >= 5.1.0
|
||||
type: str
|
||||
default: ''
|
||||
version_added: '0.2.0'
|
||||
validate_certs:
|
||||
description:
|
||||
@@ -79,4 +80,5 @@ options:
|
||||
description:
|
||||
- HTTP(S) proxy to use for Requests to connect to InfluxDB server.
|
||||
type: dict
|
||||
default: {}
|
||||
'''
|
||||
|
||||
@@ -22,6 +22,7 @@ options:
|
||||
description:
|
||||
- The password to use with I(bind_dn).
|
||||
type: str
|
||||
default: ''
|
||||
dn:
|
||||
required: true
|
||||
description:
|
||||
|
||||
@@ -16,6 +16,7 @@ options:
|
||||
- Is needed for some modules
|
||||
type: dict
|
||||
required: false
|
||||
default: {}
|
||||
utm_host:
|
||||
description:
|
||||
- The REST Endpoint of the Sophos UTM.
|
||||
|
||||
@@ -51,10 +51,16 @@ DOCUMENTATION = '''
|
||||
type: boolean
|
||||
default: false
|
||||
requirements:
|
||||
- jc (https://github.com/kellyjonbrazil/jc)
|
||||
- jc installed as a Python library (U(https://pypi.org/project/jc/))
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
- name: Install the prereqs of the jc filter (jc Python package) on the Ansible controller
|
||||
delegate_to: localhost
|
||||
ansible.builtin.pip:
|
||||
name: jc
|
||||
state: present
|
||||
|
||||
- name: Run command
|
||||
ansible.builtin.command: uname -a
|
||||
register: result
|
||||
@@ -107,15 +113,19 @@ def jc(data, parser, quiet=True, raw=False):
|
||||
dictionary or list of dictionaries
|
||||
|
||||
Example:
|
||||
|
||||
- name: run date command
|
||||
hosts: ubuntu
|
||||
tasks:
|
||||
- shell: date
|
||||
- name: install the prereqs of the jc filter (jc Python package) on the Ansible controller
|
||||
delegate_to: localhost
|
||||
ansible.builtin.pip:
|
||||
name: jc
|
||||
state: present
|
||||
- ansible.builtin.shell: date
|
||||
register: result
|
||||
- set_fact:
|
||||
- ansible.builtin.set_fact:
|
||||
myvar: "{{ result.stdout | community.general.jc('date') }}"
|
||||
- debug:
|
||||
- ansible.builtin.debug:
|
||||
msg: "{{ myvar }}"
|
||||
|
||||
produces:
|
||||
@@ -137,7 +147,7 @@ def jc(data, parser, quiet=True, raw=False):
|
||||
"""
|
||||
|
||||
if not HAS_LIB:
|
||||
raise AnsibleError('You need to install "jc" prior to running jc filter')
|
||||
raise AnsibleError('You need to install "jc" as a Python library on the Ansible controller prior to running jc filter')
|
||||
|
||||
try:
|
||||
jc_parser = importlib.import_module('jc.parsers.' + parser)
|
||||
|
||||
@@ -60,6 +60,7 @@ options:
|
||||
- The values specified here will be used at installation time as --set arguments for atomic install.
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
||||
@@ -44,6 +44,7 @@ options:
|
||||
description:
|
||||
- A description of the VLAN.
|
||||
type: str
|
||||
default: ''
|
||||
network_domain:
|
||||
description:
|
||||
- The Id or name of the target network domain.
|
||||
@@ -53,11 +54,13 @@ options:
|
||||
description:
|
||||
- The base address for the VLAN's IPv4 network (e.g. 192.168.1.0).
|
||||
type: str
|
||||
default: ''
|
||||
private_ipv4_prefix_size:
|
||||
description:
|
||||
- The size of the IPv4 address space, e.g 24.
|
||||
- Required, if C(private_ipv4_base_address) is specified.
|
||||
type: int
|
||||
default: 0
|
||||
state:
|
||||
description:
|
||||
- The desired state for the target VLAN.
|
||||
|
||||
@@ -33,6 +33,7 @@ options:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
|
||||
@@ -33,6 +33,7 @@ options:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
|
||||
@@ -33,6 +33,7 @@ options:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
|
||||
@@ -33,6 +33,7 @@ options:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
|
||||
@@ -34,6 +34,7 @@ options:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
|
||||
@@ -33,6 +33,7 @@ options:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
|
||||
@@ -33,6 +33,7 @@ options:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
|
||||
@@ -36,6 +36,7 @@ options:
|
||||
description:
|
||||
- Add the instance to a Display Group in Linode Manager.
|
||||
type: str
|
||||
default: ''
|
||||
linode_id:
|
||||
description:
|
||||
- Unique ID of a linode server. This value is read-only in the sense that
|
||||
|
||||
@@ -43,6 +43,7 @@ options:
|
||||
- The default TTL for all records created in the zone. This must be a
|
||||
valid int from U(https://www.memset.com/apidocs/methods_dns.html#dns.zone_create).
|
||||
type: int
|
||||
default: 0
|
||||
choices: [ 0, 300, 600, 900, 1800, 3600, 7200, 10800, 21600, 43200, 86400 ]
|
||||
force:
|
||||
required: false
|
||||
|
||||
@@ -43,11 +43,13 @@ options:
|
||||
description:
|
||||
- C(SRV) and C(TXT) record priority, in the range 0 > 999 (inclusive).
|
||||
type: int
|
||||
default: 0
|
||||
record:
|
||||
required: false
|
||||
description:
|
||||
- The subdomain to create.
|
||||
type: str
|
||||
default: ''
|
||||
type:
|
||||
required: true
|
||||
description:
|
||||
@@ -64,6 +66,7 @@ options:
|
||||
description:
|
||||
- The record's TTL in seconds (will inherit zone's TTL if not explicitly set). This must be a
|
||||
valid int from U(https://www.memset.com/apidocs/methods_dns.html#dns.zone_record_create).
|
||||
default: 0
|
||||
choices: [ 0, 300, 600, 900, 1800, 3600, 7200, 10800, 21600, 43200, 86400 ]
|
||||
type: int
|
||||
zone:
|
||||
|
||||
@@ -53,6 +53,7 @@ options:
|
||||
description:
|
||||
- The RHEV/oVirt cluster in which you want you VM to start.
|
||||
type: str
|
||||
default: ''
|
||||
datacenter:
|
||||
description:
|
||||
- The RHEV/oVirt datacenter in which you want you VM to start.
|
||||
|
||||
@@ -34,6 +34,7 @@ options:
|
||||
- The name of the serverless framework project stage to deploy to.
|
||||
- This uses the serverless framework default "dev".
|
||||
type: str
|
||||
default: ''
|
||||
functions:
|
||||
description:
|
||||
- A list of specific functions to deploy.
|
||||
@@ -41,12 +42,12 @@ options:
|
||||
- Deprecated parameter, it will be removed in community.general 5.0.0.
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
region:
|
||||
description:
|
||||
- AWS region to deploy the service to.
|
||||
- This parameter defaults to C(us-east-1).
|
||||
type: str
|
||||
default: ''
|
||||
deploy:
|
||||
description:
|
||||
- Whether or not to deploy artifacts after building them.
|
||||
|
||||
@@ -89,6 +89,7 @@ options:
|
||||
resources selected here will also auto-include any dependencies.
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
lock:
|
||||
description:
|
||||
- Enable statefile locking, if you use a service that accepts locks (such
|
||||
|
||||
@@ -161,9 +161,7 @@ def get_srs(session):
|
||||
|
||||
|
||||
def main():
|
||||
module = AnsibleModule(
|
||||
supports_check_mode=True,
|
||||
)
|
||||
module = AnsibleModule({}, supports_check_mode=True)
|
||||
|
||||
if not HAVE_XENAPI:
|
||||
module.fail_json(changed=False, msg="python xen api required for this module")
|
||||
|
||||
@@ -59,6 +59,7 @@ options:
|
||||
(port_from, port_to, and source)
|
||||
type: list
|
||||
elements: dict
|
||||
default: []
|
||||
add_server_ips:
|
||||
description:
|
||||
- A list of server identifiers (id or name) to be assigned to a firewall policy.
|
||||
@@ -66,12 +67,14 @@ options:
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
default: []
|
||||
remove_server_ips:
|
||||
description:
|
||||
- A list of server IP ids to be unassigned from a firewall policy. Used in combination with update state.
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
default: []
|
||||
add_rules:
|
||||
description:
|
||||
- A list of rules that will be added to an existing firewall policy.
|
||||
@@ -79,12 +82,14 @@ options:
|
||||
type: list
|
||||
elements: dict
|
||||
required: false
|
||||
default: []
|
||||
remove_rules:
|
||||
description:
|
||||
- A list of rule ids that will be removed from an existing firewall policy. Used in combination with update state.
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
default: []
|
||||
description:
|
||||
description:
|
||||
- Firewall policy description. maxLength=256
|
||||
|
||||
@@ -97,6 +97,7 @@ options:
|
||||
port_balancer, and port_server parameters, in addition to source parameter, which is optional.
|
||||
type: list
|
||||
elements: dict
|
||||
default: []
|
||||
description:
|
||||
description:
|
||||
- Description of the load balancer. maxLength=256
|
||||
@@ -109,12 +110,14 @@ options:
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
default: []
|
||||
remove_server_ips:
|
||||
description:
|
||||
- A list of server IP ids to be unassigned from a load balancer. Used in combination with update state.
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
default: []
|
||||
add_rules:
|
||||
description:
|
||||
- A list of rules that will be added to an existing load balancer.
|
||||
@@ -122,12 +125,14 @@ options:
|
||||
type: list
|
||||
elements: dict
|
||||
required: false
|
||||
default: []
|
||||
remove_rules:
|
||||
description:
|
||||
- A list of rule ids that will be removed from an existing load balancer. Used in combination with update state.
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
default: []
|
||||
wait:
|
||||
description:
|
||||
- wait for the instance to be in state 'running' before returning
|
||||
|
||||
@@ -73,6 +73,7 @@ options:
|
||||
and value is used to advise when the value is exceeded.
|
||||
type: list
|
||||
elements: dict
|
||||
default: []
|
||||
suboptions:
|
||||
cpu:
|
||||
description:
|
||||
@@ -99,6 +100,7 @@ options:
|
||||
- Array of ports that will be monitoring.
|
||||
type: list
|
||||
elements: dict
|
||||
default: []
|
||||
suboptions:
|
||||
protocol:
|
||||
description:
|
||||
@@ -123,6 +125,7 @@ options:
|
||||
- Array of processes that will be monitoring.
|
||||
type: list
|
||||
elements: dict
|
||||
default: []
|
||||
suboptions:
|
||||
process:
|
||||
description:
|
||||
@@ -139,48 +142,56 @@ options:
|
||||
type: list
|
||||
elements: dict
|
||||
required: false
|
||||
default: []
|
||||
add_processes:
|
||||
description:
|
||||
- Processes to add to the monitoring policy.
|
||||
type: list
|
||||
elements: dict
|
||||
required: false
|
||||
default: []
|
||||
add_servers:
|
||||
description:
|
||||
- Servers to add to the monitoring policy.
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
default: []
|
||||
remove_ports:
|
||||
description:
|
||||
- Ports to remove from the monitoring policy.
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
default: []
|
||||
remove_processes:
|
||||
description:
|
||||
- Processes to remove from the monitoring policy.
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
default: []
|
||||
remove_servers:
|
||||
description:
|
||||
- Servers to remove from the monitoring policy.
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
default: []
|
||||
update_ports:
|
||||
description:
|
||||
- Ports to be updated on the monitoring policy.
|
||||
type: list
|
||||
elements: dict
|
||||
required: false
|
||||
default: []
|
||||
update_processes:
|
||||
description:
|
||||
- Processes to be updated on the monitoring policy.
|
||||
type: list
|
||||
elements: dict
|
||||
required: false
|
||||
default: []
|
||||
wait:
|
||||
description:
|
||||
- wait for the instance to be in state 'running' before returning
|
||||
|
||||
@@ -73,11 +73,13 @@ options:
|
||||
- List of server identifiers (name or id) to be added to the private network.
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
remove_members:
|
||||
description:
|
||||
- List of server identifiers (name or id) to be removed from the private network.
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
wait:
|
||||
description:
|
||||
- wait for the instance to be in state 'running' before returning
|
||||
|
||||
@@ -136,6 +136,7 @@ options:
|
||||
- URL of custom iPXE script for provisioning.
|
||||
- More about custom iPXE for Packet devices at U(https://help.packet.net/technical/infrastructure/custom-ipxe).
|
||||
type: str
|
||||
default: ''
|
||||
|
||||
always_pxe:
|
||||
description:
|
||||
|
||||
@@ -37,6 +37,7 @@ options:
|
||||
- Public SSH keys allowing access to the virtual machine.
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
datacenter:
|
||||
description:
|
||||
- The datacenter to provision this virtual machine.
|
||||
@@ -73,6 +74,7 @@ options:
|
||||
- list of instance ids, currently only used when state='absent' to remove instances.
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
count:
|
||||
description:
|
||||
- The number of virtual machines to create.
|
||||
|
||||
@@ -49,7 +49,7 @@ options:
|
||||
- Public SSH keys allowing access to the virtual machine.
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
default: []
|
||||
disk_type:
|
||||
description:
|
||||
- The disk type of the volume.
|
||||
@@ -80,7 +80,7 @@ options:
|
||||
- list of instance ids, currently only used when state='absent' to remove instances.
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
default: []
|
||||
subscription_user:
|
||||
description:
|
||||
- The ProfitBricks username. Overrides the PB_SUBSCRIPTION_ID environment variable.
|
||||
|
||||
@@ -36,6 +36,7 @@ options:
|
||||
same play)."
|
||||
required: false
|
||||
type: str
|
||||
default: ''
|
||||
password:
|
||||
description:
|
||||
- Password which match to account to which specified C(email) belong.
|
||||
@@ -43,6 +44,7 @@ options:
|
||||
same play)."
|
||||
required: false
|
||||
type: str
|
||||
default: ''
|
||||
cache:
|
||||
description: >
|
||||
In case if single play use blocks management module few times it is
|
||||
@@ -57,7 +59,7 @@ options:
|
||||
manage blocks."
|
||||
- "User's account will be used if value not set or empty."
|
||||
type: str
|
||||
required: false
|
||||
default: ''
|
||||
application:
|
||||
description:
|
||||
- "Name of target PubNub application for which blocks configuration on
|
||||
|
||||
@@ -81,17 +81,20 @@ options:
|
||||
default: 'no'
|
||||
extra_client_args:
|
||||
type: dict
|
||||
default: {}
|
||||
description:
|
||||
- A hash of key/value pairs to be used when creating the cloudservers
|
||||
client. This is considered an advanced option, use it wisely and
|
||||
with caution.
|
||||
extra_create_args:
|
||||
type: dict
|
||||
default: {}
|
||||
description:
|
||||
- A hash of key/value pairs to be used when creating a new server.
|
||||
This is considered an advanced option, use it wisely and with caution.
|
||||
files:
|
||||
type: dict
|
||||
default: {}
|
||||
description:
|
||||
- Files to insert into the instance. remotefilename:localcontent
|
||||
flavor:
|
||||
@@ -123,6 +126,7 @@ options:
|
||||
- keypair
|
||||
meta:
|
||||
type: dict
|
||||
default: {}
|
||||
description:
|
||||
- A hash of metadata to associate with the instance
|
||||
name:
|
||||
|
||||
@@ -25,6 +25,7 @@ options:
|
||||
C(name). This option requires C(pyrax>=1.9.3)
|
||||
meta:
|
||||
type: dict
|
||||
default: {}
|
||||
description:
|
||||
- A hash of metadata to associate with the volume
|
||||
name:
|
||||
|
||||
@@ -27,6 +27,7 @@ options:
|
||||
default: LEAST_CONNECTIONS
|
||||
meta:
|
||||
type: dict
|
||||
default: {}
|
||||
description:
|
||||
- A hash of metadata to associate with the instance
|
||||
name:
|
||||
|
||||
@@ -27,6 +27,7 @@ options:
|
||||
- The container to use for container or metadata operations.
|
||||
meta:
|
||||
type: dict
|
||||
default: {}
|
||||
description:
|
||||
- A hash of items to set as metadata values on a container
|
||||
private:
|
||||
|
||||
@@ -39,6 +39,7 @@ options:
|
||||
Requires an integer, specifying expiration in seconds
|
||||
meta:
|
||||
type: dict
|
||||
default: {}
|
||||
description:
|
||||
- A hash of items to set as metadata values on an uploaded file or folder
|
||||
method:
|
||||
|
||||
@@ -29,6 +29,7 @@ options:
|
||||
- Server name to modify metadata for
|
||||
meta:
|
||||
type: dict
|
||||
default: {}
|
||||
description:
|
||||
- A hash of metadata to associate with the instance
|
||||
author: "Matt Martz (@sivel)"
|
||||
|
||||
@@ -86,6 +86,7 @@ options:
|
||||
I(ip_addresses) hash to resolve an IP address to target.
|
||||
details:
|
||||
type: dict
|
||||
default: {}
|
||||
description:
|
||||
- Additional details specific to the check type. Must be a hash of strings
|
||||
between 1 and 255 characters long, or an array or object containing 0 to
|
||||
@@ -97,6 +98,7 @@ options:
|
||||
default: false
|
||||
metadata:
|
||||
type: dict
|
||||
default: {}
|
||||
description:
|
||||
- Hash of arbitrary key-value pairs to accompany this check if it fires.
|
||||
Keys and values must be strings between 1 and 255 characters long.
|
||||
|
||||
@@ -37,6 +37,7 @@ options:
|
||||
bound. Necessary to collect C(agent.) rax_mon_checks against this entity.
|
||||
named_ip_addresses:
|
||||
type: dict
|
||||
default: {}
|
||||
description:
|
||||
- Hash of IP addresses that may be referenced by name by rax_mon_checks
|
||||
added to this entity. Must be a dictionary of with keys that are names
|
||||
@@ -44,6 +45,7 @@ options:
|
||||
addresses.
|
||||
metadata:
|
||||
type: dict
|
||||
default: {}
|
||||
description:
|
||||
- Hash of arbitrary C(name), C(value) pairs that are passed to associated
|
||||
rax_mon_alarms. Names and values must all be between 1 and 255 characters
|
||||
|
||||
@@ -36,6 +36,7 @@ options:
|
||||
- manual
|
||||
files:
|
||||
type: dict
|
||||
default: {}
|
||||
description:
|
||||
- 'Files to insert into the instance. Hash of C(remotepath: localpath)'
|
||||
flavor:
|
||||
@@ -65,6 +66,7 @@ options:
|
||||
required: true
|
||||
meta:
|
||||
type: dict
|
||||
default: {}
|
||||
description:
|
||||
- A hash of metadata to associate with the instance
|
||||
min_entities:
|
||||
|
||||
@@ -65,6 +65,7 @@ options:
|
||||
tags:
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
description:
|
||||
- List of tags to apply to the load-balancer
|
||||
|
||||
|
||||
@@ -142,6 +142,7 @@ options:
|
||||
- List of ssh keys by their Id to be assigned to a virtual instance.
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
post_uri:
|
||||
description:
|
||||
- URL of a post provisioning script to be loaded and executed on virtual instance.
|
||||
|
||||
@@ -502,6 +502,12 @@ options:
|
||||
Only works if wait_for_instances is True.
|
||||
type: int
|
||||
|
||||
do_not_update:
|
||||
description:
|
||||
- TODO document.
|
||||
type: list
|
||||
default: []
|
||||
|
||||
'''
|
||||
EXAMPLES = '''
|
||||
# Basic configuration YAML example
|
||||
|
||||
@@ -42,11 +42,13 @@ options:
|
||||
nameserver:
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
description:
|
||||
- List of appropriate name servers. Required if C(state=present).
|
||||
interfaces:
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
description:
|
||||
- List of interface IP addresses, on which the server should
|
||||
response this zone. Required if C(state=present).
|
||||
|
||||
@@ -44,11 +44,13 @@ options:
|
||||
- define the whole ldap position of the group, e.g.
|
||||
C(cn=g123m-1A,cn=classes,cn=schueler,cn=groups,ou=schule,dc=example,dc=com).
|
||||
type: str
|
||||
default: ''
|
||||
ou:
|
||||
required: false
|
||||
description:
|
||||
- LDAP OU, e.g. school for LDAP OU C(ou=school,dc=example,dc=com).
|
||||
type: str
|
||||
default: ''
|
||||
subpath:
|
||||
required: false
|
||||
description:
|
||||
|
||||
@@ -168,6 +168,7 @@ options:
|
||||
description:
|
||||
- List of telephone numbers.
|
||||
type: list
|
||||
default: []
|
||||
postcode:
|
||||
description:
|
||||
- Postal code of users business address.
|
||||
@@ -199,11 +200,13 @@ options:
|
||||
join."
|
||||
aliases: [ sambaPrivileges ]
|
||||
type: list
|
||||
default: []
|
||||
samba_user_workstations:
|
||||
description:
|
||||
- Allow the authentication only on this Microsoft Windows host.
|
||||
aliases: [ sambaUserWorkstations ]
|
||||
type: list
|
||||
default: []
|
||||
sambahome:
|
||||
description:
|
||||
- Windows home path, e.g. C('\\$FQDN\$USERNAME').
|
||||
|
||||
@@ -26,10 +26,12 @@ options:
|
||||
description:
|
||||
- The username used to authenticate with
|
||||
type: str
|
||||
default: ''
|
||||
login_password:
|
||||
description:
|
||||
- The password used to authenticate with
|
||||
type: str
|
||||
default: ''
|
||||
login_host:
|
||||
description:
|
||||
- Host running the database
|
||||
|
||||
@@ -65,13 +65,15 @@ options:
|
||||
type: bool
|
||||
default: no
|
||||
notes:
|
||||
- Requires tarfile, zipfile, gzip and bzip2 packages on target host.
|
||||
- Requires lzma or backports.lzma if using xz format.
|
||||
- Can produce I(gzip), I(bzip2), I(lzma) and I(zip) compressed files or archives.
|
||||
- Can produce I(gzip), I(bzip2), I(lzma), and I(zip) compressed files or archives.
|
||||
- This module uses C(tarfile), C(zipfile), C(gzip), and C(bz2) packages on the target host to create archives.
|
||||
These are part of the Python standard library for Python 2 and 3.
|
||||
requirements:
|
||||
- Requires C(lzma) (standard library of Python 3) or L(backports.lzma, https://pypi.org/project/backports.lzma/) (Python 2) if using C(xz) format.
|
||||
seealso:
|
||||
- module: ansible.builtin.unarchive
|
||||
- module: ansible.builtin.unarchive
|
||||
author:
|
||||
- Ben Doherty (@bendoh)
|
||||
- Ben Doherty (@bendoh)
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
@@ -581,6 +583,11 @@ class TarArchive(Archive):
|
||||
self.file.add(path, archive_name, recursive=False, exclude=py26_filter)
|
||||
|
||||
def _get_checksums(self, path):
|
||||
if HAS_LZMA:
|
||||
LZMAError = lzma.LZMAError
|
||||
else:
|
||||
# Just picking another exception that's also listed below
|
||||
LZMAError = tarfile.ReadError
|
||||
try:
|
||||
if self.format == 'xz':
|
||||
with lzma.open(_to_native_ascii(path), 'r') as f:
|
||||
@@ -591,7 +598,7 @@ class TarArchive(Archive):
|
||||
archive = tarfile.open(_to_native_ascii(path), 'r|' + self.format)
|
||||
checksums = set((info.name, info.chksum) for info in archive.getmembers())
|
||||
archive.close()
|
||||
except (lzma.LZMAError, tarfile.ReadError, tarfile.CompressionError):
|
||||
except (LZMAError, tarfile.ReadError, tarfile.CompressionError):
|
||||
try:
|
||||
# The python implementations of gzip, bz2, and lzma do not support restoring compressed files
|
||||
# to their original names so only file checksum is returned
|
||||
|
||||
@@ -39,6 +39,7 @@ options:
|
||||
- The namespace C(prefix:uri) mapping for the XPath expression.
|
||||
- Needs to be a C(dict), not a C(list) of items.
|
||||
type: dict
|
||||
default: {}
|
||||
state:
|
||||
description:
|
||||
- Set or remove an xpath selection (node(s), attribute(s)).
|
||||
|
||||
@@ -129,6 +129,7 @@ options:
|
||||
vendor:
|
||||
description:
|
||||
- LDAP vendor (provider).
|
||||
- Use short name. For instance, write C(rhds) for "Red Hat Directory Server".
|
||||
type: str
|
||||
|
||||
usernameLDAPAttribute:
|
||||
|
||||
@@ -85,7 +85,6 @@ options:
|
||||
description:
|
||||
- The secret key for your subdomain.
|
||||
- Only required for initial sign in.
|
||||
default: {}
|
||||
required: False
|
||||
cli_path:
|
||||
type: path
|
||||
|
||||
@@ -52,14 +52,12 @@ options:
|
||||
elements: str
|
||||
description:
|
||||
- List of handlers to notify when the check fails
|
||||
default: []
|
||||
subscribers:
|
||||
type: list
|
||||
elements: str
|
||||
description:
|
||||
- List of subscribers/channels this check should run for
|
||||
- See sensu_subscribers to subscribe a machine to a channel
|
||||
default: []
|
||||
interval:
|
||||
type: int
|
||||
description:
|
||||
@@ -91,7 +89,6 @@ options:
|
||||
elements: str
|
||||
description:
|
||||
- Other checks this check depends on, if dependencies fail handling of this check will be disabled
|
||||
default: []
|
||||
metric:
|
||||
description:
|
||||
- Whether the check is a metric
|
||||
@@ -137,7 +134,6 @@ options:
|
||||
description:
|
||||
- A hash/dictionary of custom parameters for mixing to the configuration.
|
||||
- You can't rewrite others module parameters using this
|
||||
default: {}
|
||||
source:
|
||||
type: str
|
||||
description:
|
||||
|
||||
@@ -61,6 +61,7 @@ options:
|
||||
type: str
|
||||
description:
|
||||
- The prefix to add to the metric.
|
||||
default: ''
|
||||
value:
|
||||
type: int
|
||||
required: true
|
||||
|
||||
@@ -126,7 +126,6 @@ options:
|
||||
description:
|
||||
- Name or id of the contact list that the monitor will notify.
|
||||
- The default C('') means the Account Owner.
|
||||
default: ''
|
||||
type: str
|
||||
|
||||
httpFqdn:
|
||||
|
||||
@@ -41,27 +41,22 @@ options:
|
||||
description:
|
||||
- Network ID.
|
||||
type: str
|
||||
default: ''
|
||||
ip_address:
|
||||
description:
|
||||
- IP Address for a reservation or a release.
|
||||
type: str
|
||||
default: ''
|
||||
network_address:
|
||||
description:
|
||||
- Network address with CIDR format (e.g., 192.168.310.0).
|
||||
type: str
|
||||
default: ''
|
||||
network_size:
|
||||
description:
|
||||
- Network bitmask (e.g. 255.255.255.220) or CIDR format (e.g., /26).
|
||||
type: str
|
||||
default: ''
|
||||
network_name:
|
||||
description:
|
||||
- The name of a network.
|
||||
type: str
|
||||
default: ''
|
||||
network_location:
|
||||
description:
|
||||
- The parent network id for a given network.
|
||||
|
||||
@@ -166,13 +166,15 @@ modlist:
|
||||
import traceback
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||
from ansible.module_utils.common.text.converters import to_native, to_bytes
|
||||
from ansible.module_utils.common.text.converters import to_native, to_bytes, to_text
|
||||
from ansible_collections.community.general.plugins.module_utils.ldap import LdapGeneric, gen_specs
|
||||
|
||||
import re
|
||||
|
||||
LDAP_IMP_ERR = None
|
||||
try:
|
||||
import ldap
|
||||
import ldap.filter
|
||||
|
||||
HAS_LDAP = True
|
||||
except ImportError:
|
||||
@@ -261,9 +263,11 @@ class LdapAttrs(LdapGeneric):
|
||||
def _is_value_present(self, name, value):
|
||||
""" True if the target attribute has the given value. """
|
||||
try:
|
||||
is_present = bool(
|
||||
self.connection.compare_s(self.dn, name, value))
|
||||
except ldap.NO_SUCH_ATTRIBUTE:
|
||||
escaped_value = ldap.filter.escape_filter_chars(to_text(value))
|
||||
filterstr = "(%s=%s)" % (name, escaped_value)
|
||||
dns = self.connection.search_s(self.dn, ldap.SCOPE_BASE, filterstr)
|
||||
is_present = len(dns) == 1
|
||||
except ldap.NO_SUCH_OBJECT:
|
||||
is_present = False
|
||||
|
||||
return is_present
|
||||
|
||||
@@ -36,6 +36,7 @@ options:
|
||||
entries are never modified. To assert specific attribute values on an
|
||||
existing entry, use M(community.general.ldap_attrs) module instead.
|
||||
type: dict
|
||||
default: {}
|
||||
objectClass:
|
||||
description:
|
||||
- If I(state=present), value or list of values to use when creating
|
||||
|
||||
@@ -48,12 +48,14 @@ options:
|
||||
- This is a list, which may contain address and phrase portions.
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
bcc:
|
||||
description:
|
||||
- The email-address(es) the mail is being 'blind' copied to.
|
||||
- This is a list, which may contain address and phrase portions.
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
subject:
|
||||
description:
|
||||
- The subject of the email being sent.
|
||||
|
||||
@@ -30,6 +30,7 @@ options:
|
||||
type: str
|
||||
description:
|
||||
- Composer arguments like required package, version and so on.
|
||||
default: ''
|
||||
executable:
|
||||
type: path
|
||||
description:
|
||||
|
||||
@@ -50,6 +50,7 @@ options:
|
||||
type: str
|
||||
description:
|
||||
- The maven classifier coordinate
|
||||
default: ''
|
||||
extension:
|
||||
type: str
|
||||
description:
|
||||
|
||||
@@ -46,6 +46,7 @@ options:
|
||||
- "remove"
|
||||
- "checksum"
|
||||
- "removal-of-dependent-packages"
|
||||
default: ""
|
||||
type: str
|
||||
update_cache:
|
||||
description:
|
||||
|
||||
@@ -72,7 +72,7 @@ options:
|
||||
extra_args:
|
||||
description:
|
||||
- Additional option to pass to pacman when enforcing C(state).
|
||||
default:
|
||||
default: ''
|
||||
type: str
|
||||
|
||||
update_cache:
|
||||
@@ -91,7 +91,7 @@ options:
|
||||
update_cache_extra_args:
|
||||
description:
|
||||
- Additional option to pass to pacman when enforcing C(update_cache).
|
||||
default:
|
||||
default: ''
|
||||
type: str
|
||||
|
||||
upgrade:
|
||||
@@ -104,7 +104,7 @@ options:
|
||||
upgrade_extra_args:
|
||||
description:
|
||||
- Additional option to pass to pacman when enforcing C(upgrade).
|
||||
default:
|
||||
default: ''
|
||||
type: str
|
||||
|
||||
notes:
|
||||
|
||||
@@ -37,7 +37,7 @@ options:
|
||||
state:
|
||||
description:
|
||||
- State of the package.
|
||||
- 'Note: "latest" added in 2.7'
|
||||
- 'Note: C(latest) added in 2.7.'
|
||||
choices: [ 'present', 'latest', 'absent' ]
|
||||
required: false
|
||||
default: present
|
||||
@@ -148,10 +148,7 @@ def query_package(module, run_pkgng, name):
|
||||
|
||||
rc, out, err = run_pkgng('info', '-g', '-e', name)
|
||||
|
||||
if rc == 0:
|
||||
return True
|
||||
|
||||
return False
|
||||
return rc == 0
|
||||
|
||||
|
||||
def query_update(module, run_pkgng, name):
|
||||
@@ -161,10 +158,7 @@ def query_update(module, run_pkgng, name):
|
||||
# rc = 1, updates available
|
||||
rc, out, err = run_pkgng('upgrade', '-g', '-n', name)
|
||||
|
||||
if rc == 1:
|
||||
return True
|
||||
|
||||
return False
|
||||
return rc == 1
|
||||
|
||||
|
||||
def pkgng_older_than(module, pkgng_path, compare_version):
|
||||
@@ -190,7 +184,7 @@ def upgrade_packages(module, run_pkgng):
|
||||
|
||||
pkgng_args = ['upgrade']
|
||||
pkgng_args.append('-n' if module.check_mode else '-y')
|
||||
rc, out, err = run_pkgng(*pkgng_args)
|
||||
rc, out, err = run_pkgng(*pkgng_args, check_rc=(not module.check_mode))
|
||||
|
||||
matches = re.findall('^Number of packages to be (?:upgraded|reinstalled): ([0-9]+)', out, re.MULTILINE)
|
||||
for match in matches:
|
||||
|
||||
@@ -151,7 +151,6 @@ options:
|
||||
When some attribute is not listed in the new list of attributes, the existing
|
||||
attribute will be removed from C(syspurpose.json) file. Unknown attributes are ignored.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
usage:
|
||||
description: Syspurpose attribute usage
|
||||
@@ -592,15 +591,22 @@ class Rhsm(RegistrationBase):
|
||||
consumed_pools = RhsmPools(self.module, consumed=True)
|
||||
|
||||
existing_pools = {}
|
||||
serials_to_remove = []
|
||||
for p in consumed_pools:
|
||||
existing_pools[p.get_pool_id()] = p.QuantityUsed
|
||||
pool_id = p.get_pool_id()
|
||||
quantity_used = p.get_quantity_used()
|
||||
existing_pools[pool_id] = quantity_used
|
||||
|
||||
quantity = pool_ids.get(pool_id, 0)
|
||||
if quantity is not None and quantity != quantity_used:
|
||||
serials_to_remove.append(p.Serial)
|
||||
|
||||
serials_to_remove = [p.Serial for p in consumed_pools if pool_ids.get(p.get_pool_id(), 0) != p.QuantityUsed]
|
||||
serials = self.unsubscribe(serials=serials_to_remove)
|
||||
|
||||
missing_pools = {}
|
||||
for pool_id, quantity in sorted(pool_ids.items()):
|
||||
if existing_pools.get(pool_id, 0) != quantity:
|
||||
quantity_used = existing_pools.get(pool_id, 0)
|
||||
if quantity is None and quantity_used == 0 or quantity not in (None, 0, quantity_used):
|
||||
missing_pools[pool_id] = quantity
|
||||
|
||||
self.subscribe_by_pool_ids(missing_pools)
|
||||
@@ -634,6 +640,9 @@ class RhsmPool(object):
|
||||
def get_pool_id(self):
|
||||
return getattr(self, 'PoolId', getattr(self, 'PoolID'))
|
||||
|
||||
def get_quantity_used(self):
|
||||
return int(getattr(self, 'QuantityUsed'))
|
||||
|
||||
def subscribe(self):
|
||||
args = "subscription-manager attach --pool %s" % self.get_pool_id()
|
||||
rc, stdout, stderr = self.module.run_command(args, check_rc=True)
|
||||
|
||||
@@ -75,6 +75,7 @@ options:
|
||||
- especially useful for SCM and rsync grimoires
|
||||
- makes sense only in pair with C(update_cache)
|
||||
type: int
|
||||
default: 0
|
||||
'''
|
||||
|
||||
|
||||
|
||||
@@ -68,6 +68,7 @@ options:
|
||||
- The list of media types appropriate for the image.
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
image_url:
|
||||
description:
|
||||
- The URL of the image to insert or eject.
|
||||
|
||||
@@ -79,7 +79,7 @@ options:
|
||||
- ' - C(vms_allocated) (int): use null to remove the quota.'
|
||||
- ' - C(templates_allocated) (int): use null to remove the quota.'
|
||||
required: false
|
||||
default: null
|
||||
default: {}
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
|
||||
@@ -115,6 +115,7 @@ options:
|
||||
description:
|
||||
- Properties of account service to update.
|
||||
type: dict
|
||||
default: {}
|
||||
version_added: '0.2.0'
|
||||
resource_id:
|
||||
required: false
|
||||
@@ -140,6 +141,7 @@ options:
|
||||
- List of target resource URIs to apply the update to.
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
version_added: '0.2.0'
|
||||
update_creds:
|
||||
required: false
|
||||
@@ -171,6 +173,7 @@ options:
|
||||
- List of media types appropriate for the image.
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
image_url:
|
||||
required: false
|
||||
description:
|
||||
|
||||
@@ -71,6 +71,7 @@ options:
|
||||
description:
|
||||
- Setting dict of manager services to update.
|
||||
type: dict
|
||||
default: {}
|
||||
version_added: '0.2.0'
|
||||
resource_id:
|
||||
required: false
|
||||
@@ -90,6 +91,7 @@ options:
|
||||
description:
|
||||
- Setting dict of EthernetInterface on OOB controller.
|
||||
type: dict
|
||||
default: {}
|
||||
version_added: '0.2.0'
|
||||
strip_etag_quotes:
|
||||
description:
|
||||
@@ -105,6 +107,7 @@ options:
|
||||
description:
|
||||
- Setting dict of HostInterface on OOB controller.
|
||||
type: dict
|
||||
default: {}
|
||||
version_added: '4.1.0'
|
||||
hostinterface_id:
|
||||
required: false
|
||||
|
||||
@@ -73,12 +73,14 @@ options:
|
||||
- Rack to be used in host creation.
|
||||
- Required if I(state) is C(present) and host does not yet exist.
|
||||
type: int
|
||||
default: 0
|
||||
rank:
|
||||
description:
|
||||
- Rank to be used in host creation.
|
||||
- In Stacki terminology, the rank is the position of the machine in a rack.
|
||||
- Required if I(state) is C(present) and host does not yet exist.
|
||||
type: int
|
||||
default: 0
|
||||
network:
|
||||
description:
|
||||
- Network to be configured in the host.
|
||||
|
||||
@@ -54,6 +54,7 @@ options:
|
||||
- Branch name of wildcard to trigger hook on push events
|
||||
type: str
|
||||
version_added: '0.2.0'
|
||||
default: ''
|
||||
issues_events:
|
||||
description:
|
||||
- Trigger hook on issues events.
|
||||
|
||||
@@ -37,6 +37,7 @@ options:
|
||||
- A dictionary of zfs properties to be set.
|
||||
- See the zfs(8) man page for more information.
|
||||
type: dict
|
||||
default: {}
|
||||
notes:
|
||||
- C(check_mode) is supported, but in certain situations it may report a task
|
||||
as changed that will not be reported as changed when C(check_mode) is disabled.
|
||||
|
||||
@@ -51,6 +51,7 @@ options:
|
||||
description:
|
||||
- Specifies recursion depth.
|
||||
type: int
|
||||
default: 0
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
|
||||
@@ -61,11 +61,13 @@ options:
|
||||
description:
|
||||
- Free-form options to be passed to the mklv command.
|
||||
type: str
|
||||
default: ''
|
||||
pvs:
|
||||
description:
|
||||
- A list of physical volumes e.g. C(hdisk1,hdisk2).
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
|
||||
@@ -55,7 +55,6 @@ options:
|
||||
description:
|
||||
- Password for importing from PKCS12 keystore.
|
||||
type: str
|
||||
default: ''
|
||||
pkcs12_alias:
|
||||
description:
|
||||
- Alias in the PKCS12 keystore.
|
||||
|
||||
@@ -41,6 +41,7 @@ options:
|
||||
description:
|
||||
- Additional options to pass to C(pvcreate) when creating the volume group.
|
||||
type: str
|
||||
default: ''
|
||||
pvresize:
|
||||
description:
|
||||
- If C(yes), resize the physical volume to the maximum available size.
|
||||
@@ -51,6 +52,7 @@ options:
|
||||
description:
|
||||
- Additional options to pass to C(vgcreate) when creating the volume group.
|
||||
type: str
|
||||
default: ''
|
||||
state:
|
||||
description:
|
||||
- Control if the volume group exists.
|
||||
|
||||
@@ -37,6 +37,7 @@ options:
|
||||
description:
|
||||
- Name of the SELinux policy store to use.
|
||||
type: str
|
||||
default: ''
|
||||
notes:
|
||||
- Requires a recent version of SELinux and C(policycoreutils-python) (EL 6 or newer).
|
||||
requirements: [ policycoreutils-python ]
|
||||
|
||||
@@ -160,6 +160,7 @@ options:
|
||||
and the JIRA REST API for the structure required for various fields.
|
||||
- When passed to comment, the data structure is merged at the first level since community.general 4.6.0. Useful to add JIRA properties for example.
|
||||
- Note that JIRA may not allow changing field values on specific transitions or states.
|
||||
default: {}
|
||||
|
||||
jql:
|
||||
required: false
|
||||
|
||||
@@ -32,10 +32,12 @@ options:
|
||||
- List of adirectory group strings.
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
adirectory_groups_sids:
|
||||
description:
|
||||
- Dictionary of group sids.
|
||||
type: dict
|
||||
default: {}
|
||||
backend_match:
|
||||
description:
|
||||
- The backend for the group.
|
||||
@@ -67,18 +69,22 @@ options:
|
||||
- List of edirectory group strings.
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
ipsec_dn:
|
||||
description:
|
||||
- The ipsec dn string.
|
||||
type: str
|
||||
default: ''
|
||||
ldap_attribute:
|
||||
description:
|
||||
- The ldap attribute to check against.
|
||||
type: str
|
||||
default: ''
|
||||
ldap_attribute_value:
|
||||
description:
|
||||
- The ldap attribute value to check against.
|
||||
type: str
|
||||
default: ''
|
||||
members:
|
||||
description:
|
||||
- A list of user ref names (aaa/user).
|
||||
|
||||
@@ -41,6 +41,7 @@ options:
|
||||
type: str
|
||||
description:
|
||||
- An optional comment to add to the dns host object
|
||||
default: ''
|
||||
hostname:
|
||||
type: str
|
||||
description:
|
||||
@@ -49,6 +50,7 @@ options:
|
||||
type: str
|
||||
description:
|
||||
- The reference name of the interface to use. If not provided the default interface will be used
|
||||
default: ''
|
||||
resolved:
|
||||
description:
|
||||
- whether the hostname's ipv4 address is already resolved or not
|
||||
|
||||
@@ -41,6 +41,7 @@ options:
|
||||
type: str
|
||||
description:
|
||||
- An optional comment to add to the object
|
||||
default: ''
|
||||
resolved:
|
||||
type: bool
|
||||
description:
|
||||
|
||||
@@ -46,6 +46,7 @@ options:
|
||||
type: str
|
||||
description:
|
||||
- The reference name of the auth profile
|
||||
default: ''
|
||||
backend:
|
||||
type: list
|
||||
elements: str
|
||||
@@ -56,10 +57,12 @@ options:
|
||||
type: str
|
||||
description:
|
||||
- The path of the backend
|
||||
default: ''
|
||||
comment:
|
||||
type: str
|
||||
description:
|
||||
- The optional comment string
|
||||
default: ''
|
||||
denied_networks:
|
||||
type: list
|
||||
elements: str
|
||||
|
||||
@@ -23,6 +23,37 @@
|
||||
# Make sure we start fresh
|
||||
|
||||
# Test setup
|
||||
- name: prep our files
|
||||
copy: src={{ item }} dest={{remote_tmp_dir}}/{{ item }}
|
||||
with_items:
|
||||
- foo.txt
|
||||
- bar.txt
|
||||
- empty.txt
|
||||
- sub
|
||||
- sub/subfile.txt
|
||||
|
||||
# Run twice without lzma backport installed, to make sure it does not crash
|
||||
- name: Archive - pre-test - first run
|
||||
archive:
|
||||
path: "{{ remote_tmp_dir }}/*.txt"
|
||||
dest: "{{ remote_tmp_dir }}/archive_pretest_1.tar"
|
||||
format: "tar"
|
||||
register: pretest_1
|
||||
|
||||
- name: Archive - pre-test - second run
|
||||
archive:
|
||||
path: "{{ remote_tmp_dir }}/*.txt"
|
||||
dest: "{{ remote_tmp_dir }}/archive_pretest_1.tar"
|
||||
format: "tar"
|
||||
register: pretest_2
|
||||
|
||||
- name: Archive - validate pre-test
|
||||
assert:
|
||||
that:
|
||||
- pretest_1 is changed
|
||||
- pretest_2 is not changed
|
||||
|
||||
# Install dependencies
|
||||
- name: Ensure zip is present to create test archive (yum)
|
||||
yum: name=zip state=latest
|
||||
when: ansible_facts.pkg_mgr == 'yum'
|
||||
@@ -74,15 +105,6 @@
|
||||
when: ansible_python_version.split('.')[0] == '2'
|
||||
register: backports_lzma_pip
|
||||
|
||||
- name: prep our files
|
||||
copy: src={{ item }} dest={{remote_tmp_dir}}/{{ item }}
|
||||
with_items:
|
||||
- foo.txt
|
||||
- bar.txt
|
||||
- empty.txt
|
||||
- sub
|
||||
- sub/subfile.txt
|
||||
|
||||
- name: Define formats to test
|
||||
set_fact:
|
||||
formats:
|
||||
|
||||
@@ -136,6 +136,42 @@
|
||||
- pkgng_example4.changed
|
||||
- not pkgng_example4_idempotent.changed
|
||||
|
||||
##
|
||||
## pkgng - example - state=latest for out-of-date package without privileges
|
||||
##
|
||||
- name: Install intentionally out-of-date package and try to upgrade it with unprivileged user
|
||||
block:
|
||||
- ansible.builtin.user:
|
||||
name: powerless
|
||||
shell: /bin/bash
|
||||
|
||||
- name: Create out-of-date test package
|
||||
import_tasks: create-outofdate-pkg.yml
|
||||
|
||||
- name: Install out-of-date test package
|
||||
command: 'pkg add {{ pkgng_test_outofdate_pkg_path }}'
|
||||
register: pkgng_example4_nopower_prepare
|
||||
|
||||
- name: Check for any available package upgrades with unprivileged user
|
||||
become: true
|
||||
become_user: powerless
|
||||
pkgng:
|
||||
name: '*'
|
||||
state: latest
|
||||
register: pkgng_example4_nopower_wildcard
|
||||
ignore_errors: true
|
||||
|
||||
- name: Remove test out-of-date package
|
||||
pkgng:
|
||||
name: '{{ pkgng_test_pkg_name }}'
|
||||
state: absent
|
||||
|
||||
- name: Ensure pkgng upgrades package correctly
|
||||
assert:
|
||||
that:
|
||||
- not pkgng_example4_nopower_prepare.failed
|
||||
- pkgng_example4_nopower_wildcard.failed
|
||||
|
||||
##
|
||||
## pkgng - example - Install multiple packages in one command
|
||||
##
|
||||
|
||||
@@ -31,7 +31,7 @@ def test_pfexec_basic(mocker, parser, reset_cli_args):
|
||||
var_options = {}
|
||||
cmd = call_become_plugin(task, var_options, cmd=default_cmd, executable=default_exe)
|
||||
print(cmd)
|
||||
assert re.match('''%s %s "'echo %s; %s'"''' % (pfexec_exe, pfexec_flags, success, default_cmd), cmd) is not None
|
||||
assert re.match("""%s %s 'echo %s; %s'""" % (pfexec_exe, pfexec_flags, success, default_cmd), cmd) is not None
|
||||
|
||||
|
||||
def test_pfexec(mocker, parser, reset_cli_args):
|
||||
@@ -53,7 +53,7 @@ def test_pfexec(mocker, parser, reset_cli_args):
|
||||
var_options = {}
|
||||
cmd = call_become_plugin(task, var_options, cmd=default_cmd, executable=default_exe)
|
||||
print(cmd)
|
||||
assert re.match('''%s %s "'echo %s; %s'"''' % (pfexec_exe, pfexec_flags, success, default_cmd), cmd) is not None
|
||||
assert re.match("""%s %s 'echo %s; %s'""" % (pfexec_exe, pfexec_flags, success, default_cmd), cmd) is not None
|
||||
|
||||
|
||||
def test_pfexec_varoptions(mocker, parser, reset_cli_args):
|
||||
@@ -78,4 +78,4 @@ def test_pfexec_varoptions(mocker, parser, reset_cli_args):
|
||||
}
|
||||
cmd = call_become_plugin(task, var_options, cmd=default_cmd, executable=default_exe)
|
||||
print(cmd)
|
||||
assert re.match('''%s %s "'echo %s; %s'"''' % (pfexec_exe, pfexec_flags, success, default_cmd), cmd) is not None
|
||||
assert re.match("""%s %s 'echo %s; %s'""" % (pfexec_exe, pfexec_flags, success, default_cmd), cmd) is not None
|
||||
|
||||
@@ -36,4 +36,5 @@ dataclasses ; python_version == '3.6'
|
||||
# opentelemetry-sdk ; python_version >= '3.6' and python_version < '3.10'
|
||||
|
||||
# requirement for the elastic callback plugin
|
||||
elastic-apm ; python_version >= '3.6'
|
||||
elastic-apm < 6.13.0 ; python_version == '3.6'
|
||||
elastic-apm ; python_version >= '3.7'
|
||||
|
||||
Reference in New Issue
Block a user