[prox ... pyth]*: normalize docs (#9364)

* [prox ... pyth]*: normalize docs

* Apply suggestions from code review

Co-authored-by: IamLunchbox <56757745+IamLunchbox@users.noreply.github.com>

* Update plugins/modules/pushbullet.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/pushbullet.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: IamLunchbox <56757745+IamLunchbox@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
pull/9101/merge
Alexei Znamensky 2024-12-26 20:24:16 +13:00 committed by GitHub
parent 9fc3092bb3
commit 6b7ea3443d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
23 changed files with 633 additions and 729 deletions

View File

@ -8,8 +8,7 @@
from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = '''
---
DOCUMENTATION = r"""
module: proxmox
short_description: Management of instances in Proxmox VE cluster
description:
@ -26,28 +25,26 @@ attributes:
options:
password:
description:
- the instance root password
- The instance root password.
type: str
hostname:
description:
- the instance hostname
- required only for O(state=present)
- must be unique if vmid is not passed
- The instance hostname.
- Required only for O(state=present).
- Must be unique if vmid is not passed.
type: str
ostemplate:
description:
- the template for VM creating
- required only for O(state=present)
- The template for VM creating.
- Required only for O(state=present).
type: str
disk:
description:
- This option was previously described as "hard disk size in GB for instance" however several formats describing
a lxc mount are permitted.
- Older versions of Proxmox will accept a numeric value for size using the O(storage) parameter to automatically
choose which storage to allocate from, however new versions enforce the C(<STORAGE>:<SIZE>) syntax.
- "Additional options are available by using some combination of the following key-value pairs as a
comma-delimited list C([volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>]
[,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>])."
- This option was previously described as "hard disk size in GB for instance" however several formats describing a lxc mount are permitted.
- Older versions of Proxmox will accept a numeric value for size using the O(storage) parameter to automatically choose which storage to
allocate from, however new versions enforce the C(<STORAGE>:<SIZE>) syntax.
- Additional options are available by using some combination of the following key-value pairs as a comma-delimited list C([volume=]<volume>
[,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]).
- See U(https://pve.proxmox.com/wiki/Linux_Container) for a full description.
- This option is mutually exclusive with O(storage) and O(disk_volume).
type: str
@ -93,19 +90,19 @@ options:
type: int
cpus:
description:
- numbers of allocated cpus for instance
- Number of allocated cpus for instance.
type: int
memory:
description:
- memory size in MB for instance
- Memory size in MB for instance.
type: int
swap:
description:
- swap memory size in MB for instance
- Swap memory size in MB for instance.
type: int
netif:
description:
- specifies network interfaces for the container. As a hash/dictionary defining interfaces.
- Specifies network interfaces for the container. As a hash/dictionary defining interfaces.
type: dict
features:
description:
@ -177,11 +174,11 @@ options:
type: dict
ip_address:
description:
- specifies the address the container will be assigned
- Specifies the address the container will be assigned.
type: str
onboot:
description:
- specifies whether a VM will be started during system bootup
- Specifies whether a VM will be started during system bootup.
type: bool
storage:
description:
@ -199,15 +196,15 @@ options:
version_added: 8.1.0
cpuunits:
description:
- CPU weight for a VM
- CPU weight for a VM.
type: int
nameserver:
description:
- sets DNS server IP address for a container
- Sets DNS server IP address for a container.
type: str
searchdomain:
description:
- sets DNS search domain for a container
- Sets DNS search domain for a container.
type: str
tags:
description:
@ -219,7 +216,7 @@ options:
version_added: 6.2.0
timeout:
description:
- timeout for operations
- Timeout for operations.
type: int
default: 30
update:
@ -232,8 +229,8 @@ options:
description:
- Forcing operations.
- Can be used only with states V(present), V(stopped), V(restarted).
- with O(state=present) force option allow to overwrite existing container.
- with states V(stopped), V(restarted) allow to force stop instance.
- With O(state=present) force option allow to overwrite existing container.
- With states V(stopped), V(restarted) allow to force stop instance.
type: bool
default: false
purge:
@ -247,14 +244,14 @@ options:
version_added: 2.3.0
state:
description:
- Indicate desired state of the instance
- V(template) was added in community.general 8.1.0.
- Indicate desired state of the instance.
- V(template) was added in community.general 8.1.0.
type: str
choices: ['present', 'started', 'absent', 'stopped', 'restarted', 'template']
default: present
pubkey:
description:
- Public key to add to /root/.ssh/authorized_keys. This was added on Proxmox 4.2, it is ignored for earlier versions
- Public key to add to /root/.ssh/authorized_keys. This was added on Proxmox 4.2, it is ignored for earlier versions.
type: str
unprivileged:
description:
@ -292,8 +289,8 @@ options:
- Type of the clone created.
- V(full) creates a full clone, and O(storage) must be specified.
- V(linked) creates a linked clone, and the cloned container must be a template container.
- V(opportunistic) creates a linked clone if the cloned container is a template container, and a full clone if not.
O(storage) may be specified, if not it will fall back to the default.
- V(opportunistic) creates a linked clone if the cloned container is a template container, and a full clone if not. O(storage) may be specified,
if not it will fall back to the default.
type: str
choices: ['full', 'linked', 'opportunistic']
default: opportunistic
@ -306,9 +303,9 @@ extends_documentation_fragment:
- community.general.proxmox.documentation
- community.general.proxmox.selection
- community.general.attributes
'''
"""
EXAMPLES = r'''
EXAMPLES = r"""
- name: Create new container with minimal options
community.general.proxmox:
vmid: 100
@ -494,8 +491,8 @@ EXAMPLES = r'''
hostname: example.org
ostemplate: 'local:vztmpl/ubuntu-14.04-x86_64.tar.gz'
features:
- nesting=1
- mount=cifs,nfs
- nesting=1
- mount=cifs,nfs
- name: >
Create a linked clone of the template container with id 100. The newly created container with be a
@ -599,7 +596,7 @@ EXAMPLES = r'''
api_password: 1q2w3e
api_host: node1
state: absent
'''
"""
import re
import time

View File

@ -10,8 +10,7 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = r'''
---
DOCUMENTATION = r"""
module: proxmox_backup
author: "Raphael Grieger (@IamLunchbox) <r.grieger@hotmail.com>"
short_description: Start a VM backup in Proxmox VE cluster
@ -42,11 +41,9 @@ options:
change_detection_mode:
description:
- Set the change detection mode (available from Proxmox VE 8.3).
- >
Is only used when backing up containers,
Proxmox silently ignores this option when applied to kvm guests.
- It is only used when backing up containers, Proxmox silently ignores this option when applied to kvm guests.
type: str
choices: ["legacy", "data", "metadata"]
choices: ["legacy", "data", "metadata"]
compress:
description:
- Enable additional compression of the backup archive.
@ -63,13 +60,9 @@ options:
description:
- Specify the description of the backup.
- Needs to be a single line, newline and backslash need to be escaped as V(\\n) and V(\\\\) respectively.
- >
If you need variable interpolation, you can set the content as usual
through ansible jinja templating and/or let Proxmox substitute templates.
- >
Proxmox currently supports V({{cluster}}), V({{guestname}}),
V({{node}}), and V({{vmid}}) as templating variables.
Since this is also a jinja delimiter, you need to set these values as raw jinja.
- If you need variable interpolation, you can set the content as usual through ansible jinja templating and/or let Proxmox substitute templates.
- Proxmox currently supports V({{cluster}}), V({{guestname}}), V({{node}}), and V({{vmid}}) as templating variables. Since this is also
a jinja delimiter, you need to set these values as raw jinja.
default: "{{guestname}}"
type: str
fleecing:
@ -93,13 +86,13 @@ options:
description:
- Determine which notification system to use.
type: str
choices: ["auto","legacy-sendmail", "notification-system"]
choices: ["auto", "legacy-sendmail", "notification-system"]
default: auto
performance_tweaks:
description:
- Enable other performance-related settings.
- Must be entered as a string, containing comma separated key-value pairs.
- "For example: V(max-workers=2,pbs-entries-max=2)."
- 'For example: V(max-workers=2,pbs-entries-max=2).'
type: str
pool:
description:
@ -110,19 +103,14 @@ options:
protected:
description:
- Marks backups as protected.
- >
"Might fail, when the PBS backend has verify enabled
due to this bug: U(https://bugzilla.proxmox.com/show_bug.cgi?id=4289)"
- '"Might fail, when the PBS backend has verify enabled due to this bug: U(https://bugzilla.proxmox.com/show_bug.cgi?id=4289)".'
type: bool
retention:
description:
- >
Use custom retention options instead of those from the default cluster
configuration (which is usually V("keep-all")).
- Use custom retention options instead of those from the default cluster configuration (which is usually V("keep-all=1")).
- Always requires Datastore.Allocate permission at the storage endpoint.
- >
Specifying a retention time other than V(keep-all=1) might trigger pruning on the datastore,
if an existing backup should be deleted target due to your specified timeframe.
- Specifying a retention time other than V(keep-all=1) might trigger pruning on the datastore, if an existing backup should be deleted
due to your specified timeframe.
- Deleting requires C(Datastore.Modify) or C(Datastore.Prune) permissions on the backup storage.
type: str
storage:
@ -153,9 +141,9 @@ extends_documentation_fragment:
- community.general.proxmox.actiongroup_proxmox
- community.general.proxmox.documentation
- community.general.attributes
'''
"""
EXAMPLES = r'''
EXAMPLES = r"""
- name: Backup all vms in the Proxmox cluster to storage mypbs
community.general.proxmox_backup:
api_user: root@pam
@ -204,9 +192,9 @@ EXAMPLES = r'''
vmids:
- 100
- 101
'''
"""
RETURN = r'''
RETURN = r"""
backups:
description: List of nodes and their task IDs.
returned: on success
@ -223,13 +211,12 @@ backups:
type: str
choices: ["unknown", "success", "failed"]
upid:
description: >
Proxmox cluster UPID, which is needed to lookup task info.
Returns OK, when a cluster node did not create a task after being called,
e.g. due to no matching targets.
description: >-
Proxmox cluster UPID, which is needed to lookup task info. Returns OK, when a cluster node did not create a task after being called, for
example due to no matching targets.
returned: on success
type: str
'''
"""
import time

View File

@ -8,8 +8,7 @@
from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = r'''
---
DOCUMENTATION = r"""
module: proxmox_disk
short_description: Management of a disk of a Qemu(KVM) VM in a Proxmox VE cluster
version_added: 5.7.0
@ -38,31 +37,21 @@ options:
description:
- The disk key (V(unused[n]), V(ide[n]), V(sata[n]), V(scsi[n]) or V(virtio[n])) you want to operate on.
- Disk buses (IDE, SATA and so on) have fixed ranges of V(n) that accepted by Proxmox API.
- >
For IDE: 0-3;
for SCSI: 0-30;
for SATA: 0-5;
for VirtIO: 0-15;
for Unused: 0-255.
- 'For IDE: 0-3; for SCSI: 0-30; for SATA: 0-5; for VirtIO: 0-15; for Unused: 0-255.'
type: str
required: true
state:
description:
- Indicates desired state of the disk.
- >
O(state=present) can be used to create, replace disk or update options in existing disk. It will create missing
disk or update options in existing one by default. See the O(create) parameter description to control behavior
of this option.
- O(state=present) can be used to create, replace disk or update options in existing disk. It will create missing disk or update options
in existing one by default. See the O(create) parameter description to control behavior of this option.
- Some updates on options (like O(cache)) are not being applied instantly and require VM restart.
- >
Use O(state=detached) to detach existing disk from VM but do not remove it entirely.
When O(state=detached) and disk is V(unused[n]) it will be left in same state (not removed).
- >
O(state=moved) may be used to change backing storage for the disk in bounds of the same VM
or to send the disk to another VM (using the same backing storage).
- >
O(state=resized) intended to change the disk size. As of Proxmox 7.2 you can only increase the disk size
because shrinking disks is not supported by the PVE API and has to be done manually.
- Use O(state=detached) to detach existing disk from VM but do not remove it entirely. When O(state=detached) and disk is V(unused[n]) it
will be left in same state (not removed).
- O(state=moved) may be used to change backing storage for the disk in bounds of the same VM or to send the disk to another VM (using the
same backing storage).
- O(state=resized) intended to change the disk size. As of Proxmox 7.2 you can only increase the disk size because shrinking disks is not
supported by the PVE API and has to be done manually.
- To entirely remove the disk from backing storage use O(state=absent).
type: str
choices: ['present', 'resized', 'detached', 'moved', 'absent']
@ -84,10 +73,8 @@ options:
size:
description:
- Desired volume size in GB to allocate when O(state=present) (specify O(size) without suffix).
- >
New (or additional) size of volume when O(state=resized). With the V(+) sign
the value is added to the actual size of the volume
and without it, the value is taken as an absolute one.
- New (or additional) size of volume when O(state=resized). With the V(+) sign the value is added to the actual size of the volume and without
it, the value is taken as an absolute one.
type: str
bwlimit:
description:
@ -176,8 +163,8 @@ options:
import_from:
description:
- Import volume from this existing one.
- Volume string format
- C(<STORAGE>:<VMID>/<FULL_NAME>) or C(<ABSOLUTE_PATH>/<FULL_NAME>)
- Volume string format.
- V(<STORAGE>:<VMID>/<FULL_NAME>) or V(<ABSOLUTE_PATH>/<FULL_NAME>).
- Attention! Only root can use absolute paths.
- This parameter is mutually exclusive with O(size).
- Increase O(timeout) parameter when importing large disk images or using slow storage.
@ -223,7 +210,7 @@ options:
type: int
iothread:
description:
- Whether to use iothreads for this drive (only for SCSI and VirtIO)
- Whether to use iothreads for this drive (only for SCSI and VirtIO).
type: bool
mbps:
description:
@ -262,10 +249,9 @@ options:
description:
- The ISO image to be mounted on the specified in O(disk) CD-ROM.
- O(media=cdrom) needs to be specified for this option to work.
- "Image string format:"
- V(<STORAGE>:iso/<ISO_NAME>) to mount ISO.
- V(cdrom) to use physical CD/DVD drive.
- V(none) to unmount image from existent CD-ROM or create empty CD-ROM drive.
- Use V(<STORAGE>:iso/<ISO_NAME>) to mount ISO.
- Use V(cdrom) to access the physical CD/DVD drive.
- Use V(none) to unmount image from existent CD-ROM or create empty CD-ROM drive.
type: str
version_added: 8.1.0
queues:
@ -330,9 +316,9 @@ extends_documentation_fragment:
- community.general.proxmox.actiongroup_proxmox
- community.general.proxmox.documentation
- community.general.attributes
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
- name: Create new disk in VM (do not rewrite in case it exists already)
community.general.proxmox_disk:
api_host: node1
@ -437,9 +423,9 @@ EXAMPLES = '''
media: cdrom
iso_image: local:iso/favorite_distro_amd64.iso
state: present
'''
"""
RETURN = '''
RETURN = r"""
vmid:
description: The VM vmid.
returned: success
@ -450,7 +436,7 @@ msg:
returned: always
type: str
sample: "Disk scsi3 created in VM 101"
'''
"""
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.proxmox import (proxmox_auth_argument_spec,

View File

@ -9,8 +9,7 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = '''
---
DOCUMENTATION = r"""
module: proxmox_domain_info
short_description: Retrieve information about one or more Proxmox VE domains
version_added: 1.3.0
@ -31,10 +30,10 @@ extends_documentation_fragment:
- community.general.proxmox.documentation
- community.general.attributes
- community.general.attributes.info_module
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
- name: List existing domains
community.general.proxmox_domain_info:
api_host: helldorado
@ -53,33 +52,33 @@ EXAMPLES = '''
api_token_secret: "{{ token_secret | default(omit) }}"
domain: pve
register: proxmox_domain_pve
'''
"""
RETURN = '''
RETURN = r"""
proxmox_domains:
description: List of authentication domains.
returned: always, but can be empty
type: list
elements: dict
contains:
comment:
description: Short description of the realm.
returned: on success
type: str
realm:
description: Realm name.
returned: on success
type: str
type:
description: Realm type.
returned: on success
type: str
digest:
description: Realm hash.
returned: on success, can be absent
type: str
'''
description: List of authentication domains.
returned: always, but can be empty
type: list
elements: dict
contains:
comment:
description: Short description of the realm.
returned: on success
type: str
realm:
description: Realm name.
returned: on success
type: str
type:
description: Realm type.
returned: on success
type: str
digest:
description: Realm hash.
returned: on success, can be absent
type: str
"""
from ansible.module_utils.basic import AnsibleModule

View File

@ -9,13 +9,12 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = '''
---
DOCUMENTATION = r"""
module: proxmox_group_info
short_description: Retrieve information about one or more Proxmox VE groups
version_added: 1.3.0
description:
- Retrieve information about one or more Proxmox VE groups
- Retrieve information about one or more Proxmox VE groups.
attributes:
action_group:
version_added: 9.0.0
@ -31,10 +30,10 @@ extends_documentation_fragment:
- community.general.proxmox.documentation
- community.general.attributes
- community.general.attributes.info_module
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
- name: List existing groups
community.general.proxmox_group_info:
api_host: helldorado
@ -53,30 +52,30 @@ EXAMPLES = '''
api_token_secret: "{{ token_secret | default(omit) }}"
group: admin
register: proxmox_group_admin
'''
"""
RETURN = '''
RETURN = r"""
proxmox_groups:
description: List of groups.
returned: always, but can be empty
type: list
elements: dict
contains:
comment:
description: Short description of the group.
returned: on success, can be absent
type: str
groupid:
description: Group name.
returned: on success
type: str
users:
description: List of users in the group.
returned: on success
type: list
elements: str
'''
description: List of groups.
returned: always, but can be empty
type: list
elements: dict
contains:
comment:
description: Short description of the group.
returned: on success, can be absent
type: str
groupid:
description: Group name.
returned: on success
type: str
users:
description: List of users in the group.
returned: on success
type: list
elements: str
"""
from ansible.module_utils.basic import AnsibleModule

View File

@ -8,8 +8,7 @@
from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = r'''
---
DOCUMENTATION = r"""
module: proxmox_kvm
short_description: Management of Qemu(KVM) Virtual Machines in Proxmox VE cluster
description:
@ -66,21 +65,21 @@ options:
type: str
bootdisk:
description:
- 'Enable booting from specified disk. Format V((ide|sata|scsi|virtio\)\\d+).'
- Enable booting from specified disk. Format V((ide|sata|scsi|virtio\)\\d+).
type: str
cicustom:
description:
- 'cloud-init: Specify custom files to replace the automatically generated ones at start.'
- 'Cloud-init: Specify custom files to replace the automatically generated ones at start.'
type: str
version_added: 1.3.0
cipassword:
description:
- 'cloud-init: password of default user to create.'
- 'Cloud-init: password of default user to create.'
type: str
version_added: 1.3.0
citype:
description:
- 'cloud-init: Specifies the cloud-init configuration format.'
- 'Cloud-init: Specifies the cloud-init configuration format.'
- The default depends on the configured operating system type (V(ostype)).
- We use the V(nocloud) format for Linux, and V(configdrive2) for Windows.
type: str
@ -88,12 +87,12 @@ options:
version_added: 1.3.0
ciupgrade:
description:
- 'cloud-init: do an automatic package upgrade after the first boot.'
- 'Cloud-init: do an automatic package upgrade after the first boot.'
type: bool
version_added: 10.0.0
ciuser:
description:
- 'cloud-init: username of default user to create.'
- 'Cloud-init: username of default user to create.'
type: str
version_added: 1.3.0
clone:
@ -110,13 +109,13 @@ options:
type: str
cpulimit:
description:
- Specify if CPU usage will be limited. Value 0 indicates no CPU limit.
- If the computer has 2 CPUs, it has total of '2' CPU time
- Specify if CPU usage will be limited. Value V(0) indicates no CPU limit.
- If the computer has 2 CPUs, it has total of '2' CPU time.
type: int
cpuunits:
description:
- Specify CPU weight for a VM.
- You can disable fair-scheduler configuration by setting this to 0
- You can disable fair-scheduler configuration by setting this to V(0).
type: int
delete:
description:
@ -144,24 +143,22 @@ options:
type: str
format:
description:
- V(format) is the drive's backing file's data format. Please refer to the Proxmox VE Administrator Guide,
section Proxmox VE Storage (see U(https://pve.proxmox.com/pve-docs/chapter-pvesm.html) for the latest
version, tables 3 to 14) to find out format supported by the provided storage backend.
- V(format) is the drive's backing file's data format. Please refer to the Proxmox VE Administrator Guide, section Proxmox VE Storage
(see U(https://pve.proxmox.com/pve-docs/chapter-pvesm.html) for the latest version, tables 3 to 14) to find out format supported by
the provided storage backend.
type: str
efitype:
description:
- V(efitype) indicates the size of the EFI disk.
- V(2m) will allow for a 2MB EFI disk, which will be enough to persist boot order and new boot entries.
- V(4m) will allow for a 4MB EFI disk, which will additionally allow to store EFI keys in order to enable
Secure Boot
- V(4m) will allow for a 4MB EFI disk, which will additionally allow to store EFI keys in order to enable Secure Boot.
type: str
choices:
- 2m
- 4m
pre_enrolled_keys:
description:
- V(pre_enrolled_keys) indicates whether EFI keys for Secure Boot should be enrolled V(1) in the VM firmware
upon creation or not (0).
- V(pre_enrolled_keys) indicates whether EFI keys for Secure Boot should be enrolled V(1) in the VM firmware upon creation or not (0).
- If set to V(1), Secure Boot will also be enabled by default when the VM is created.
type: bool
version_added: 4.5.0
@ -174,14 +171,13 @@ options:
format:
description:
- Target drive's backing file's data format.
- Used only with clone
- Used only with clone.
- Use O(format=unspecified) and O(full=false) for a linked clone.
- Please refer to the Proxmox VE Administrator Guide, section Proxmox VE Storage (see
U(https://pve.proxmox.com/pve-docs/chapter-pvesm.html) for the latest version, tables 3 to 14) to find out format
supported by the provided storage backend.
- Please refer to the Proxmox VE Administrator Guide, section Proxmox VE Storage (see U(https://pve.proxmox.com/pve-docs/chapter-pvesm.html)
for the latest version, tables 3 to 14) to find out format supported by the provided storage backend.
- Not specifying this option is equivalent to setting it to V(unspecified).
type: str
choices: [ "cloop", "cow", "qcow", "qcow2", "qed", "raw", "vmdk", "unspecified" ]
choices: ["cloop", "cow", "qcow", "qcow2", "qed", "raw", "vmdk", "unspecified"]
freeze:
description:
- Specify if PVE should freeze CPU at startup (use 'c' monitor command to start execution).
@ -190,7 +186,7 @@ options:
description:
- Create a full copy of all disk. This is always done when you clone a normal VM.
- For VM templates, we try to create a linked clone by default.
- Used only with clone
- Used only with clone.
type: bool
default: true
hookscript:
@ -202,11 +198,11 @@ options:
description:
- Specify a hash/dictionary of map host pci devices into guest. O(hostpci='{"key":"value", "key":"value"}').
- Keys allowed are - C(hostpci[n]) where 0 n N.
- Values allowed are - C("host="HOSTPCIID[;HOSTPCIID2...]",pcie="1|0",rombar="1|0",x-vga="1|0"").
- The C(host) parameter is Host PCI device pass through. HOSTPCIID syntax is C(bus:dev.func) (hexadecimal numbers).
- C(pcie=boolean) C(default=0) Choose the PCI-express bus (needs the q35 machine model).
- C(rombar=boolean) C(default=1) Specify whether or not the device's ROM will be visible in the guest's memory map.
- C(x-vga=boolean) C(default=0) Enable vfio-vga device support.
- Values allowed are - V("host="HOSTPCIID[;HOSTPCIID2...]",pcie="1|0",rombar="1|0",x-vga="1|0"").
- The C(host) parameter is Host PCI device pass through. HOSTPCIID syntax is V(bus:dev.func) (hexadecimal numbers).
- V(pcie=boolean) V(default=0) Choose the PCI-express bus (needs the q35 machine model).
- V(rombar=boolean) V(default=1) Specify whether or not the device's ROM will be visible in the guest's memory map.
- V(x-vga=boolean) V(default=0) Enable vfio-vga device support.
- /!\ This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.
type: dict
hotplug:
@ -223,21 +219,21 @@ options:
ide:
description:
- A hash/dictionary of volume used as IDE hard disk or CD-ROM. O(ide='{"key":"value", "key":"value"}').
- Keys allowed are - C(ide[n]) where 0 n 3.
- Values allowed are - C("storage:size,format=value").
- C(storage) is the storage identifier where to create the disk.
- C(size) is the size of the disk in GB.
- C(format) is the drive's backing file's data format. C(qcow2|raw|subvol). Please refer to the Proxmox VE
Administrator Guide, section Proxmox VE Storage (see U(https://pve.proxmox.com/pve-docs/chapter-pvesm.html) for
the latest version, tables 3 to 14) to find out format supported by the provided storage backend.
- Keys allowed are - V(ide[n]) where 0 n 3.
- Values allowed are - V("storage:size,format=value").
- V(storage) is the storage identifier where to create the disk.
- V(size) is the size of the disk in GB.
- V(format) is the drive's backing file's data format. V(qcow2|raw|subvol). Please refer to the Proxmox VE Administrator Guide, section
Proxmox VE Storage (see U(https://pve.proxmox.com/pve-docs/chapter-pvesm.html) for the latest version, tables 3 to 14) to find out format
supported by the provided storage backend.
type: dict
ipconfig:
description:
- 'cloud-init: Set the IP configuration.'
- 'Cloud-init: Set the IP configuration.'
- A hash/dictionary of network ip configurations. O(ipconfig='{"key":"value", "key":"value"}').
- Keys allowed are - C(ipconfig[n]) where 0 n network interfaces.
- Values allowed are - C("[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]").
- 'cloud-init: Specify IP addresses and gateways for the corresponding interface.'
- Keys allowed are - V(ipconfig[n]) where 0 n network interfaces.
- Values allowed are - V("[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]").
- 'Cloud-init: Specify IP addresses and gateways for the corresponding interface.'
- IP addresses use CIDR notation, gateways are optional but they should be in the same subnet of specified IP address.
- The special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.
- For IPv6 the special string 'auto' can be used to use stateless autoconfiguration.
@ -265,7 +261,7 @@ options:
machine:
description:
- Specifies the Qemu machine type.
- 'Type => V((pc|pc(-i440fx\)?-\\d+\\.\\d+(\\.pxe\)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe\)?\)).'
- Type => V((pc|pc(-i440fx\)?-\\d+\\.\\d+(\\.pxe\)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe\)?\)).
type: str
memory:
description:
@ -294,7 +290,7 @@ options:
type: str
nameservers:
description:
- 'cloud-init: DNS server IP address(es).'
- 'Cloud-init: DNS server IP address(es).'
- If unset, PVE host settings are used.
type: list
elements: str
@ -307,7 +303,8 @@ options:
- Model is one of C(e1000 e1000-82540em e1000-82544gc e1000-82545em i82551 i82557b i82559er ne2k_isa ne2k_pci pcnet rtl8139 virtio vmxnet3).
- C(XX:XX:XX:XX:XX:XX) should be an unique MAC address. This is automatically generated if not specified.
- The C(bridge) parameter can be used to automatically add the interface to a bridge device. The Proxmox VE standard bridge is called 'vmbr0'.
- Option C(rate) is used to limit traffic bandwidth from and to this interface. It is specified as floating point number, unit is 'Megabytes per second'.
- Option C(rate) is used to limit traffic bandwidth from and to this interface. It is specified as floating point number, unit is 'Megabytes
per second'.
- If you specify no bridge, we create a kvm 'user' (NATed) network device, which provides DHCP and DNS services.
type: dict
newid:
@ -361,23 +358,23 @@ options:
description:
- A hash/dictionary of volume used as sata hard disk or CD-ROM. O(sata='{"key":"value", "key":"value"}').
- Keys allowed are - C(sata[n]) where 0 n 5.
- Values allowed are - C("storage:size,format=value").
- Values allowed are - C("storage:size,format=value").
- C(storage) is the storage identifier where to create the disk.
- C(size) is the size of the disk in GB.
- C(format) is the drive's backing file's data format. C(qcow2|raw|subvol). Please refer to the Proxmox VE
Administrator Guide, section Proxmox VE Storage (see U(https://pve.proxmox.com/pve-docs/chapter-pvesm.html) for
the latest version, tables 3 to 14) to find out format supported by the provided storage backend.
- C(format) is the drive's backing file's data format. C(qcow2|raw|subvol). Please refer to the Proxmox VE Administrator Guide, section
Proxmox VE Storage (see U(https://pve.proxmox.com/pve-docs/chapter-pvesm.html) for the latest version, tables 3 to 14) to find out format
supported by the provided storage backend.
type: dict
scsi:
description:
- A hash/dictionary of volume used as SCSI hard disk or CD-ROM. O(scsi='{"key":"value", "key":"value"}').
- Keys allowed are - C(scsi[n]) where 0 n 13.
- Values allowed are - C("storage:size,format=value").
- Values allowed are - C("storage:size,format=value").
- C(storage) is the storage identifier where to create the disk.
- C(size) is the size of the disk in GB.
- C(format) is the drive's backing file's data format. C(qcow2|raw|subvol). Please refer to the Proxmox VE
Administrator Guide, section Proxmox VE Storage (see U(https://pve.proxmox.com/pve-docs/chapter-pvesm.html) for
the latest version, tables 3 to 14) to find out format supported by the provided storage backend.
- C(format) is the drive's backing file's data format. C(qcow2|raw|subvol). Please refer to the Proxmox VE Administrator Guide, section
Proxmox VE Storage (see U(https://pve.proxmox.com/pve-docs/chapter-pvesm.html) for the latest version, tables 3 to 14) to find out format
supported by the provided storage backend.
type: dict
scsihw:
description:
@ -386,7 +383,7 @@ options:
choices: ['lsi', 'lsi53c810', 'virtio-scsi-pci', 'virtio-scsi-single', 'megasas', 'pvscsi']
searchdomains:
description:
- 'cloud-init: Sets DNS search domain(s).'
- 'Cloud-init: Sets DNS search domain(s).'
- If unset, PVE host settings are used.
type: list
elements: str
@ -407,20 +404,20 @@ options:
type: int
skiplock:
description:
- Ignore locks
- Ignore locks.
- Only root is allowed to use this option.
type: bool
smbios:
description:
- Specifies SMBIOS type 1 fields.
- "Comma separated, Base64 encoded (optional) SMBIOS properties:"
- V([base64=<1|0>] [,family=<Base64 encoded string>])
- V([,manufacturer=<Base64 encoded string>])
- V([,product=<Base64 encoded string>])
- V([,serial=<Base64 encoded string>])
- V([,sku=<Base64 encoded string>])
- V([,uuid=<UUID>])
- V([,version=<Base64 encoded string>])
- Comma separated, Base64 encoded (optional) SMBIOS properties:.
- V([base64=<1|0>] [,family=<Base64 encoded string>]).
- V([,manufacturer=<Base64 encoded string>]).
- V([,product=<Base64 encoded string>]).
- V([,serial=<Base64 encoded string>]).
- V([,sku=<Base64 encoded string>]).
- V([,uuid=<UUID>]).
- V([,version=<Base64 encoded string>]).
type: str
snapname:
description:
@ -432,7 +429,7 @@ options:
type: int
sshkeys:
description:
- 'cloud-init: SSH key to assign to the default user. NOT TESTED with multiple keys but a multi-line value should work.'
- 'Cloud-init: SSH key to assign to the default user. NOT TESTED with multiple keys but a multi-line value should work.'
type: str
version_added: 1.3.0
startdate:
@ -449,7 +446,7 @@ options:
state:
description:
- Indicates desired state of the instance.
- If V(current), the current state of the VM will be fetched. You can access it with C(results.status)
- If V(current), the current state of the VM will be fetched. You can access it with C(results.status).
- V(template) was added in community.general 8.1.0.
type: str
choices: ['present', 'started', 'absent', 'stopped', 'restarted', 'current', 'template']
@ -473,7 +470,7 @@ options:
target:
description:
- Target node. Only allowed if the original VM is on shared storage.
- Used only with clone
- Used only with clone.
type: str
tdf:
description:
@ -512,7 +509,7 @@ options:
- A hash/dictionary of USB devices for the VM. O(usb='{"key":"value", "key":"value"}').
- Keys allowed are - C(usb[n]) where 0 n N.
- Values allowed are - C(host="value|spice",mapping="value",usb3="1|0").
- host is either C(spice) or the USB id/port.
- Host is either C(spice) or the USB id/port.
- Option C(mapping) is the mapped USB device name.
- Option C(usb3) enables USB 3 support.
type: dict
@ -520,16 +517,16 @@ options:
update:
description:
- If V(true), the VM will be updated with new value.
- Because of the operations of the API and security reasons, I have disabled the update of the following parameters
O(net), O(virtio), O(ide), O(sata), O(scsi). Per example updating O(net) update the MAC address and C(virtio) create always new disk...
This security feature can be disabled by setting the O(update_unsafe) to V(true).
- Because of the operations of the API and security reasons, I have disabled the update of the following parameters O(net), O(virtio), O(ide),
O(sata), O(scsi). Per example updating O(net) update the MAC address and O(virtio) create always new disk... This security feature can
be disabled by setting the O(update_unsafe) to V(true).
- Update of O(pool) is disabled. It needs an additional API endpoint not covered by this module.
type: bool
default: false
update_unsafe:
description:
- If V(true), do not enforce limitations on parameters O(net), O(virtio), O(ide), O(sata), O(scsi), O(efidisk0), and O(tpmstate0).
Use this option with caution because an improper configuration might result in a permanent loss of data (e.g. disk recreated).
- If V(true), do not enforce limitations on parameters O(net), O(virtio), O(ide), O(sata), O(scsi), O(efidisk0), and O(tpmstate0). Use this
option with caution because an improper configuration might result in a permanent loss of data (for example disk recreated).
type: bool
default: false
version_added: 8.4.0
@ -545,13 +542,13 @@ options:
virtio:
description:
- A hash/dictionary of volume used as VIRTIO hard disk. O(virtio='{"key":"value", "key":"value"}').
- Keys allowed are - C(virtio[n]) where 0 n 15.
- Values allowed are - C("storage:size,format=value").
- C(storage) is the storage identifier where to create the disk.
- C(size) is the size of the disk in GB.
- C(format) is the drive's backing file's data format. C(qcow2|raw|subvol). Please refer to the Proxmox VE
Administrator Guide, section Proxmox VE Storage (see U(https://pve.proxmox.com/pve-docs/chapter-pvesm.html)
for the latest version, tables 3 to 14) to find out format supported by the provided storage backend.
- Keys allowed are - V(virtio[n]) where 0 n 15.
- Values allowed are - V("storage:size,format=value").
- V(storage) is the storage identifier where to create the disk.
- V(size) is the size of the disk in GB.
- V(format) is the drive's backing file's data format. C(qcow2|raw|subvol). Please refer to the Proxmox VE Administrator Guide, section
Proxmox VE Storage (see U(https://pve.proxmox.com/pve-docs/chapter-pvesm.html) for the latest version, tables 3 to 14) to find out format
supported by the provided storage backend.
type: dict
watchdog:
description:
@ -564,9 +561,9 @@ extends_documentation_fragment:
- community.general.proxmox.documentation
- community.general.proxmox.selection
- community.general.attributes
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
- name: Create new VM with minimal options
community.general.proxmox_kvm:
api_user: root@pam
@ -846,7 +843,7 @@ EXAMPLES = '''
cores: 8
memory: 16384
net:
net0: virtio,bridge=vmbr1
net0: virtio,bridge=vmbr1
update: true
update_unsafe: true
@ -886,10 +883,9 @@ EXAMPLES = '''
node: sabrewulf
hookscript: local:snippets/hookscript.pl
update: true
"""
'''
RETURN = '''
RETURN = r"""
vmid:
description: The VM vmid.
returned: success
@ -901,11 +897,11 @@ status:
type: str
sample: running
msg:
description: A short message
description: A short message.
returned: always
type: str
sample: "VM kropta with vmid = 110 is running"
'''
"""
import re
import time

View File

@ -8,8 +8,7 @@
from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = r'''
---
DOCUMENTATION = r"""
module: proxmox_nic
short_description: Management of a NIC of a Qemu(KVM) VM in a Proxmox VE cluster
version_added: 3.1.0
@ -52,8 +51,8 @@ options:
description:
- The NIC emulator model.
type: str
choices: ['e1000', 'e1000-82540em', 'e1000-82544gc', 'e1000-82545em', 'i82551', 'i82557b', 'i82559er', 'ne2k_isa', 'ne2k_pci', 'pcnet',
'rtl8139', 'virtio', 'vmxnet3']
choices: ['e1000', 'e1000-82540em', 'e1000-82544gc', 'e1000-82545em', 'i82551', 'i82557b', 'i82559er', 'ne2k_isa', 'ne2k_pci', 'pcnet', 'rtl8139',
'virtio', 'vmxnet3']
default: virtio
mtu:
description:
@ -99,9 +98,9 @@ extends_documentation_fragment:
- community.general.proxmox.actiongroup_proxmox
- community.general.proxmox.documentation
- community.general.attributes
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
- name: Create NIC net0 targeting the vm by name
community.general.proxmox_nic:
api_user: root@pam
@ -131,20 +130,20 @@ EXAMPLES = '''
name: my_vm
interface: net0
state: absent
'''
"""
RETURN = '''
RETURN = r"""
vmid:
description: The VM vmid.
returned: success
type: int
sample: 115
msg:
description: A short message
description: A short message.
returned: always
type: str
sample: "Nic net0 unchanged on VM with vmid 103"
'''
"""
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.proxmox import (proxmox_auth_argument_spec, ProxmoxAnsible)

View File

@ -9,8 +9,7 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = '''
---
DOCUMENTATION = r"""
module: proxmox_node_info
short_description: Retrieve information about one or more Proxmox VE nodes
version_added: 8.2.0
@ -25,10 +24,10 @@ extends_documentation_fragment:
- community.general.proxmox.documentation
- community.general.attributes
- community.general.attributes.info_module
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
- name: List existing nodes
community.general.proxmox_node_info:
api_host: proxmox1
@ -37,69 +36,69 @@ EXAMPLES = '''
api_token_id: "{{ token_id | default(omit) }}"
api_token_secret: "{{ token_secret | default(omit) }}"
register: proxmox_nodes
'''
"""
RETURN = '''
RETURN = r"""
proxmox_nodes:
description: List of Proxmox VE nodes.
returned: always, but can be empty
type: list
elements: dict
contains:
cpu:
description: Current CPU usage in fractional shares of this host's total available CPU.
returned: on success
type: float
disk:
description: Current local disk usage of this host.
returned: on success
type: int
id:
description: Identity of the node.
returned: on success
type: str
level:
description: Support level. Can be blank if not under a paid support contract.
returned: on success
type: str
maxcpu:
description: Total number of available CPUs on this host.
returned: on success
type: int
maxdisk:
description: Size of local disk in bytes.
returned: on success
type: int
maxmem:
description: Memory size in bytes.
returned: on success
type: int
mem:
description: Used memory in bytes.
returned: on success
type: int
node:
description: Short hostname of this node.
returned: on success
type: str
ssl_fingerprint:
description: SSL fingerprint of the node certificate.
returned: on success
type: str
status:
description: Node status.
returned: on success
type: str
type:
description: Object type being returned.
returned: on success
type: str
uptime:
description: Node uptime in seconds.
returned: on success
type: int
'''
description: List of Proxmox VE nodes.
returned: always, but can be empty
type: list
elements: dict
contains:
cpu:
description: Current CPU usage in fractional shares of this host's total available CPU.
returned: on success
type: float
disk:
description: Current local disk usage of this host.
returned: on success
type: int
id:
description: Identity of the node.
returned: on success
type: str
level:
description: Support level. Can be blank if not under a paid support contract.
returned: on success
type: str
maxcpu:
description: Total number of available CPUs on this host.
returned: on success
type: int
maxdisk:
description: Size of local disk in bytes.
returned: on success
type: int
maxmem:
description: Memory size in bytes.
returned: on success
type: int
mem:
description: Used memory in bytes.
returned: on success
type: int
node:
description: Short hostname of this node.
returned: on success
type: str
ssl_fingerprint:
description: SSL fingerprint of the node certificate.
returned: on success
type: str
status:
description: Node status.
returned: on success
type: str
type:
description: Object type being returned.
returned: on success
type: str
uptime:
description: Node uptime in seconds.
returned: on success
type: int
"""
from ansible.module_utils.basic import AnsibleModule

View File

@ -8,7 +8,6 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = r"""
---
module: proxmox_pool
short_description: Pool management for Proxmox VE cluster
description:
@ -28,12 +27,12 @@ options:
description:
- The pool ID.
type: str
aliases: [ "name" ]
aliases: ["name"]
required: true
state:
description:
- Indicate desired state of the pool.
- The pool must be empty prior deleting it with O(state=absent).
- Indicate desired state of the pool.
- The pool must be empty prior deleting it with O(state=absent).
choices: ['present', 'absent']
default: present
type: str
@ -49,7 +48,7 @@ extends_documentation_fragment:
- community.general.attributes
"""
EXAMPLES = """
EXAMPLES = r"""
- name: Create new Proxmox VE pool
community.general.proxmox_pool:
api_host: node1
@ -67,7 +66,7 @@ EXAMPLES = """
state: absent
"""
RETURN = """
RETURN = r"""
poolid:
description: The pool ID.
returned: success

View File

@ -8,7 +8,6 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = r"""
---
module: proxmox_pool_member
short_description: Add or delete members from Proxmox VE cluster pools
description:
@ -27,7 +26,7 @@ options:
description:
- The pool ID.
type: str
aliases: [ "name" ]
aliases: ["name"]
required: true
member:
description:
@ -44,7 +43,7 @@ options:
type: str
state:
description:
- Indicate desired state of the pool member.
- Indicate desired state of the pool member.
choices: ['present', 'absent']
default: present
type: str
@ -55,7 +54,7 @@ extends_documentation_fragment:
- community.general.attributes
"""
EXAMPLES = """
EXAMPLES = r"""
- name: Add new VM to Proxmox VE pool
community.general.proxmox_pool_member:
api_host: node1
@ -93,7 +92,7 @@ EXAMPLES = """
state: absent
"""
RETURN = """
RETURN = r"""
poolid:
description: The pool ID.
returned: success

View File

@ -8,8 +8,7 @@
from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = r'''
---
DOCUMENTATION = r"""
module: proxmox_snap
short_description: Snapshot management of instances in Proxmox VE cluster
version_added: 2.0.0
@ -35,8 +34,8 @@ options:
type: str
state:
description:
- Indicate desired state of the instance snapshot.
- The V(rollback) value was added in community.general 4.8.0.
- Indicate desired state of the instance snapshot.
- The V(rollback) value was added in community.general 4.8.0.
choices: ['present', 'absent', 'rollback']
default: present
type: str
@ -51,7 +50,8 @@ options:
- Allows to snapshot a container even if it has configured mountpoints.
- Temporarily disables all configured mountpoints, takes snapshot, and finally restores original configuration.
- If running, the container will be stopped and restarted to apply config changes.
- Due to restrictions in the Proxmox API this option can only be used authenticating as V(root@pam) with O(api_password), API tokens do not work either.
- Due to restrictions in the Proxmox API this option can only be used authenticating as V(root@pam) with O(api_password), API tokens do
not work either.
- See U(https://pve.proxmox.com/pve-docs/api-viewer/#/nodes/{node}/lxc/{vmid}/config) (PUT tab) for more details.
default: false
type: bool
@ -80,23 +80,23 @@ options:
description:
- Remove old snapshots if there are more than O(retention) snapshots.
- If O(retention) is set to V(0), all snapshots will be kept.
- This is only used when O(state=present) and when an actual snapshot is created.
If no snapshot is created, all existing snapshots will be kept.
- This is only used when O(state=present) and when an actual snapshot is created. If no snapshot is created, all existing snapshots will
be kept.
default: 0
type: int
version_added: 7.1.0
notes:
- Requires proxmoxer and requests modules on host. These modules can be installed with pip.
requirements: [ "proxmoxer", "requests" ]
requirements: ["proxmoxer", "requests"]
author: Jeffrey van Pelt (@Thulium-Drake)
extends_documentation_fragment:
- community.general.proxmox.actiongroup_proxmox
- community.general.proxmox.documentation
- community.general.attributes
'''
"""
EXAMPLES = r'''
EXAMPLES = r"""
- name: Create new container snapshot
community.general.proxmox_snap:
api_user: root@pam
@ -143,9 +143,9 @@ EXAMPLES = r'''
vmid: 100
state: rollback
snapname: pre-updates
'''
"""
RETURN = r'''#'''
RETURN = r"""#"""
import time

View File

@ -10,8 +10,7 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = """
---
DOCUMENTATION = r"""
module: proxmox_storage_contents_info
short_description: List content from a Proxmox VE storage
version_added: 8.2.0
@ -51,7 +50,7 @@ extends_documentation_fragment:
"""
EXAMPLES = """
EXAMPLES = r"""
- name: List existing storages
community.general.proxmox_storage_contents_info:
api_host: helldorado
@ -65,7 +64,7 @@ EXAMPLES = """
"""
RETURN = """
RETURN = r"""
proxmox_storage_content:
description: Content of of storage attached to a node.
type: list

View File

@ -9,8 +9,7 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = '''
---
DOCUMENTATION = r"""
module: proxmox_storage_info
short_description: Retrieve information about one or more Proxmox VE storages
version_added: 2.2.0
@ -37,10 +36,10 @@ extends_documentation_fragment:
- community.general.attributes.info_module
notes:
- Storage specific options can be returned by this module, please look at the documentation at U(https://pve.proxmox.com/wiki/Storage).
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
- name: List existing storages
community.general.proxmox_storage_info:
api_host: helldorado
@ -69,10 +68,10 @@ EXAMPLES = '''
api_token_secret: "{{ token_secret | default(omit) }}"
storage: lvm2
register: proxmox_storage_lvm
'''
"""
RETURN = '''
RETURN = r"""
proxmox_storages:
description: List of storage pools.
returned: on success
@ -80,41 +79,41 @@ proxmox_storages:
elements: dict
contains:
content:
description: Proxmox content types available in this storage
description: Proxmox content types available in this storage.
returned: on success
type: list
elements: str
digest:
description: Storage's digest
description: Storage's digest.
returned: on success
type: str
nodes:
description: List of nodes associated to this storage
description: List of nodes associated to this storage.
returned: on success, if storage is not local
type: list
elements: str
path:
description: Physical path to this storage
description: Physical path to this storage.
returned: on success
type: str
prune-backups:
description: Backup retention options
description: Backup retention options.
returned: on success
type: list
elements: dict
shared:
description: Is this storage shared
description: Is this storage shared.
returned: on success
type: bool
storage:
description: Storage name
description: Storage name.
returned: on success
type: str
type:
description: Storage type
description: Storage type.
returned: on success
type: str
'''
"""
from ansible.module_utils.basic import AnsibleModule

View File

@ -9,8 +9,7 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = r'''
---
DOCUMENTATION = r"""
module: proxmox_tasks_info
short_description: Retrieve information about one or more Proxmox VE tasks
version_added: 3.8.0
@ -36,10 +35,10 @@ extends_documentation_fragment:
- community.general.proxmox.documentation
- community.general.attributes
- community.general.attributes.info_module
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
- name: List tasks on node01
community.general.proxmox_tasks_info:
api_host: proxmoxhost
@ -60,66 +59,66 @@ EXAMPLES = '''
task: 'UPID:node01:00003263:16167ACE:621EE230:srvreload:networking:root@pam:'
node: node01
register: proxmox_tasks
'''
"""
RETURN = '''
RETURN = r"""
proxmox_tasks:
description: List of tasks.
returned: on success
type: list
elements: dict
contains:
id:
description: ID of the task.
returned: on success
type: str
node:
description: Node name.
returned: on success
type: str
pid:
description: PID of the task.
returned: on success
type: int
pstart:
description: pastart of the task.
returned: on success
type: int
starttime:
description: Starting time of the task.
returned: on success
type: int
type:
description: Type of the task.
returned: on success
type: str
upid:
description: UPID of the task.
returned: on success
type: str
user:
description: User that owns the task.
returned: on success
type: str
endtime:
description: Endtime of the task.
returned: on success, can be absent
type: int
status:
description: Status of the task.
returned: on success, can be absent
type: str
failed:
description: If the task failed.
returned: when status is defined
type: bool
description: List of tasks.
returned: on success
type: list
elements: dict
contains:
id:
description: ID of the task.
returned: on success
type: str
node:
description: Node name.
returned: on success
type: str
pid:
description: PID of the task.
returned: on success
type: int
pstart:
description: Pastart of the task.
returned: on success
type: int
starttime:
description: Starting time of the task.
returned: on success
type: int
type:
description: Type of the task.
returned: on success
type: str
upid:
description: UPID of the task.
returned: on success
type: str
user:
description: User that owns the task.
returned: on success
type: str
endtime:
description: Endtime of the task.
returned: on success, can be absent
type: int
status:
description: Status of the task.
returned: on success, can be absent
type: str
failed:
description: If the task failed.
returned: when status is defined
type: bool
msg:
description: Short message.
returned: on failure
type: str
sample: 'Task: UPID:xyz:xyz does not exist on node: proxmoxnode'
'''
description: Short message.
returned: on failure
type: str
sample: 'Task: UPID:xyz:xyz does not exist on node: proxmoxnode'
"""
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.proxmox import (

View File

@ -9,12 +9,11 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = '''
---
DOCUMENTATION = r"""
module: proxmox_template
short_description: Management of OS templates in Proxmox VE cluster
description:
- allows you to upload/delete templates in Proxmox VE cluster
- Allows you to upload/delete templates in Proxmox VE cluster.
attributes:
check_mode:
support: none
@ -34,7 +33,7 @@ options:
type: path
url:
description:
- URL to file to download
- URL to file to download.
- Exactly one of O(src) or O(url) is required for O(state=present).
type: str
version_added: 10.1.0
@ -68,7 +67,7 @@ options:
default: false
state:
description:
- Indicate desired state of the template.
- Indicate desired state of the template.
type: str
choices: ['present', 'absent']
default: present
@ -80,9 +79,9 @@ extends_documentation_fragment:
- community.general.proxmox.actiongroup_proxmox
- community.general.proxmox.documentation
- community.general.attributes
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
- name: Upload new openvz template with minimal options
community.general.proxmox_template:
node: uk-mc02
@ -148,7 +147,7 @@ EXAMPLES = '''
storage: local
content_type: vztmpl
template: ubuntu-20.04-standard_20.04-1_amd64.tar.gz
'''
"""
import os
import time

View File

@ -9,13 +9,12 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = '''
---
DOCUMENTATION = r"""
module: proxmox_user_info
short_description: Retrieve information about one or more Proxmox VE users
version_added: 1.3.0
description:
- Retrieve information about one or more Proxmox VE users
- Retrieve information about one or more Proxmox VE users.
attributes:
action_group:
version_added: 9.0.0
@ -40,9 +39,9 @@ extends_documentation_fragment:
- community.general.proxmox.documentation
- community.general.attributes
- community.general.attributes.info_module
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
- name: List existing users
community.general.proxmox_user_info:
api_host: helldorado
@ -82,84 +81,84 @@ EXAMPLES = '''
user: admin
domain: pve
register: proxmox_user_admin
'''
"""
RETURN = '''
RETURN = r"""
proxmox_users:
description: List of users.
returned: always, but can be empty
type: list
elements: dict
contains:
comment:
description: Short description of the user.
returned: on success
type: str
domain:
description: User's authentication realm, also the right part of the user ID.
returned: on success
type: str
email:
description: User's email address.
returned: on success
type: str
enabled:
description: User's account state.
returned: on success
type: bool
expire:
description: Expiration date in seconds since EPOCH. Zero means no expiration.
returned: on success
type: int
firstname:
description: User's first name.
returned: on success
type: str
groups:
description: List of groups which the user is a member of.
returned: on success
type: list
elements: str
keys:
description: User's two factor authentication keys.
returned: on success
type: str
lastname:
description: User's last name.
returned: on success
type: str
tokens:
description: List of API tokens associated to the user.
returned: on success
type: list
elements: dict
contains:
comment:
description: Short description of the token.
returned: on success
type: str
expire:
description: Expiration date in seconds since EPOCH. Zero means no expiration.
returned: on success
type: int
privsep:
description: Describe if the API token is further restricted with ACLs or is fully privileged.
returned: on success
type: bool
tokenid:
description: Token name.
returned: on success
type: str
user:
description: User's login name, also the left part of the user ID.
returned: on success
type: str
userid:
description: Proxmox user ID, represented as user@realm.
returned: on success
type: str
'''
description: List of users.
returned: always, but can be empty
type: list
elements: dict
contains:
comment:
description: Short description of the user.
returned: on success
type: str
domain:
description: User's authentication realm, also the right part of the user ID.
returned: on success
type: str
email:
description: User's email address.
returned: on success
type: str
enabled:
description: User's account state.
returned: on success
type: bool
expire:
description: Expiration date in seconds since EPOCH. Zero means no expiration.
returned: on success
type: int
firstname:
description: User's first name.
returned: on success
type: str
groups:
description: List of groups which the user is a member of.
returned: on success
type: list
elements: str
keys:
description: User's two factor authentication keys.
returned: on success
type: str
lastname:
description: User's last name.
returned: on success
type: str
tokens:
description: List of API tokens associated to the user.
returned: on success
type: list
elements: dict
contains:
comment:
description: Short description of the token.
returned: on success
type: str
expire:
description: Expiration date in seconds since EPOCH. Zero means no expiration.
returned: on success
type: int
privsep:
description: Describe if the API token is further restricted with ACLs or is fully privileged.
returned: on success
type: bool
tokenid:
description: Token name.
returned: on success
type: str
user:
description: User's login name, also the left part of the user ID.
returned: on success
type: str
userid:
description: Proxmox user ID, represented as user@realm.
returned: on success
type: str
"""
from ansible.module_utils.basic import AnsibleModule

View File

@ -9,8 +9,7 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = """
---
DOCUMENTATION = r"""
module: proxmox_vm_info
short_description: Retrieve information about one or more Proxmox VE virtual machines
version_added: 7.2.0
@ -71,7 +70,7 @@ extends_documentation_fragment:
- community.general.attributes.info_module
"""
EXAMPLES = """
EXAMPLES = r"""
- name: List all existing virtual machines on node
community.general.proxmox_vm_info:
api_host: proxmoxhost
@ -108,7 +107,7 @@ EXAMPLES = """
config: current
"""
RETURN = """
RETURN = r"""
proxmox_vms:
description: List of virtual machines.
returned: on success

View File

@ -14,15 +14,12 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = '''
---
DOCUMENTATION = r"""
module: pubnub_blocks
short_description: PubNub blocks management module
description:
- "This module allows Ansible to interface with the PubNub BLOCKS
infrastructure by providing the following operations: create / remove,
start / stop and rename for blocks and create / modify / remove for event
handlers."
- 'This module allows Ansible to interface with the PubNub BLOCKS infrastructure by providing the following operations: create / remove, start
/ stop and rename for blocks and create / modify / remove for event handlers.'
author:
- PubNub <support@pubnub.com> (@pubnub)
- Sergey Mamontov <sergey@pubnub.com> (@parfeon)
@ -39,38 +36,33 @@ options:
email:
description:
- Email from account for which new session should be started.
- "Not required if O(cache) contains result of previous module call (in
same play)."
- Not required if O(cache) contains result of previous module call (in same play).
required: false
type: str
default: ''
password:
description:
- Password which match to account to which specified O(email) belong.
- "Not required if O(cache) contains result of previous module call (in
same play)."
- Not required if O(cache) contains result of previous module call (in same play).
required: false
type: str
default: ''
cache:
description: >
In case if single play use blocks management module few times it is
preferred to enabled 'caching' by making previous module to share
gathered artifacts and pass them to this parameter.
description: >-
In case if single play use blocks management module few times it is preferred to enabled 'caching' by making previous module to share gathered
artifacts and pass them to this parameter.
required: false
type: dict
default: {}
account:
description:
- "Name of PubNub account for from which O(application) will be used to
manage blocks."
- "User's account will be used if value not set or empty."
- Name of PubNub account for from which O(application) will be used to manage blocks.
- User's account will be used if value not set or empty.
type: str
default: ''
application:
description:
- "Name of target PubNub application for which blocks configuration on
specific O(keyset) will be done."
- Name of target PubNub application for which blocks configuration on specific O(keyset) will be done.
type: str
required: true
keyset:
@ -80,8 +72,7 @@ options:
required: true
state:
description:
- "Intended block state after event handlers creation / update process
will be completed."
- Intended block state after event handlers creation / update process will be completed.
required: false
default: 'present'
choices: ['started', 'stopped', 'present', 'absent']
@ -93,55 +84,45 @@ options:
type: str
description:
description:
- Short block description which will be later visible on
admin.pubnub.com. Used only if block doesn't exists and won't change
description for existing block.
- Short block description which will be later visible on admin.pubnub.com. Used only if block doesn't exists and won't change description
for existing block.
required: false
type: str
event_handlers:
description:
- "List of event handlers which should be updated for specified block
O(name)."
- "Each entry for new event handler should contain: C(name), C(src),
C(channels), C(event). C(name) used as event handler name which can be
used later to make changes to it."
- List of event handlers which should be updated for specified block O(name).
- 'Each entry for new event handler should contain: V(name), V(src), V(channels), V(event). V(name) used as event handler name which can
be used later to make changes to it.'
- C(src) is full path to file with event handler code.
- "C(channels) is name of channel from which event handler is waiting
for events."
- "C(event) is type of event which is able to trigger event handler:
C(js-before-publish), C(js-after-publish), C(js-after-presence)."
- "Each entry for existing handlers should contain C(name) (so target
handler can be identified). Rest parameters (C(src), C(channels) and
C(event)) can be added if changes required for them."
- "It is possible to rename event handler by adding C(changes) key to
event handler payload and pass dictionary, which will contain single key
C(name), where new name should be passed."
- "To remove particular event handler it is possible to set C(state) for
it to C(absent) and it will be removed."
- V(channels) is name of channel from which event handler is waiting for events.
- 'V(event) is type of event which is able to trigger event handler: V(js-before-publish), V(js-after-publish), V(js-after-presence).'
- Each entry for existing handlers should contain C(name) (so target handler can be identified). Rest parameters (C(src), C(channels) and
C(event)) can be added if changes required for them.
- It is possible to rename event handler by adding C(changes) key to event handler payload and pass dictionary, which will contain single
key C(name), where new name should be passed.
- To remove particular event handler it is possible to set C(state) for it to C(absent) and it will be removed.
required: false
default: []
type: list
elements: dict
changes:
description:
- "List of fields which should be changed by block itself (doesn't
affect any event handlers)."
- "Possible options for change is: O(name)."
- List of fields which should be changed by block itself (does not affect any event handlers).
- 'Possible options for change is: O(name).'
required: false
default: {}
type: dict
validate_certs:
description:
- "This key allow to try skip certificates check when performing REST API
calls. Sometimes host may have issues with certificates on it and this
will cause problems to call PubNub REST API."
- This key allow to try skip certificates check when performing REST API calls. Sometimes host may have issues with certificates on it and
this will cause problems to call PubNub REST API.
- If check should be ignored V(false) should be passed to this parameter.
required: false
default: true
type: bool
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
# Event handler create example.
- name: Create single event handler
community.general.pubnub_blocks:
@ -151,8 +132,7 @@ EXAMPLES = '''
keyset: '{{ keyset_name }}'
name: '{{ block_name }}'
event_handlers:
-
src: '{{ path_to_handler_source }}'
- src: '{{ path_to_handler_source }}'
name: '{{ handler_name }}'
event: 'js-before-publish'
channels: '{{ handler_channel }}'
@ -166,8 +146,7 @@ EXAMPLES = '''
keyset: '{{ keyset_name }}'
name: '{{ block_name }}'
event_handlers:
-
name: '{{ handler_name }}'
- name: '{{ handler_name }}'
event: 'js-after-publish'
# Stop block and event handlers.
@ -199,8 +178,7 @@ EXAMPLES = '''
name: '{{ block_name }}'
state: present
event_handlers:
-
src: '{{ path_to_handler_1_source }}'
- src: '{{ path_to_handler_1_source }}'
name: '{{ event_handler_1_name }}'
channels: '{{ event_handler_1_channel }}'
event: 'js-before-publish'
@ -213,8 +191,7 @@ EXAMPLES = '''
name: '{{ block_name }}'
state: present
event_handlers:
-
src: '{{ path_to_handler_2_source }}'
- src: '{{ path_to_handler_2_source }}'
name: '{{ event_handler_2_name }}'
channels: '{{ event_handler_2_channel }}'
event: 'js-before-publish'
@ -226,17 +203,16 @@ EXAMPLES = '''
keyset: '{{ keyset_name }}'
name: '{{ block_name }}'
state: started
'''
"""
RETURN = '''
RETURN = r"""
module_cache:
description:
- Cached account information. In case if with single play module
used few times it is better to pass cached data to next module calls to speed
- Cached account information. In case if with single play module used few times it is better to pass cached data to next module calls to speed
up process.
type: dict
returned: always
'''
"""
import copy
import os

View File

@ -10,8 +10,7 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = '''
---
DOCUMENTATION = r"""
module: pulp_repo
author: "Joe Adams (@sysadmind)"
short_description: Add or remove Pulp repos from a remote host
@ -35,78 +34,68 @@ options:
type: str
force_basic_auth:
description:
- httplib2, the library used by the M(ansible.builtin.uri) module only sends
authentication information when a webservice responds to an initial
request with a 401 status. Since some basic auth services do not
properly send a 401, logins will fail. This option forces the sending of
the Basic authentication header upon initial request.
- C(httplib2), the library used by the M(ansible.builtin.uri) module only sends authentication information when a webservice responds to an
initial request with a 401 status. Since some basic auth services do not properly send a 401, logins will fail. This option forces the
sending of the Basic authentication header upon initial request.
type: bool
default: false
generate_sqlite:
description:
- Boolean flag to indicate whether sqlite files should be generated during
a repository publish.
- Boolean flag to indicate whether sqlite files should be generated during a repository publish.
required: false
type: bool
default: false
feed_ca_cert:
description:
- CA certificate string used to validate the feed source SSL certificate.
This can be the file content or the path to the file.
- CA certificate string used to validate the feed source SSL certificate. This can be the file content or the path to the file.
type: str
aliases: [ importer_ssl_ca_cert ]
aliases: [importer_ssl_ca_cert]
feed_client_cert:
description:
- Certificate used as the client certificate when synchronizing the
repository. This is used to communicate authentication information to
the feed source. The value to this option must be the full path to the
certificate. The specified file may be the certificate itself or a
single file containing both the certificate and private key. This can be
the file content or the path to the file.
- Certificate used as the client certificate when synchronizing the repository. This is used to communicate authentication information to
the feed source. The value to this option must be the full path to the certificate. The specified file may be the certificate itself or
a single file containing both the certificate and private key. This can be the file content or the path to the file.
type: str
aliases: [ importer_ssl_client_cert ]
aliases: [importer_ssl_client_cert]
feed_client_key:
description:
- Private key to the certificate specified in O(feed_client_cert),
assuming it is not included in the certificate file itself. This can be
the file content or the path to the file.
- Private key to the certificate specified in O(feed_client_cert), assuming it is not included in the certificate file itself. This can
be the file content or the path to the file.
type: str
aliases: [ importer_ssl_client_key ]
aliases: [importer_ssl_client_key]
name:
description:
- Name of the repo to add or remove. This correlates to repo-id in Pulp.
required: true
type: str
aliases: [ repo ]
aliases: [repo]
proxy_host:
description:
- Proxy url setting for the pulp repository importer. This is in the
format scheme://host.
- Proxy url setting for the pulp repository importer. This is in the format scheme://host.
required: false
default: null
default:
type: str
proxy_port:
description:
- Proxy port setting for the pulp repository importer.
required: false
default: null
default:
type: str
proxy_username:
description:
- Proxy username for the pulp repository importer.
required: false
default: null
default:
type: str
proxy_password:
description:
- Proxy password for the pulp repository importer.
required: false
default: null
default:
type: str
publish_distributor:
description:
- Distributor to use when O(state=publish). The default is to
publish all distributors.
- Distributor to use when O(state=publish). The default is to publish all distributors.
type: str
pulp_host:
description:
@ -124,8 +113,7 @@ options:
type: str
repoview:
description:
- Whether to generate repoview files for a published repository. Setting
this to V(true) automatically activates O(generate_sqlite).
- Whether to generate repoview files for a published repository. Setting this to V(true) automatically activates O(generate_sqlite).
required: false
type: bool
default: false
@ -141,24 +129,21 @@ options:
default: true
state:
description:
- The repo state. A state of V(sync) will queue a sync of the repo.
This is asynchronous but not delayed like a scheduled sync. A state of
V(publish) will use the repository's distributor to publish the content.
- The repo state. A state of V(sync) will queue a sync of the repo. This is asynchronous but not delayed like a scheduled sync. A state
of V(publish) will use the repository's distributor to publish the content.
default: present
choices: [ "present", "absent", "sync", "publish" ]
choices: ["present", "absent", "sync", "publish"]
type: str
url_password:
description:
- The password for use in HTTP basic authentication to the pulp API.
If the O(url_username) parameter is not specified, the O(url_password)
- The password for use in HTTP basic authentication to the pulp API. If the O(url_username) parameter is not specified, the O(url_password)
parameter will not be used.
url_username:
description:
- The username for use in HTTP basic authentication to the pulp API.
validate_certs:
description:
- If V(false), SSL certificates will not be validated. This should only be
used on personally controlled sites using self-signed certificates.
- If V(false), SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.
type: bool
default: true
wait_for_completion:
@ -167,14 +152,13 @@ options:
type: bool
default: false
notes:
- This module can currently only create distributors and importers on rpm
repositories. Contributions to support other repo types are welcome.
- This module can currently only create distributors and importers on rpm repositories. Contributions to support other repo types are welcome.
extends_documentation_fragment:
- ansible.builtin.url
- community.general.attributes
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
- name: Create a new repo with name 'my_repo'
community.general.pulp_repo:
name: my_repo
@ -197,15 +181,15 @@ EXAMPLES = '''
name: my_old_repo
repo_type: rpm
state: absent
'''
"""
RETURN = '''
RETURN = r"""
repo:
description: Name of the repo that the action was performed on.
returned: success
type: str
sample: my_repo
'''
"""
import json
import os

View File

@ -8,8 +8,7 @@
from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = r'''
---
DOCUMENTATION = r"""
module: puppet
short_description: Runs puppet
description:
@ -66,11 +65,11 @@ options:
version_added: 5.1.0
logdest:
description:
- Where the puppet logs should go, if puppet apply is being used.
- V(all) will go to both C(console) and C(syslog).
- V(stdout) will be deprecated and replaced by C(console).
- Where the puppet logs should go, if puppet apply is being used.
- V(all) will go to both C(console) and C(syslog).
- V(stdout) will be deprecated and replaced by C(console).
type: str
choices: [ all, stdout, syslog ]
choices: [all, stdout, syslog]
default: stdout
certname:
description:
@ -94,7 +93,7 @@ options:
type: str
use_srv_records:
description:
- Toggles use_srv_records flag
- Toggles use_srv_records flag.
type: bool
summarize:
description:
@ -103,8 +102,8 @@ options:
default: false
waitforlock:
description:
- The maximum amount of time C(puppet) should wait for an already running C(puppet) agent to finish before starting.
- If a number without unit is provided, it is assumed to be a number of seconds. Allowed units are V(m) for minutes and V(h) for hours.
- The maximum amount of time C(puppet) should wait for an already running C(puppet) agent to finish before starting.
- If a number without unit is provided, it is assumed to be a number of seconds. Allowed units are V(m) for minutes and V(h) for hours.
type: str
version_added: 9.0.0
verbose:
@ -119,27 +118,27 @@ options:
default: false
show_diff:
description:
- Whether to print file changes details
- Whether to print file changes details.
type: bool
default: false
environment_lang:
description:
- The lang environment to use when running the puppet agent.
- The default value, V(C), is supported on every system, but can lead to encoding errors if UTF-8 is used in the output
- Use V(C.UTF-8) or V(en_US.UTF-8) or similar UTF-8 supporting locales in case of problems. You need to make sure
the selected locale is supported on the system the puppet agent runs on.
- Starting with community.general 9.1.0, you can use the value V(auto) and the module will
try and determine the best parseable locale to use.
- The default value, V(C), is supported on every system, but can lead to encoding errors if UTF-8 is used in the output.
- Use V(C.UTF-8) or V(en_US.UTF-8) or similar UTF-8 supporting locales in case of problems. You need to make sure the selected locale is
supported on the system the puppet agent runs on.
- Starting with community.general 9.1.0, you can use the value V(auto) and the module will try and determine the best parseable locale to
use.
type: str
default: C
version_added: 8.6.0
requirements:
- puppet
- puppet
author:
- Monty Taylor (@emonty)
'''
- Monty Taylor (@emonty)
"""
EXAMPLES = r'''
EXAMPLES = r"""
- name: Run puppet agent and fail if anything goes wrong
community.general.puppet:
@ -162,10 +161,10 @@ EXAMPLES = r'''
- name: Run puppet using a specific tags
community.general.puppet:
tags:
- update
- nginx
- update
- nginx
skip_tags:
- service
- service
- name: Wait 30 seconds for any current puppet runs to finish
community.general.puppet:
@ -184,7 +183,7 @@ EXAMPLES = r'''
modulepath: /etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules
logdest: all
manifest: /var/lib/example/puppet_step_config.pp
'''
"""
import json
import os

View File

@ -9,65 +9,59 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = '''
---
DOCUMENTATION = r"""
author: "Willy Barro (@willybarro)"
requirements: [ pushbullet.py ]
requirements: [pushbullet.py]
module: pushbullet
short_description: Sends notifications to Pushbullet
description:
- This module sends push notifications via Pushbullet to channels or devices.
- This module sends push notifications through Pushbullet to channels or devices.
extends_documentation_fragment:
- community.general.attributes
- community.general.attributes
attributes:
check_mode:
support: full
diff_mode:
support: none
check_mode:
support: full
diff_mode:
support: none
options:
api_key:
type: str
description:
- Push bullet API token
required: true
channel:
type: str
description:
- The channel TAG you wish to broadcast a push notification,
as seen on the "My Channels" > "Edit your channel" at
Pushbullet page.
device:
type: str
description:
- The device NAME you wish to send a push notification,
as seen on the Pushbullet main page.
push_type:
type: str
description:
- Thing you wish to push.
default: note
choices: [ "note", "link" ]
title:
type: str
description:
- Title of the notification.
required: true
body:
type: str
description:
- Body of the notification, e.g. Details of the fault you're alerting.
url:
type: str
description:
- URL field, used when O(push_type=link).
api_key:
type: str
description:
- Push bullet API token.
required: true
channel:
type: str
description:
- The channel TAG you wish to broadcast a push notification, as seen on the "My Channels" > "Edit your channel" at Pushbullet page.
device:
type: str
description:
- The device NAME you wish to send a push notification, as seen on the Pushbullet main page.
push_type:
type: str
description:
- Thing you wish to push.
default: note
choices: ["note", "link"]
title:
type: str
description:
- Title of the notification.
required: true
body:
type: str
description:
- Body of the notification, for example details of the fault you are alerting.
url:
type: str
description:
- URL field, used when O(push_type=link).
notes:
- Requires pushbullet.py Python package on the remote host.
You can install it via pip with ($ pip install pushbullet.py).
See U(https://github.com/randomchars/pushbullet.py)
'''
- Requires C(pushbullet.py) Python package on the remote host. You can install it through C(pip) with C(pip install pushbullet.py).
- See U(https://github.com/randomchars/pushbullet.py).
"""
EXAMPLES = '''
EXAMPLES = r"""
- name: Sends a push notification to a device
community.general.pushbullet:
api_key: "ABC123abc123ABC123abc123ABC123ab"
@ -94,7 +88,7 @@ EXAMPLES = '''
channel: my-awesome-channel
title: ALERT! Signup service is down
body: Error rate on signup service is over 90% for more than 2 minutes
'''
"""
import traceback

View File

@ -9,16 +9,13 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
DOCUMENTATION = '''
---
DOCUMENTATION = r"""
module: pushover
short_description: Send notifications via U(https://pushover.net)
short_description: Send notifications through U(https://pushover.net)
description:
- Send notifications via pushover, to subscriber list of devices, and email
addresses. Requires pushover app on devices.
- Send notifications through pushover to subscriber list of devices and email addresses. Requires pushover app on devices.
notes:
- You will require a pushover.net account to use this module. But no account
is required to receive messages.
- You will require a pushover.net account to use this module. But no account is required to receive messages.
extends_documentation_fragment:
- community.general.attributes
attributes:
@ -53,7 +50,7 @@ options:
- Message priority (see U(https://pushover.net) for details).
required: false
default: '0'
choices: [ '-2', '-1', '0', '1', '2' ]
choices: ['-2', '-1', '0', '1', '2']
device:
type: str
description:
@ -64,9 +61,9 @@ options:
author:
- "Jim Richardson (@weaselkeeper)"
- "Bernd Arnold (@wopfel)"
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
- name: Send notifications via pushover.net
community.general.pushover:
msg: '{{ inventory_hostname }} is acting strange ...'
@ -90,7 +87,7 @@ EXAMPLES = '''
user_key: baa5fe97f2c5ab3ca8f0bb59
device: admins-iPhone
delegate_to: localhost
'''
"""
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.six.moves.urllib.parse import urlencode

View File

@ -7,7 +7,7 @@
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = '''
DOCUMENTATION = r"""
module: python_requirements_info
short_description: Show python path and assert dependency versions
description:
@ -19,18 +19,17 @@ options:
dependencies:
type: list
elements: str
description: >
A list of version-likes or module names to check for installation.
Supported operators: <, >, <=, >=, or ==. The bare module name like
V(ansible), the module with a specific version like V(boto3==1.6.1), or a
partial version like V(requests>2) are all valid specifications.
description:
- 'A list of version-likes or module names to check for installation. Supported operators: C(<), C(>), C(<=), C(>=), or C(==).'
- The bare module name like V(ansible), the module with a specific version like V(boto3==1.6.1),
or a partial version like V(requests>2) are all valid specifications.
default: []
author:
- Will Thames (@willthames)
- Ryan Scott Brown (@ryansb)
'''
"""
EXAMPLES = '''
EXAMPLES = r"""
- name: Show python lib/site paths
community.general.python_requirements_info:
@ -39,21 +38,21 @@ EXAMPLES = '''
dependencies:
- boto3>1.6
- botocore<2
'''
"""
RETURN = '''
RETURN = r"""
python:
description: path to python version used
description: Path to the Python interpreter used.
returned: always
type: str
sample: /usr/local/opt/python@2/bin/python2.7
python_version:
description: version of python
description: Version of Python.
returned: always
type: str
sample: "2.7.15 (default, May 1 2018, 16:44:08)\n[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)]"
python_version_info:
description: breakdown version of python
description: Breakdown version of Python.
returned: always
type: dict
contains:
@ -84,25 +83,26 @@ python_version_info:
sample: 0
version_added: 4.2.0
python_system_path:
description: List of paths python is looking for modules in
description: List of paths Python is looking for modules in.
returned: always
type: list
sample:
- /usr/local/opt/python@2/site-packages/
- /usr/lib/python/site-packages/
valid:
description: A dictionary of dependencies that matched their desired versions. If no version was specified, then RV(ignore:desired) will be null
description: A dictionary of dependencies that matched their desired versions. If no version was specified, then RV(ignore:desired) will be
null.
returned: always
type: dict
sample:
boto3:
desired: null
desired:
installed: 1.7.60
botocore:
desired: botocore<2
installed: 1.10.60
mismatched:
description: A dictionary of dependencies that did not satisfy the desired version
description: A dictionary of dependencies that did not satisfy the desired version.
returned: always
type: dict
sample:
@ -110,13 +110,13 @@ mismatched:
desired: botocore>2
installed: 1.10.60
not_found:
description: A list of packages that could not be imported at all, and are not installed
description: A list of packages that could not be imported at all, and are not installed.
returned: always
type: list
sample:
- boto4
- requests
'''
"""
import re
import sys