[PR #9394/912065ad backport][stable-10] h*.py: normalize docs (#9417)
h*.py: normalize docs (#9394)
* h*.py: normalize docs
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 912065ad0e
)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
pull/9426/head
parent
f66bd1035d
commit
0e99b006a2
|
@ -8,23 +8,21 @@
|
|||
from __future__ import absolute_import, division, print_function
|
||||
__metaclass__ = type
|
||||
|
||||
DOCUMENTATION = r'''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: haproxy
|
||||
short_description: Enable, disable, and set weights for HAProxy backend servers using socket commands
|
||||
author:
|
||||
- Ravi Bhure (@ravibhure)
|
||||
- Ravi Bhure (@ravibhure)
|
||||
description:
|
||||
- Enable, disable, drain and set weights for HAProxy backend servers using socket commands.
|
||||
- Enable, disable, drain and set weights for HAProxy backend servers using socket commands.
|
||||
notes:
|
||||
- Enable, disable and drain commands are restricted and can only be issued on
|
||||
sockets configured for level 'admin'. For example, you can add the line
|
||||
'stats socket /var/run/haproxy.sock level admin' to the general section of
|
||||
haproxy.cfg. See U(http://haproxy.1wt.eu/download/1.5/doc/configuration.txt).
|
||||
- Depends on netcat (C(nc)) being available; you need to install the appropriate
|
||||
package for your operating system before this module can be used.
|
||||
- Enable, disable and drain commands are restricted and can only be issued on sockets configured for level C(admin). For
|
||||
example, you can add the line C(stats socket /var/run/haproxy.sock level admin) to the general section of C(haproxy.cfg).
|
||||
See U(http://haproxy.1wt.eu/download/1.5/doc/configuration.txt).
|
||||
- Depends on netcat (C(nc)) being available; you need to install the appropriate package for your operating system before
|
||||
this module can be used.
|
||||
extends_documentation_fragment:
|
||||
- community.general.attributes
|
||||
- community.general.attributes
|
||||
attributes:
|
||||
check_mode:
|
||||
support: none
|
||||
|
@ -38,8 +36,8 @@ options:
|
|||
type: str
|
||||
drain:
|
||||
description:
|
||||
- Wait until the server has no active connections or until the timeout
|
||||
determined by wait_interval and wait_retries is reached.
|
||||
- Wait until the server has no active connections or until the timeout determined by O(wait_interval) and O(wait_retries)
|
||||
is reached.
|
||||
- Continue only after the status changes to C(MAINT).
|
||||
- This overrides the shutdown_sessions option.
|
||||
type: bool
|
||||
|
@ -51,10 +49,9 @@ options:
|
|||
required: true
|
||||
shutdown_sessions:
|
||||
description:
|
||||
- When disabling a server, immediately terminate all the sessions attached
|
||||
to the specified server.
|
||||
- This can be used to terminate long-running sessions after a server is put
|
||||
into maintenance mode. Overridden by the drain option.
|
||||
- When disabling a server, immediately terminate all the sessions attached to the specified server.
|
||||
- This can be used to terminate long-running sessions after a server is put into maintenance mode. Overridden by the
|
||||
drain option.
|
||||
type: bool
|
||||
default: false
|
||||
socket:
|
||||
|
@ -65,11 +62,11 @@ options:
|
|||
state:
|
||||
description:
|
||||
- Desired state of the provided backend host.
|
||||
- Note that V(drain) state is supported only by HAProxy version 1.5 or later.
|
||||
When used on versions < 1.5, it will be ignored.
|
||||
- Note that V(drain) state is supported only by HAProxy version 1.5 or later. When used on versions < 1.5, it will be
|
||||
ignored.
|
||||
type: str
|
||||
required: true
|
||||
choices: [ disabled, drain, enabled ]
|
||||
choices: [disabled, drain, enabled]
|
||||
agent:
|
||||
description:
|
||||
- Disable/enable agent checks (depending on O(state) value).
|
||||
|
@ -89,8 +86,8 @@ options:
|
|||
default: false
|
||||
wait:
|
||||
description:
|
||||
- Wait until the server reports a status of C(UP) when O(state=enabled),
|
||||
status of C(MAINT) when O(state=disabled) or status of C(DRAIN) when O(state=drain).
|
||||
- Wait until the server reports a status of C(UP) when O(state=enabled), status of C(MAINT) when O(state=disabled) or
|
||||
status of C(DRAIN) when O(state=drain).
|
||||
type: bool
|
||||
default: false
|
||||
wait_interval:
|
||||
|
@ -106,14 +103,12 @@ options:
|
|||
weight:
|
||||
description:
|
||||
- The value passed in argument.
|
||||
- If the value ends with the V(%) sign, then the new weight will be
|
||||
relative to the initially configured weight.
|
||||
- Relative weights are only permitted between 0 and 100% and absolute
|
||||
weights are permitted between 0 and 256.
|
||||
- If the value ends with the V(%) sign, then the new weight will be relative to the initially configured weight.
|
||||
- Relative weights are only permitted between 0 and 100% and absolute weights are permitted between 0 and 256.
|
||||
type: str
|
||||
'''
|
||||
"""
|
||||
|
||||
EXAMPLES = r'''
|
||||
EXAMPLES = r"""
|
||||
- name: Disable server in 'www' backend pool
|
||||
community.general.haproxy:
|
||||
state: disabled
|
||||
|
@ -168,7 +163,8 @@ EXAMPLES = r'''
|
|||
socket: /var/run/haproxy.sock
|
||||
shutdown_sessions: true
|
||||
|
||||
- name: Disable server without backend pool name (apply to all available backend pool) but fail when the backend host is not found
|
||||
- name: Disable server without backend pool name (apply to all available backend pool) but fail when the backend host is
|
||||
not found
|
||||
community.general.haproxy:
|
||||
state: disabled
|
||||
host: '{{ inventory_hostname }}'
|
||||
|
@ -187,7 +183,8 @@ EXAMPLES = r'''
|
|||
backend: www
|
||||
wait: true
|
||||
|
||||
- name: Enable server in 'www' backend pool wait until healthy. Retry 10 times with intervals of 5 seconds to retrieve the health
|
||||
- name: Enable server in 'www' backend pool wait until healthy. Retry 10 times with intervals of 5 seconds to retrieve the
|
||||
health
|
||||
community.general.haproxy:
|
||||
state: enabled
|
||||
host: '{{ inventory_hostname }}'
|
||||
|
@ -210,7 +207,7 @@ EXAMPLES = r'''
|
|||
host: '{{ inventory_hostname }}'
|
||||
socket: /var/run/haproxy.sock
|
||||
backend: www
|
||||
'''
|
||||
"""
|
||||
|
||||
import csv
|
||||
import socket
|
||||
|
|
|
@ -8,8 +8,7 @@
|
|||
from __future__ import absolute_import, division, print_function
|
||||
__metaclass__ = type
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: heroku_collaborator
|
||||
short_description: Add or delete app collaborators on Heroku
|
||||
description:
|
||||
|
@ -32,35 +31,35 @@ options:
|
|||
api_key:
|
||||
type: str
|
||||
description:
|
||||
- Heroku API key
|
||||
- Heroku API key.
|
||||
apps:
|
||||
type: list
|
||||
elements: str
|
||||
description:
|
||||
- List of Heroku App names
|
||||
- List of Heroku App names.
|
||||
required: true
|
||||
suppress_invitation:
|
||||
description:
|
||||
- Suppress email invitation when creating collaborator
|
||||
- Suppress email invitation when creating collaborator.
|
||||
type: bool
|
||||
default: false
|
||||
user:
|
||||
type: str
|
||||
description:
|
||||
- User ID or e-mail
|
||||
- User ID or e-mail.
|
||||
required: true
|
||||
state:
|
||||
type: str
|
||||
description:
|
||||
- Create or remove the heroku collaborator
|
||||
- Create or remove the heroku collaborator.
|
||||
choices: ["present", "absent"]
|
||||
default: "present"
|
||||
notes:
|
||||
- E(HEROKU_API_KEY) and E(TF_VAR_HEROKU_API_KEY) environment variables can be used instead setting O(api_key).
|
||||
- If you use C(check_mode), you can also pass the C(-v) flag to see affected apps in C(msg), e.g. ["heroku-example-app"].
|
||||
'''
|
||||
- If you use C(check_mode), you can also pass the C(-v) flag to see affected apps in C(msg), for example C(["heroku-example-app"]).
|
||||
"""
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
- name: Create a heroku collaborator
|
||||
community.general.heroku_collaborator:
|
||||
api_key: YOUR_API_KEY
|
||||
|
@ -76,12 +75,12 @@ EXAMPLES = '''
|
|||
suppress_invitation: '{{ item.suppress_invitation | default(suppress_invitation) }}'
|
||||
state: '{{ item.state | default("present") }}'
|
||||
with_items:
|
||||
- { user: 'a.b@example.com' }
|
||||
- { state: 'absent', user: 'b.c@example.com', suppress_invitation: false }
|
||||
- { user: 'x.y@example.com', apps: ["heroku-example-app"] }
|
||||
'''
|
||||
- {user: 'a.b@example.com'}
|
||||
- {state: 'absent', user: 'b.c@example.com', suppress_invitation: false}
|
||||
- {user: 'x.y@example.com', apps: ["heroku-example-app"]}
|
||||
"""
|
||||
|
||||
RETURN = ''' # '''
|
||||
RETURN = """ # """
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible_collections.community.general.plugins.module_utils.heroku import HerokuHelper
|
||||
|
|
|
@ -9,75 +9,71 @@
|
|||
from __future__ import absolute_import, division, print_function
|
||||
__metaclass__ = type
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hg
|
||||
short_description: Manages Mercurial (hg) repositories
|
||||
description:
|
||||
- Manages Mercurial (hg) repositories. Supports SSH, HTTP/S and local address.
|
||||
- Manages Mercurial (hg) repositories. Supports SSH, HTTP/S and local address.
|
||||
author: "Yeukhon Wong (@yeukhon)"
|
||||
extends_documentation_fragment:
|
||||
- community.general.attributes
|
||||
- community.general.attributes
|
||||
attributes:
|
||||
check_mode:
|
||||
support: none
|
||||
diff_mode:
|
||||
support: none
|
||||
check_mode:
|
||||
support: none
|
||||
diff_mode:
|
||||
support: none
|
||||
options:
|
||||
repo:
|
||||
description:
|
||||
- The repository address.
|
||||
required: true
|
||||
aliases: [ name ]
|
||||
type: str
|
||||
dest:
|
||||
description:
|
||||
- Absolute path of where the repository should be cloned to.
|
||||
This parameter is required, unless clone and update are set to no
|
||||
type: path
|
||||
revision:
|
||||
description:
|
||||
- Equivalent C(-r) option in hg command which could be the changeset, revision number,
|
||||
branch name or even tag.
|
||||
aliases: [ version ]
|
||||
type: str
|
||||
force:
|
||||
description:
|
||||
- Discards uncommitted changes. Runs C(hg update -C).
|
||||
type: bool
|
||||
default: false
|
||||
purge:
|
||||
description:
|
||||
- Deletes untracked files. Runs C(hg purge).
|
||||
type: bool
|
||||
default: false
|
||||
update:
|
||||
description:
|
||||
- If V(false), do not retrieve new revisions from the origin repository
|
||||
type: bool
|
||||
default: true
|
||||
clone:
|
||||
description:
|
||||
- If V(false), do not clone the repository if it does not exist locally.
|
||||
type: bool
|
||||
default: true
|
||||
executable:
|
||||
description:
|
||||
- Path to hg executable to use. If not supplied,
|
||||
the normal mechanism for resolving binary paths will be used.
|
||||
type: str
|
||||
repo:
|
||||
description:
|
||||
- The repository address.
|
||||
required: true
|
||||
aliases: [name]
|
||||
type: str
|
||||
dest:
|
||||
description:
|
||||
- Absolute path of where the repository should be cloned to. This parameter is required, unless clone and update are
|
||||
set to no.
|
||||
type: path
|
||||
revision:
|
||||
description:
|
||||
- Equivalent C(-r) option in hg command which could be the changeset, revision number, branch name or even tag.
|
||||
aliases: [version]
|
||||
type: str
|
||||
force:
|
||||
description:
|
||||
- Discards uncommitted changes. Runs C(hg update -C).
|
||||
type: bool
|
||||
default: false
|
||||
purge:
|
||||
description:
|
||||
- Deletes untracked files. Runs C(hg purge).
|
||||
type: bool
|
||||
default: false
|
||||
update:
|
||||
description:
|
||||
- If V(false), do not retrieve new revisions from the origin repository.
|
||||
type: bool
|
||||
default: true
|
||||
clone:
|
||||
description:
|
||||
- If V(false), do not clone the repository if it does not exist locally.
|
||||
type: bool
|
||||
default: true
|
||||
executable:
|
||||
description:
|
||||
- Path to hg executable to use. If not supplied, the normal mechanism for resolving binary paths will be used.
|
||||
type: str
|
||||
notes:
|
||||
- This module does not support push capability. See U(https://github.com/ansible/ansible/issues/31156).
|
||||
- "If the task seems to be hanging, first verify remote host is in C(known_hosts).
|
||||
SSH will prompt user to authorize the first contact with a remote host. To avoid this prompt,
|
||||
one solution is to add the remote host public key in C(/etc/ssh/ssh_known_hosts) before calling
|
||||
the hg module, with the following command: ssh-keyscan remote_host.com >> /etc/ssh/ssh_known_hosts."
|
||||
- As per 01 Dec 2018, Bitbucket has dropped support for TLSv1 and TLSv1.1 connections. As such,
|
||||
if the underlying system still uses a Python version below 2.7.9, you will have issues checking out
|
||||
bitbucket repositories. See U(https://bitbucket.org/blog/deprecating-tlsv1-tlsv1-1-2018-12-01).
|
||||
'''
|
||||
- This module does not support push capability. See U(https://github.com/ansible/ansible/issues/31156).
|
||||
- 'If the task seems to be hanging, first verify remote host is in C(known_hosts). SSH will prompt user to authorize the
|
||||
first contact with a remote host. To avoid this prompt, one solution is to add the remote host public key in C(/etc/ssh/ssh_known_hosts)
|
||||
before calling the hg module, with the following command: C(ssh-keyscan remote_host.com >> /etc/ssh/ssh_known_hosts).'
|
||||
- As per 01 Dec 2018, Bitbucket has dropped support for TLSv1 and TLSv1.1 connections. As such, if the underlying system
|
||||
still uses a Python version below 2.7.9, you will have issues checking out bitbucket repositories.
|
||||
See U(https://bitbucket.org/blog/deprecating-tlsv1-tlsv1-1-2018-12-01).
|
||||
"""
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
- name: Ensure the current working copy is inside the stable branch and deletes untracked files if any.
|
||||
community.general.hg:
|
||||
repo: https://bitbucket.org/user/repo1
|
||||
|
@ -91,7 +87,7 @@ EXAMPLES = '''
|
|||
dest: /srv/checkout
|
||||
clone: false
|
||||
update: false
|
||||
'''
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
|
|
|
@ -9,12 +9,11 @@ from __future__ import absolute_import, division, print_function
|
|||
__metaclass__ = type
|
||||
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hipchat
|
||||
short_description: Send a message to Hipchat
|
||||
description:
|
||||
- Send a message to a Hipchat room, with options to control the formatting.
|
||||
- Send a message to a Hipchat room, with options to control the formatting.
|
||||
extends_documentation_fragment:
|
||||
- community.general.attributes
|
||||
deprecated:
|
||||
|
@ -40,8 +39,7 @@ options:
|
|||
msg_from:
|
||||
type: str
|
||||
description:
|
||||
- Name the message will appear to be sent from. Max length is 15
|
||||
characters - above this it will be truncated.
|
||||
- Name the message will appear to be sent from. Max length is 15 characters - above this it will be truncated.
|
||||
default: Ansible
|
||||
aliases: [from]
|
||||
msg:
|
||||
|
@ -54,13 +52,13 @@ options:
|
|||
description:
|
||||
- Background color for the message.
|
||||
default: yellow
|
||||
choices: [ "yellow", "red", "green", "purple", "gray", "random" ]
|
||||
choices: ["yellow", "red", "green", "purple", "gray", "random"]
|
||||
msg_format:
|
||||
type: str
|
||||
description:
|
||||
- Message format.
|
||||
default: text
|
||||
choices: [ "text", "html" ]
|
||||
choices: ["text", "html"]
|
||||
notify:
|
||||
description:
|
||||
- If true, a notification will be triggered for users in the room.
|
||||
|
@ -68,23 +66,23 @@ options:
|
|||
default: true
|
||||
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
|
||||
api:
|
||||
type: str
|
||||
description:
|
||||
- API url if using a self-hosted hipchat server. For Hipchat API version
|
||||
2 use the default URI with C(/v2) instead of C(/v1).
|
||||
- API url if using a self-hosted hipchat server. For Hipchat API version 2 use the default URI with C(/v2) instead of
|
||||
C(/v1).
|
||||
default: 'https://api.hipchat.com/v1'
|
||||
|
||||
author:
|
||||
- Shirou Wakayama (@shirou)
|
||||
- Paul Bourdel (@pb8226)
|
||||
'''
|
||||
- Shirou Wakayama (@shirou)
|
||||
- Paul Bourdel (@pb8226)
|
||||
"""
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
- name: Send a message to a Hipchat room
|
||||
community.general.hipchat:
|
||||
room: notif
|
||||
|
@ -96,7 +94,7 @@ EXAMPLES = '''
|
|||
token: OAUTH2_TOKEN
|
||||
room: notify
|
||||
msg: Ansible task finished
|
||||
'''
|
||||
"""
|
||||
|
||||
# ===========================================
|
||||
# HipChat module specific support methods.
|
||||
|
|
|
@ -14,81 +14,80 @@ from __future__ import absolute_import, division, print_function
|
|||
__metaclass__ = type
|
||||
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: homebrew
|
||||
author:
|
||||
- "Indrajit Raychaudhuri (@indrajitr)"
|
||||
- "Daniel Jaouen (@danieljaouen)"
|
||||
- "Andrew Dunham (@andrew-d)"
|
||||
- "Indrajit Raychaudhuri (@indrajitr)"
|
||||
- "Daniel Jaouen (@danieljaouen)"
|
||||
- "Andrew Dunham (@andrew-d)"
|
||||
requirements:
|
||||
- homebrew must already be installed on the target system
|
||||
- homebrew must already be installed on the target system
|
||||
short_description: Package manager for Homebrew
|
||||
description:
|
||||
- Manages Homebrew packages
|
||||
- Manages Homebrew packages.
|
||||
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:
|
||||
name:
|
||||
description:
|
||||
- A list of names of packages to install/remove.
|
||||
aliases: [ 'formula', 'package', 'pkg' ]
|
||||
type: list
|
||||
elements: str
|
||||
path:
|
||||
description:
|
||||
- "A V(:) separated list of paths to search for C(brew) executable.
|
||||
Since a package (I(formula) in homebrew parlance) location is prefixed relative to the actual path of C(brew) command,
|
||||
providing an alternative C(brew) path enables managing different set of packages in an alternative location in the system."
|
||||
default: '/usr/local/bin:/opt/homebrew/bin:/home/linuxbrew/.linuxbrew/bin'
|
||||
type: path
|
||||
state:
|
||||
description:
|
||||
- state of the package.
|
||||
choices: [ 'absent', 'head', 'installed', 'latest', 'linked', 'present', 'removed', 'uninstalled', 'unlinked', 'upgraded' ]
|
||||
default: present
|
||||
type: str
|
||||
update_homebrew:
|
||||
description:
|
||||
- update homebrew itself first.
|
||||
type: bool
|
||||
default: false
|
||||
upgrade_all:
|
||||
description:
|
||||
- upgrade all homebrew packages.
|
||||
type: bool
|
||||
default: false
|
||||
aliases: ['upgrade']
|
||||
install_options:
|
||||
description:
|
||||
- options flags to install a package.
|
||||
aliases: ['options']
|
||||
type: list
|
||||
elements: str
|
||||
upgrade_options:
|
||||
description:
|
||||
- Option flags to upgrade.
|
||||
type: list
|
||||
elements: str
|
||||
version_added: '0.2.0'
|
||||
force_formula:
|
||||
description:
|
||||
- Force the package(s) to be treated as a formula (equivalent to C(brew --formula)).
|
||||
- To install a cask, use the M(community.general.homebrew_cask) module.
|
||||
type: bool
|
||||
default: false
|
||||
version_added: 9.0.0
|
||||
name:
|
||||
description:
|
||||
- A list of names of packages to install/remove.
|
||||
aliases: ['formula', 'package', 'pkg']
|
||||
type: list
|
||||
elements: str
|
||||
path:
|
||||
description:
|
||||
- A V(:) separated list of paths to search for C(brew) executable. Since a package (I(formula) in homebrew parlance)
|
||||
location is prefixed relative to the actual path of C(brew) command, providing an alternative C(brew) path enables
|
||||
managing different set of packages in an alternative location in the system.
|
||||
default: '/usr/local/bin:/opt/homebrew/bin:/home/linuxbrew/.linuxbrew/bin'
|
||||
type: path
|
||||
state:
|
||||
description:
|
||||
- State of the package.
|
||||
choices: ['absent', 'head', 'installed', 'latest', 'linked', 'present', 'removed', 'uninstalled', 'unlinked', 'upgraded']
|
||||
default: present
|
||||
type: str
|
||||
update_homebrew:
|
||||
description:
|
||||
- Update homebrew itself first.
|
||||
type: bool
|
||||
default: false
|
||||
upgrade_all:
|
||||
description:
|
||||
- Upgrade all homebrew packages.
|
||||
type: bool
|
||||
default: false
|
||||
aliases: ['upgrade']
|
||||
install_options:
|
||||
description:
|
||||
- Options flags to install a package.
|
||||
aliases: ['options']
|
||||
type: list
|
||||
elements: str
|
||||
upgrade_options:
|
||||
description:
|
||||
- Option flags to upgrade.
|
||||
type: list
|
||||
elements: str
|
||||
version_added: '0.2.0'
|
||||
force_formula:
|
||||
description:
|
||||
- Force the package(s) to be treated as a formula (equivalent to C(brew --formula)).
|
||||
- To install a cask, use the M(community.general.homebrew_cask) module.
|
||||
type: bool
|
||||
default: false
|
||||
version_added: 9.0.0
|
||||
notes:
|
||||
- When used with a C(loop:) each package will be processed individually,
|
||||
it is much more efficient to pass the list directly to the O(name) option.
|
||||
'''
|
||||
- When used with a C(loop:) each package will be processed individually, it is much more efficient to pass the list directly
|
||||
to the O(name) option.
|
||||
"""
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
# Install formula foo with 'brew' in default path
|
||||
- community.general.homebrew:
|
||||
name: foo
|
||||
|
@ -154,29 +153,29 @@ EXAMPLES = '''
|
|||
name: ambiguous_formula
|
||||
state: present
|
||||
force_formula: true
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
RETURN = r"""
|
||||
msg:
|
||||
description: if the cache was updated or not
|
||||
returned: always
|
||||
type: str
|
||||
sample: "Changed: 0, Unchanged: 2"
|
||||
description: If the cache was updated or not.
|
||||
returned: always
|
||||
type: str
|
||||
sample: "Changed: 0, Unchanged: 2"
|
||||
unchanged_pkgs:
|
||||
description:
|
||||
- List of package names which are unchanged after module run
|
||||
returned: success
|
||||
type: list
|
||||
sample: ["awscli", "ag"]
|
||||
version_added: '0.2.0'
|
||||
description:
|
||||
- List of package names which are unchanged after module run.
|
||||
returned: success
|
||||
type: list
|
||||
sample: ["awscli", "ag"]
|
||||
version_added: '0.2.0'
|
||||
changed_pkgs:
|
||||
description:
|
||||
- List of package names which are changed after module run
|
||||
returned: success
|
||||
type: list
|
||||
sample: ['git', 'git-cola']
|
||||
version_added: '0.2.0'
|
||||
'''
|
||||
description:
|
||||
- List of package names which are changed after module run.
|
||||
returned: success
|
||||
type: list
|
||||
sample: ['git', 'git-cola']
|
||||
version_added: '0.2.0'
|
||||
"""
|
||||
|
||||
import json
|
||||
import re
|
||||
|
|
|
@ -11,8 +11,7 @@ from __future__ import absolute_import, division, print_function
|
|||
__metaclass__ = type
|
||||
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: homebrew_cask
|
||||
author:
|
||||
- "Indrajit Raychaudhuri (@indrajitr)"
|
||||
|
@ -31,60 +30,59 @@ attributes:
|
|||
options:
|
||||
name:
|
||||
description:
|
||||
- Name of cask to install or remove.
|
||||
aliases: [ 'cask', 'package', 'pkg' ]
|
||||
- Name of cask to install or remove.
|
||||
aliases: ['cask', 'package', 'pkg']
|
||||
type: list
|
||||
elements: str
|
||||
path:
|
||||
description:
|
||||
- "':' separated list of paths to search for 'brew' executable."
|
||||
- "':' separated list of paths to search for 'brew' executable."
|
||||
default: '/usr/local/bin:/opt/homebrew/bin'
|
||||
type: path
|
||||
state:
|
||||
description:
|
||||
- State of the cask.
|
||||
choices: [ 'absent', 'installed', 'latest', 'present', 'removed', 'uninstalled', 'upgraded' ]
|
||||
- State of the cask.
|
||||
choices: ['absent', 'installed', 'latest', 'present', 'removed', 'uninstalled', 'upgraded']
|
||||
default: present
|
||||
type: str
|
||||
sudo_password:
|
||||
description:
|
||||
- The sudo password to be passed to SUDO_ASKPASS.
|
||||
- The sudo password to be passed to E(SUDO_ASKPASS).
|
||||
required: false
|
||||
type: str
|
||||
update_homebrew:
|
||||
description:
|
||||
- Update homebrew itself first.
|
||||
- Note that C(brew cask update) is a synonym for C(brew update).
|
||||
- Update homebrew itself first.
|
||||
- Note that C(brew cask update) is a synonym for C(brew update).
|
||||
type: bool
|
||||
default: false
|
||||
install_options:
|
||||
description:
|
||||
- Options flags to install a package.
|
||||
aliases: [ 'options' ]
|
||||
- Options flags to install a package.
|
||||
aliases: ['options']
|
||||
type: list
|
||||
elements: str
|
||||
accept_external_apps:
|
||||
description:
|
||||
- Allow external apps.
|
||||
- Allow external apps.
|
||||
type: bool
|
||||
default: false
|
||||
upgrade_all:
|
||||
description:
|
||||
- Upgrade all casks.
|
||||
- Mutually exclusive with C(upgraded) state.
|
||||
- Upgrade all casks.
|
||||
- Mutually exclusive with C(upgraded) state.
|
||||
type: bool
|
||||
default: false
|
||||
aliases: [ 'upgrade' ]
|
||||
aliases: ['upgrade']
|
||||
greedy:
|
||||
description:
|
||||
- Upgrade casks that auto update.
|
||||
- Passes C(--greedy) to C(brew outdated --cask) when checking
|
||||
if an installed cask has a newer version available,
|
||||
or to C(brew upgrade --cask) when upgrading all casks.
|
||||
- Upgrade casks that auto update.
|
||||
- Passes C(--greedy) to C(brew outdated --cask) when checking if an installed cask has a newer version available, or
|
||||
to C(brew upgrade --cask) when upgrading all casks.
|
||||
type: bool
|
||||
default: false
|
||||
'''
|
||||
EXAMPLES = '''
|
||||
"""
|
||||
EXAMPLES = r"""
|
||||
- name: Install cask
|
||||
community.general.homebrew_cask:
|
||||
name: alfred
|
||||
|
@ -151,7 +149,7 @@ EXAMPLES = '''
|
|||
name: wireshark
|
||||
state: present
|
||||
sudo_password: "{{ ansible_become_pass }}"
|
||||
'''
|
||||
"""
|
||||
|
||||
import os
|
||||
import re
|
||||
|
|
|
@ -14,47 +14,46 @@ from __future__ import absolute_import, division, print_function
|
|||
__metaclass__ = type
|
||||
|
||||
|
||||
DOCUMENTATION = """
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: homebrew_services
|
||||
author:
|
||||
- "Kit Ham (@kitizz)"
|
||||
- "Kit Ham (@kitizz)"
|
||||
requirements:
|
||||
- homebrew must already be installed on the target system
|
||||
- homebrew must already be installed on the target system
|
||||
short_description: Services manager for Homebrew
|
||||
version_added: 9.3.0
|
||||
description:
|
||||
- Manages daemons and services via Homebrew.
|
||||
- Manages daemons and services using Homebrew.
|
||||
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:
|
||||
name:
|
||||
description:
|
||||
- An installed homebrew package whose service is to be updated.
|
||||
aliases: [ 'formula' ]
|
||||
type: str
|
||||
required: true
|
||||
path:
|
||||
description:
|
||||
- "A V(:) separated list of paths to search for C(brew) executable.
|
||||
Since a package (I(formula) in homebrew parlance) location is prefixed relative to the actual path of C(brew) command,
|
||||
providing an alternative C(brew) path enables managing different set of packages in an alternative location in the system."
|
||||
default: '/usr/local/bin:/opt/homebrew/bin:/home/linuxbrew/.linuxbrew/bin'
|
||||
type: path
|
||||
state:
|
||||
description:
|
||||
- State of the package's service.
|
||||
choices: [ 'present', 'absent', 'restarted' ]
|
||||
default: present
|
||||
type: str
|
||||
name:
|
||||
description:
|
||||
- An installed homebrew package whose service is to be updated.
|
||||
aliases: ['formula']
|
||||
type: str
|
||||
required: true
|
||||
path:
|
||||
description:
|
||||
- A V(:) separated list of paths to search for C(brew) executable. Since a package (I(formula) in homebrew parlance)
|
||||
location is prefixed relative to the actual path of C(brew) command, providing an alternative C(brew) path enables
|
||||
managing different set of packages in an alternative location in the system.
|
||||
default: '/usr/local/bin:/opt/homebrew/bin:/home/linuxbrew/.linuxbrew/bin'
|
||||
type: path
|
||||
state:
|
||||
description:
|
||||
- State of the package's service.
|
||||
choices: ['present', 'absent', 'restarted']
|
||||
default: present
|
||||
type: str
|
||||
"""
|
||||
|
||||
EXAMPLES = """
|
||||
EXAMPLES = r"""
|
||||
- name: Install foo package
|
||||
community.general.homebrew:
|
||||
name: foo
|
||||
|
@ -76,19 +75,19 @@ EXAMPLES = """
|
|||
service_state: absent
|
||||
"""
|
||||
|
||||
RETURN = """
|
||||
RETURN = r"""
|
||||
pid:
|
||||
description:
|
||||
- If the service is now running, this is the PID of the service, otherwise -1.
|
||||
returned: success
|
||||
type: int
|
||||
sample: 1234
|
||||
description:
|
||||
- If the service is now running, this is the PID of the service, otherwise -1.
|
||||
returned: success
|
||||
type: int
|
||||
sample: 1234
|
||||
running:
|
||||
description:
|
||||
- Whether the service is running after running this command.
|
||||
returned: success
|
||||
type: bool
|
||||
sample: true
|
||||
description:
|
||||
- Whether the service is running after running this command.
|
||||
returned: success
|
||||
type: bool
|
||||
sample: true
|
||||
"""
|
||||
|
||||
import json
|
||||
|
|
|
@ -13,56 +13,53 @@ from __future__ import absolute_import, division, print_function
|
|||
__metaclass__ = type
|
||||
|
||||
|
||||
DOCUMENTATION = r'''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: homebrew_tap
|
||||
author:
|
||||
- "Indrajit Raychaudhuri (@indrajitr)"
|
||||
- "Daniel Jaouen (@danieljaouen)"
|
||||
- "Indrajit Raychaudhuri (@indrajitr)"
|
||||
- "Daniel Jaouen (@danieljaouen)"
|
||||
short_description: Tap a Homebrew repository
|
||||
description:
|
||||
- Tap external Homebrew repositories.
|
||||
- Tap external Homebrew repositories.
|
||||
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:
|
||||
name:
|
||||
description:
|
||||
- The GitHub user/organization repository to tap.
|
||||
required: true
|
||||
aliases: ['tap']
|
||||
type: list
|
||||
elements: str
|
||||
url:
|
||||
description:
|
||||
- The optional git URL of the repository to tap. The URL is not
|
||||
assumed to be on GitHub, and the protocol doesn't have to be HTTP.
|
||||
Any location and protocol that git can handle is fine.
|
||||
- O(name) option may not be a list of multiple taps (but a single
|
||||
tap instead) when this option is provided.
|
||||
required: false
|
||||
type: str
|
||||
state:
|
||||
description:
|
||||
- state of the repository.
|
||||
choices: [ 'present', 'absent' ]
|
||||
required: false
|
||||
default: 'present'
|
||||
type: str
|
||||
path:
|
||||
description:
|
||||
- "A V(:) separated list of paths to search for C(brew) executable."
|
||||
default: '/usr/local/bin:/opt/homebrew/bin:/home/linuxbrew/.linuxbrew/bin'
|
||||
type: path
|
||||
version_added: '2.1.0'
|
||||
requirements: [ homebrew ]
|
||||
'''
|
||||
name:
|
||||
description:
|
||||
- The GitHub user/organization repository to tap.
|
||||
required: true
|
||||
aliases: ['tap']
|
||||
type: list
|
||||
elements: str
|
||||
url:
|
||||
description:
|
||||
- The optional git URL of the repository to tap. The URL is not assumed to be on GitHub, and the protocol does not have
|
||||
to be HTTP. Any location and protocol that git can handle is fine.
|
||||
- O(name) option may not be a list of multiple taps (but a single tap instead) when this option is provided.
|
||||
required: false
|
||||
type: str
|
||||
state:
|
||||
description:
|
||||
- State of the repository.
|
||||
choices: ['present', 'absent']
|
||||
required: false
|
||||
default: 'present'
|
||||
type: str
|
||||
path:
|
||||
description:
|
||||
- A V(:) separated list of paths to search for C(brew) executable.
|
||||
default: '/usr/local/bin:/opt/homebrew/bin:/home/linuxbrew/.linuxbrew/bin'
|
||||
type: path
|
||||
version_added: '2.1.0'
|
||||
requirements: [homebrew]
|
||||
"""
|
||||
|
||||
EXAMPLES = r'''
|
||||
EXAMPLES = r"""
|
||||
- name: Tap a Homebrew repository, state present
|
||||
community.general.homebrew_tap:
|
||||
name: homebrew/dupes
|
||||
|
@ -81,7 +78,7 @@ EXAMPLES = r'''
|
|||
community.general.homebrew_tap:
|
||||
name: telemachus/brew
|
||||
url: 'https://bitbucket.org/telemachus/brew'
|
||||
'''
|
||||
"""
|
||||
|
||||
import re
|
||||
|
||||
|
|
|
@ -8,186 +8,185 @@
|
|||
from __future__ import absolute_import, division, print_function
|
||||
__metaclass__ = type
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: homectl
|
||||
author:
|
||||
- "James Livulpi (@jameslivulpi)"
|
||||
- "James Livulpi (@jameslivulpi)"
|
||||
short_description: Manage user accounts with systemd-homed
|
||||
version_added: 4.4.0
|
||||
description:
|
||||
- Manages a user's home directory managed by systemd-homed.
|
||||
- Manages a user's home directory managed by systemd-homed.
|
||||
notes:
|
||||
- This module requires the deprecated L(crypt Python module,
|
||||
https://docs.python.org/3.12/library/crypt.html) library which was removed from Python 3.13.
|
||||
For Python 3.13 or newer, you need to install L(legacycrypt, https://pypi.org/project/legacycrypt/).
|
||||
- This module requires the deprecated L(crypt Python module, https://docs.python.org/3.12/library/crypt.html) library which
|
||||
was removed from Python 3.13. For Python 3.13 or newer, you need to install L(legacycrypt, https://pypi.org/project/legacycrypt/).
|
||||
requirements:
|
||||
- legacycrypt (on Python 3.13 or newer)
|
||||
- legacycrypt (on Python 3.13 or newer)
|
||||
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:
|
||||
name:
|
||||
description:
|
||||
- The user name to create, remove, or update.
|
||||
required: true
|
||||
aliases: [ 'user', 'username' ]
|
||||
type: str
|
||||
password:
|
||||
description:
|
||||
- Set the user's password to this.
|
||||
- Homed requires this value to be in cleartext on user creation and updating a user.
|
||||
- The module takes the password and generates a password hash in SHA-512 with 10000 rounds of salt generation using crypt.
|
||||
- See U(https://systemd.io/USER_RECORD/).
|
||||
- This is required for O(state=present). When an existing user is updated this is checked against the stored hash in homed.
|
||||
type: str
|
||||
state:
|
||||
description:
|
||||
- The operation to take on the user.
|
||||
choices: [ 'absent', 'present' ]
|
||||
default: present
|
||||
type: str
|
||||
storage:
|
||||
description:
|
||||
- Indicates the storage mechanism for the user's home directory.
|
||||
- If the storage type is not specified, ``homed.conf(5)`` defines which default storage to use.
|
||||
- Only used when a user is first created.
|
||||
choices: [ 'classic', 'luks', 'directory', 'subvolume', 'fscrypt', 'cifs' ]
|
||||
type: str
|
||||
disksize:
|
||||
description:
|
||||
- The intended home directory disk space.
|
||||
- Human readable value such as V(10G), V(10M), or V(10B).
|
||||
type: str
|
||||
resize:
|
||||
description:
|
||||
- When used with O(disksize) this will attempt to resize the home directory immediately.
|
||||
default: false
|
||||
type: bool
|
||||
realname:
|
||||
description:
|
||||
- The user's real ('human') name.
|
||||
- This can also be used to add a comment to maintain compatibility with C(useradd).
|
||||
aliases: [ 'comment' ]
|
||||
type: str
|
||||
realm:
|
||||
description:
|
||||
- The 'realm' a user is defined in.
|
||||
type: str
|
||||
email:
|
||||
description:
|
||||
- The email address of the user.
|
||||
type: str
|
||||
location:
|
||||
description:
|
||||
- A free-form location string describing the location of the user.
|
||||
type: str
|
||||
iconname:
|
||||
description:
|
||||
- The name of an icon picked by the user, for example for the purpose of an avatar.
|
||||
- Should follow the semantics defined in the Icon Naming Specification.
|
||||
- See U(https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html) for specifics.
|
||||
type: str
|
||||
homedir:
|
||||
description:
|
||||
- Path to use as home directory for the user.
|
||||
- This is the directory the user's home directory is mounted to while the user is logged in.
|
||||
- This is not where the user's data is actually stored, see O(imagepath) for that.
|
||||
- Only used when a user is first created.
|
||||
type: path
|
||||
imagepath:
|
||||
description:
|
||||
- Path to place the user's home directory.
|
||||
- See U(https://www.freedesktop.org/software/systemd/man/homectl.html#--image-path=PATH) for more information.
|
||||
- Only used when a user is first created.
|
||||
type: path
|
||||
uid:
|
||||
description:
|
||||
- Sets the UID of the user.
|
||||
- If using O(gid) homed requires the value to be the same.
|
||||
- Only used when a user is first created.
|
||||
type: int
|
||||
gid:
|
||||
description:
|
||||
- Sets the gid of the user.
|
||||
- If using O(uid) homed requires the value to be the same.
|
||||
- Only used when a user is first created.
|
||||
type: int
|
||||
mountopts:
|
||||
description:
|
||||
- String separated by comma each indicating mount options for a users home directory.
|
||||
- Valid options are V(nosuid), V(nodev) or V(noexec).
|
||||
- Homed by default uses V(nodev) and V(nosuid) while V(noexec) is off.
|
||||
type: str
|
||||
umask:
|
||||
description:
|
||||
- Sets the umask for the user's login sessions
|
||||
- Value from V(0000) to V(0777).
|
||||
type: int
|
||||
memberof:
|
||||
description:
|
||||
- String separated by comma each indicating a UNIX group this user shall be a member of.
|
||||
- Groups the user should be a member of should be supplied as comma separated list.
|
||||
aliases: [ 'groups' ]
|
||||
type: str
|
||||
skeleton:
|
||||
description:
|
||||
- The absolute path to the skeleton directory to populate a new home directory from.
|
||||
- This is only used when a home directory is first created.
|
||||
- If not specified homed by default uses V(/etc/skel).
|
||||
aliases: [ 'skel' ]
|
||||
type: path
|
||||
shell:
|
||||
description:
|
||||
- Shell binary to use for terminal logins of given user.
|
||||
- If not specified homed by default uses V(/bin/bash).
|
||||
type: str
|
||||
environment:
|
||||
description:
|
||||
- String separated by comma each containing an environment variable and its value to
|
||||
set for the user's login session, in a format compatible with ``putenv()``.
|
||||
- Any environment variable listed here is automatically set by pam_systemd for all
|
||||
login sessions of the user.
|
||||
aliases: [ 'setenv' ]
|
||||
type: str
|
||||
timezone:
|
||||
description:
|
||||
- Preferred timezone to use for the user.
|
||||
- Should be a tzdata compatible location string such as V(America/New_York).
|
||||
type: str
|
||||
locked:
|
||||
description:
|
||||
- Whether the user account should be locked or not.
|
||||
type: bool
|
||||
language:
|
||||
description:
|
||||
- The preferred language/locale for the user.
|
||||
- This should be in a format compatible with the E(LANG) environment variable.
|
||||
type: str
|
||||
passwordhint:
|
||||
description:
|
||||
- Password hint for the given user.
|
||||
type: str
|
||||
sshkeys:
|
||||
description:
|
||||
- String separated by comma each listing a SSH public key that is authorized to access the account.
|
||||
- The keys should follow the same format as the lines in a traditional C(~/.ssh/authorized_key) file.
|
||||
type: str
|
||||
notbefore:
|
||||
description:
|
||||
- A time since the UNIX epoch before which the record should be considered invalid for the purpose of logging in.
|
||||
type: int
|
||||
notafter:
|
||||
description:
|
||||
- A time since the UNIX epoch after which the record should be considered invalid for the purpose of logging in.
|
||||
type: int
|
||||
'''
|
||||
name:
|
||||
description:
|
||||
- The user name to create, remove, or update.
|
||||
required: true
|
||||
aliases: ['user', 'username']
|
||||
type: str
|
||||
password:
|
||||
description:
|
||||
- Set the user's password to this.
|
||||
- Homed requires this value to be in cleartext on user creation and updating a user.
|
||||
- The module takes the password and generates a password hash in SHA-512 with 10000 rounds of salt generation using
|
||||
crypt.
|
||||
- See U(https://systemd.io/USER_RECORD/).
|
||||
- This is required for O(state=present). When an existing user is updated this is checked against the stored hash in
|
||||
homed.
|
||||
type: str
|
||||
state:
|
||||
description:
|
||||
- The operation to take on the user.
|
||||
choices: ['absent', 'present']
|
||||
default: present
|
||||
type: str
|
||||
storage:
|
||||
description:
|
||||
- Indicates the storage mechanism for the user's home directory.
|
||||
- If the storage type is not specified, C(homed.conf(5\)) defines which default storage to use.
|
||||
- Only used when a user is first created.
|
||||
choices: ['classic', 'luks', 'directory', 'subvolume', 'fscrypt', 'cifs']
|
||||
type: str
|
||||
disksize:
|
||||
description:
|
||||
- The intended home directory disk space.
|
||||
- Human readable value such as V(10G), V(10M), or V(10B).
|
||||
type: str
|
||||
resize:
|
||||
description:
|
||||
- When used with O(disksize) this will attempt to resize the home directory immediately.
|
||||
default: false
|
||||
type: bool
|
||||
realname:
|
||||
description:
|
||||
- The user's real ('human') name.
|
||||
- This can also be used to add a comment to maintain compatibility with C(useradd).
|
||||
aliases: ['comment']
|
||||
type: str
|
||||
realm:
|
||||
description:
|
||||
- The 'realm' a user is defined in.
|
||||
type: str
|
||||
email:
|
||||
description:
|
||||
- The email address of the user.
|
||||
type: str
|
||||
location:
|
||||
description:
|
||||
- A free-form location string describing the location of the user.
|
||||
type: str
|
||||
iconname:
|
||||
description:
|
||||
- The name of an icon picked by the user, for example for the purpose of an avatar.
|
||||
- Should follow the semantics defined in the Icon Naming Specification.
|
||||
- See U(https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html) for specifics.
|
||||
type: str
|
||||
homedir:
|
||||
description:
|
||||
- Path to use as home directory for the user.
|
||||
- This is the directory the user's home directory is mounted to while the user is logged in.
|
||||
- This is not where the user's data is actually stored, see O(imagepath) for that.
|
||||
- Only used when a user is first created.
|
||||
type: path
|
||||
imagepath:
|
||||
description:
|
||||
- Path to place the user's home directory.
|
||||
- See U(https://www.freedesktop.org/software/systemd/man/homectl.html#--image-path=PATH) for more information.
|
||||
- Only used when a user is first created.
|
||||
type: path
|
||||
uid:
|
||||
description:
|
||||
- Sets the UID of the user.
|
||||
- If using O(gid) homed requires the value to be the same.
|
||||
- Only used when a user is first created.
|
||||
type: int
|
||||
gid:
|
||||
description:
|
||||
- Sets the gid of the user.
|
||||
- If using O(uid) homed requires the value to be the same.
|
||||
- Only used when a user is first created.
|
||||
type: int
|
||||
mountopts:
|
||||
description:
|
||||
- String separated by comma each indicating mount options for a users home directory.
|
||||
- Valid options are V(nosuid), V(nodev) or V(noexec).
|
||||
- Homed by default uses V(nodev) and V(nosuid) while V(noexec) is off.
|
||||
type: str
|
||||
umask:
|
||||
description:
|
||||
- Sets the umask for the user's login sessions.
|
||||
- Value from V(0000) to V(0777).
|
||||
type: int
|
||||
memberof:
|
||||
description:
|
||||
- String separated by comma each indicating a UNIX group this user shall be a member of.
|
||||
- Groups the user should be a member of should be supplied as comma separated list.
|
||||
aliases: ['groups']
|
||||
type: str
|
||||
skeleton:
|
||||
description:
|
||||
- The absolute path to the skeleton directory to populate a new home directory from.
|
||||
- This is only used when a home directory is first created.
|
||||
- If not specified homed by default uses V(/etc/skel).
|
||||
aliases: ['skel']
|
||||
type: path
|
||||
shell:
|
||||
description:
|
||||
- Shell binary to use for terminal logins of given user.
|
||||
- If not specified homed by default uses V(/bin/bash).
|
||||
type: str
|
||||
environment:
|
||||
description:
|
||||
- String separated by comma each containing an environment variable and its value to set for the user's login session,
|
||||
in a format compatible with C(putenv(\)).
|
||||
- Any environment variable listed here is automatically set by pam_systemd for all login sessions of the user.
|
||||
aliases: ['setenv']
|
||||
type: str
|
||||
timezone:
|
||||
description:
|
||||
- Preferred timezone to use for the user.
|
||||
- Should be a tzdata compatible location string such as V(America/New_York).
|
||||
type: str
|
||||
locked:
|
||||
description:
|
||||
- Whether the user account should be locked or not.
|
||||
type: bool
|
||||
language:
|
||||
description:
|
||||
- The preferred language/locale for the user.
|
||||
- This should be in a format compatible with the E(LANG) environment variable.
|
||||
type: str
|
||||
passwordhint:
|
||||
description:
|
||||
- Password hint for the given user.
|
||||
type: str
|
||||
sshkeys:
|
||||
description:
|
||||
- String separated by comma each listing a SSH public key that is authorized to access the account.
|
||||
- The keys should follow the same format as the lines in a traditional C(~/.ssh/authorized_key) file.
|
||||
type: str
|
||||
notbefore:
|
||||
description:
|
||||
- A time since the UNIX epoch before which the record should be considered invalid for the purpose of logging in.
|
||||
type: int
|
||||
notafter:
|
||||
description:
|
||||
- A time since the UNIX epoch after which the record should be considered invalid for the purpose of logging in.
|
||||
type: int
|
||||
"""
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
- name: Add the user 'james'
|
||||
community.general.homectl:
|
||||
name: johnd
|
||||
|
@ -215,9 +214,9 @@ EXAMPLES = '''
|
|||
community.general.homectl:
|
||||
name: janet
|
||||
state: absent
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
RETURN = r"""
|
||||
data:
|
||||
description: A json dictionary returned from C(homectl inspect -j).
|
||||
returned: success
|
||||
|
@ -267,7 +266,7 @@ data:
|
|||
"userName": "james",
|
||||
}
|
||||
}
|
||||
'''
|
||||
"""
|
||||
|
||||
import json
|
||||
import traceback
|
||||
|
|
|
@ -8,8 +8,7 @@
|
|||
from __future__ import absolute_import, division, print_function
|
||||
__metaclass__ = type
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: honeybadger_deployment
|
||||
author: "Benjamin Curtis (@stympy)"
|
||||
short_description: Notify Honeybadger.io about app deployments
|
||||
|
@ -31,20 +30,20 @@ options:
|
|||
environment:
|
||||
type: str
|
||||
description:
|
||||
- The environment name, typically 'production', 'staging', etc.
|
||||
- The environment name, typically V(production), V(staging), and so on.
|
||||
required: true
|
||||
user:
|
||||
type: str
|
||||
description:
|
||||
- The username of the person doing the deployment
|
||||
- The username of the person doing the deployment.
|
||||
repo:
|
||||
type: str
|
||||
description:
|
||||
- URL of the project repository
|
||||
- URL of the project repository.
|
||||
revision:
|
||||
type: str
|
||||
description:
|
||||
- A hash, number, tag, or other identifier showing what revision was deployed
|
||||
- A hash, number, tag, or other identifier showing what revision was deployed.
|
||||
url:
|
||||
type: str
|
||||
description:
|
||||
|
@ -52,14 +51,13 @@ options:
|
|||
default: "https://api.honeybadger.io/v1/deploys"
|
||||
validate_certs:
|
||||
description:
|
||||
- If V(false), SSL certificates for the target url will not be validated. This should only be used
|
||||
on personally controlled sites using self-signed certificates.
|
||||
- If V(false), SSL certificates for the target url will not be validated. This should only be used on personally controlled
|
||||
sites using self-signed certificates.
|
||||
type: bool
|
||||
default: true
|
||||
"""
|
||||
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
- name: Notify Honeybadger.io about an app deployment
|
||||
community.general.honeybadger_deployment:
|
||||
token: AAAAAA
|
||||
|
@ -67,9 +65,9 @@ EXAMPLES = '''
|
|||
user: ansible
|
||||
revision: b6826b8
|
||||
repo: 'git@github.com:user/repo.git'
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''# '''
|
||||
RETURN = """# """
|
||||
|
||||
import traceback
|
||||
|
||||
|
|
|
@ -9,14 +9,13 @@ from __future__ import absolute_import, division, print_function
|
|||
__metaclass__ = type
|
||||
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hpilo_boot
|
||||
author: Dag Wieers (@dagwieers)
|
||||
short_description: Boot system using specific media through HP iLO interface
|
||||
description:
|
||||
- "This module boots a system through its HP iLO interface. The boot media
|
||||
can be one of: cdrom, floppy, hdd, network or usb."
|
||||
- 'This module boots a system through its HP iLO interface. The boot media can be one of: V(cdrom), V(floppy), V(hdd),
|
||||
V(network), or V(usb).'
|
||||
- This module requires the hpilo python module.
|
||||
extends_documentation_fragment:
|
||||
- community.general.attributes
|
||||
|
@ -43,33 +42,32 @@ options:
|
|||
type: str
|
||||
media:
|
||||
description:
|
||||
- The boot media to boot the system from
|
||||
choices: [ "cdrom", "floppy", "rbsu", "hdd", "network", "normal", "usb" ]
|
||||
- The boot media to boot the system from.
|
||||
choices: ["cdrom", "floppy", "rbsu", "hdd", "network", "normal", "usb"]
|
||||
type: str
|
||||
image:
|
||||
description:
|
||||
- The URL of a cdrom, floppy or usb boot media image.
|
||||
protocol://username:password@hostname:port/filename
|
||||
- protocol is either 'http' or 'https'
|
||||
- username:password is optional
|
||||
- port is optional
|
||||
- The URL of a cdrom, floppy or usb boot media image in the form V(protocol://username:password@hostname:port/filename).
|
||||
- V(protocol) is either V(http) or V(https).
|
||||
- V(username:password) is optional.
|
||||
- V(port) is optional.
|
||||
type: str
|
||||
state:
|
||||
description:
|
||||
- The state of the boot media.
|
||||
- "no_boot: Do not boot from the device"
|
||||
- "boot_once: Boot from the device once and then notthereafter"
|
||||
- "boot_always: Boot from the device each time the server is rebooted"
|
||||
- "connect: Connect the virtual media device and set to boot_always"
|
||||
- "disconnect: Disconnects the virtual media device and set to no_boot"
|
||||
- "poweroff: Power off the server"
|
||||
- "V(no_boot): Do not boot from the device"
|
||||
- "V(boot_once): Boot from the device once and then notthereafter"
|
||||
- "V(boot_always): Boot from the device each time the server is rebooted"
|
||||
- "V(connect): Connect the virtual media device and set to boot_always"
|
||||
- "V(disconnect): Disconnects the virtual media device and set to no_boot"
|
||||
- "V(poweroff): Power off the server"
|
||||
default: boot_once
|
||||
type: str
|
||||
choices: [ "boot_always", "boot_once", "connect", "disconnect", "no_boot", "poweroff" ]
|
||||
choices: ["boot_always", "boot_once", "connect", "disconnect", "no_boot", "poweroff"]
|
||||
force:
|
||||
description:
|
||||
- Whether to force a reboot (even when the system is already booted).
|
||||
- As a safeguard, without force, hpilo_boot will refuse to reboot a server that is already running.
|
||||
- Whether to force a reboot (even when the system is already booted).
|
||||
- As a safeguard, without force, hpilo_boot will refuse to reboot a server that is already running.
|
||||
default: false
|
||||
type: bool
|
||||
ssl_version:
|
||||
|
@ -77,16 +75,16 @@ options:
|
|||
- Change the ssl_version used.
|
||||
default: TLSv1
|
||||
type: str
|
||||
choices: [ "SSLv3", "SSLv23", "TLSv1", "TLSv1_1", "TLSv1_2" ]
|
||||
choices: ["SSLv3", "SSLv23", "TLSv1", "TLSv1_1", "TLSv1_2"]
|
||||
requirements:
|
||||
- python-hpilo
|
||||
- python-hpilo
|
||||
notes:
|
||||
- To use a USB key image you need to specify floppy as boot media.
|
||||
- This module ought to be run from a system that can access the HP iLO
|
||||
interface directly, either by using C(local_action) or using C(delegate_to).
|
||||
'''
|
||||
- To use a USB key image you need to specify floppy as boot media.
|
||||
- This module ought to be run from a system that can access the HP iLO interface directly, either by using C(local_action)
|
||||
or using C(delegate_to).
|
||||
"""
|
||||
|
||||
EXAMPLES = r'''
|
||||
EXAMPLES = r"""
|
||||
- name: Task to boot a system using an ISO from an HP iLO interface only if the system is an HP server
|
||||
community.general.hpilo_boot:
|
||||
host: YOUR_ILO_ADDRESS
|
||||
|
@ -104,11 +102,11 @@ EXAMPLES = r'''
|
|||
password: YOUR_ILO_PASSWORD
|
||||
state: poweroff
|
||||
delegate_to: localhost
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
RETURN = r"""
|
||||
# Default return values
|
||||
'''
|
||||
"""
|
||||
|
||||
import time
|
||||
import traceback
|
||||
|
|
|
@ -9,23 +9,21 @@ from __future__ import absolute_import, division, print_function
|
|||
__metaclass__ = type
|
||||
|
||||
|
||||
DOCUMENTATION = r'''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hpilo_info
|
||||
author: Dag Wieers (@dagwieers)
|
||||
short_description: Gather information through an HP iLO interface
|
||||
description:
|
||||
- This module gathers information on a specific system using its HP iLO interface.
|
||||
These information includes hardware and network related information useful
|
||||
for provisioning (e.g. macaddress, uuid).
|
||||
- This module requires the C(hpilo) python module.
|
||||
- This module gathers information on a specific system using its HP iLO interface. These information includes hardware and
|
||||
network related information useful for provisioning (for example macaddress, uuid).
|
||||
- This module requires the C(hpilo) python module.
|
||||
extends_documentation_fragment:
|
||||
- community.general.attributes
|
||||
- community.general.attributes.info_module
|
||||
- community.general.attributes
|
||||
- community.general.attributes.info_module
|
||||
options:
|
||||
host:
|
||||
description:
|
||||
- The HP iLO hostname/address that is linked to the physical system.
|
||||
- The HP iLO hostname/address that is linked to the physical system.
|
||||
type: str
|
||||
required: true
|
||||
login:
|
||||
|
@ -43,15 +41,15 @@ options:
|
|||
- Change the ssl_version used.
|
||||
default: TLSv1
|
||||
type: str
|
||||
choices: [ "SSLv3", "SSLv23", "TLSv1", "TLSv1_1", "TLSv1_2" ]
|
||||
choices: ["SSLv3", "SSLv23", "TLSv1", "TLSv1_1", "TLSv1_2"]
|
||||
requirements:
|
||||
- hpilo
|
||||
- hpilo
|
||||
notes:
|
||||
- This module ought to be run from a system that can access the HP iLO
|
||||
interface directly, either by using C(local_action) or using C(delegate_to).
|
||||
'''
|
||||
- This module ought to be run from a system that can access the HP iLO interface directly, either by using C(local_action)
|
||||
or using C(delegate_to).
|
||||
"""
|
||||
|
||||
EXAMPLES = r'''
|
||||
EXAMPLES = r"""
|
||||
- name: Gather facts from a HP iLO interface only if the system is an HP server
|
||||
community.general.hpilo_info:
|
||||
host: YOUR_ILO_ADDRESS
|
||||
|
@ -64,71 +62,71 @@ EXAMPLES = r'''
|
|||
- ansible.builtin.fail:
|
||||
msg: 'CMDB serial ({{ cmdb_serialno }}) does not match hardware serial ({{ results.hw_system_serial }}) !'
|
||||
when: cmdb_serialno != results.hw_system_serial
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = r'''
|
||||
RETURN = r"""
|
||||
# Typical output of HP iLO_info for a physical system
|
||||
hw_bios_date:
|
||||
description: BIOS date
|
||||
returned: always
|
||||
type: str
|
||||
sample: 05/05/2011
|
||||
description: BIOS date.
|
||||
returned: always
|
||||
type: str
|
||||
sample: 05/05/2011
|
||||
|
||||
hw_bios_version:
|
||||
description: BIOS version
|
||||
returned: always
|
||||
type: str
|
||||
sample: P68
|
||||
description: BIOS version.
|
||||
returned: always
|
||||
type: str
|
||||
sample: P68
|
||||
|
||||
hw_ethX:
|
||||
description: Interface information (for each interface)
|
||||
returned: always
|
||||
type: dict
|
||||
sample:
|
||||
- macaddress: 00:11:22:33:44:55
|
||||
macaddress_dash: 00-11-22-33-44-55
|
||||
description: Interface information (for each interface).
|
||||
returned: always
|
||||
type: dict
|
||||
sample:
|
||||
- macaddress: 00:11:22:33:44:55
|
||||
macaddress_dash: 00-11-22-33-44-55
|
||||
|
||||
hw_eth_ilo:
|
||||
description: Interface information (for the iLO network interface)
|
||||
returned: always
|
||||
type: dict
|
||||
sample:
|
||||
- macaddress: 00:11:22:33:44:BA
|
||||
- macaddress_dash: 00-11-22-33-44-BA
|
||||
description: Interface information (for the iLO network interface).
|
||||
returned: always
|
||||
type: dict
|
||||
sample:
|
||||
- macaddress: 00:11:22:33:44:BA
|
||||
- macaddress_dash: 00-11-22-33-44-BA
|
||||
|
||||
hw_product_name:
|
||||
description: Product name
|
||||
returned: always
|
||||
type: str
|
||||
sample: ProLiant DL360 G7
|
||||
description: Product name.
|
||||
returned: always
|
||||
type: str
|
||||
sample: ProLiant DL360 G7
|
||||
|
||||
hw_product_uuid:
|
||||
description: Product UUID
|
||||
returned: always
|
||||
type: str
|
||||
sample: ef50bac8-2845-40ff-81d9-675315501dac
|
||||
description: Product UUID.
|
||||
returned: always
|
||||
type: str
|
||||
sample: ef50bac8-2845-40ff-81d9-675315501dac
|
||||
|
||||
hw_system_serial:
|
||||
description: System serial number
|
||||
returned: always
|
||||
type: str
|
||||
sample: ABC12345D6
|
||||
description: System serial number.
|
||||
returned: always
|
||||
type: str
|
||||
sample: ABC12345D6
|
||||
|
||||
hw_uuid:
|
||||
description: Hardware UUID
|
||||
returned: always
|
||||
type: str
|
||||
sample: 123456ABC78901D2
|
||||
description: Hardware UUID.
|
||||
returned: always
|
||||
type: str
|
||||
sample: 123456ABC78901D2
|
||||
|
||||
host_power_status:
|
||||
description:
|
||||
- Power status of host.
|
||||
- Will be one of V(ON), V(OFF) and V(UNKNOWN).
|
||||
returned: always
|
||||
type: str
|
||||
sample: "ON"
|
||||
version_added: 3.5.0
|
||||
'''
|
||||
description:
|
||||
- Power status of host.
|
||||
- Will be one of V(ON), V(OFF) and V(UNKNOWN).
|
||||
returned: always
|
||||
type: str
|
||||
sample: "ON"
|
||||
version_added: 3.5.0
|
||||
"""
|
||||
|
||||
import re
|
||||
import traceback
|
||||
|
|
|
@ -9,13 +9,12 @@ from __future__ import absolute_import, division, print_function
|
|||
__metaclass__ = type
|
||||
|
||||
|
||||
DOCUMENTATION = r'''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hponcfg
|
||||
author: Dag Wieers (@dagwieers)
|
||||
short_description: Configure HP iLO interface using hponcfg
|
||||
short_description: Configure HP iLO interface using C(hponcfg)
|
||||
description:
|
||||
- This modules configures the HP iLO interface using hponcfg.
|
||||
- This modules configures the HP iLO interface using C(hponcfg).
|
||||
extends_documentation_fragment:
|
||||
- community.general.attributes
|
||||
attributes:
|
||||
|
@ -26,32 +25,32 @@ attributes:
|
|||
options:
|
||||
path:
|
||||
description:
|
||||
- The XML file as accepted by hponcfg.
|
||||
- The XML file as accepted by C(hponcfg).
|
||||
required: true
|
||||
aliases: ['src']
|
||||
type: path
|
||||
minfw:
|
||||
description:
|
||||
- The minimum firmware level needed.
|
||||
- The minimum firmware level needed.
|
||||
required: false
|
||||
type: str
|
||||
executable:
|
||||
description:
|
||||
- Path to the hponcfg executable (C(hponcfg) which uses $PATH).
|
||||
- Path to the hponcfg executable (C(hponcfg) which uses E(PATH)).
|
||||
default: hponcfg
|
||||
type: str
|
||||
verbose:
|
||||
description:
|
||||
- Run hponcfg in verbose mode (-v).
|
||||
- Run C(hponcfg) in verbose mode (-v).
|
||||
default: false
|
||||
type: bool
|
||||
requirements:
|
||||
- hponcfg tool
|
||||
- hponcfg tool
|
||||
notes:
|
||||
- You need a working hponcfg on the target system.
|
||||
'''
|
||||
- You need a working C(hponcfg) on the target system.
|
||||
"""
|
||||
|
||||
EXAMPLES = r'''
|
||||
EXAMPLES = r"""
|
||||
- name: Example hponcfg configuration XML
|
||||
ansible.builtin.copy:
|
||||
content: |
|
||||
|
@ -78,7 +77,7 @@ EXAMPLES = r'''
|
|||
community.general.hponcfg:
|
||||
src: /tmp/enable-ssh.xml
|
||||
executable: /opt/hp/tools/hponcfg
|
||||
'''
|
||||
"""
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.cmd_runner import CmdRunner, cmd_runner_fmt
|
||||
from ansible_collections.community.general.plugins.module_utils.module_helper import ModuleHelper
|
||||
|
|
|
@ -9,7 +9,7 @@ from __future__ import absolute_import, division, print_function
|
|||
__metaclass__ = type
|
||||
|
||||
|
||||
DOCUMENTATION = '''
|
||||
DOCUMENTATION = r"""
|
||||
module: htpasswd
|
||||
short_description: Manage user files for basic authentication
|
||||
description:
|
||||
|
@ -24,13 +24,13 @@ options:
|
|||
path:
|
||||
type: path
|
||||
required: true
|
||||
aliases: [ dest, destfile ]
|
||||
aliases: [dest, destfile]
|
||||
description:
|
||||
- Path to the file that contains the usernames and passwords.
|
||||
name:
|
||||
type: str
|
||||
required: true
|
||||
aliases: [ username ]
|
||||
aliases: [username]
|
||||
description:
|
||||
- User name to add or remove.
|
||||
password:
|
||||
|
@ -44,19 +44,17 @@ options:
|
|||
required: false
|
||||
default: "apr_md5_crypt"
|
||||
description:
|
||||
- Hashing scheme to be used. As well as the four choices listed
|
||||
here, you can also use any other hash supported by passlib, such as
|
||||
V(portable_apache22) and V(host_apache24); or V(md5_crypt) and V(sha256_crypt),
|
||||
which are Linux passwd hashes. Only some schemes in addition to
|
||||
the four choices below will be compatible with Apache or Nginx, and
|
||||
supported schemes depend on passlib version and its dependencies.
|
||||
- Hashing scheme to be used. As well as the four choices listed here, you can also use any other hash supported by passlib,
|
||||
such as V(portable_apache22) and V(host_apache24); or V(md5_crypt) and V(sha256_crypt), which are Linux passwd hashes.
|
||||
Only some schemes in addition to the four choices below will be compatible with Apache or Nginx, and supported schemes
|
||||
depend on passlib version and its dependencies.
|
||||
- See U(https://passlib.readthedocs.io/en/stable/lib/passlib.apache.html#passlib.apache.HtpasswdFile) parameter C(default_scheme).
|
||||
- 'Some of the available choices might be: V(apr_md5_crypt), V(des_crypt), V(ldap_sha1), V(plaintext).'
|
||||
aliases: [crypt_scheme]
|
||||
state:
|
||||
type: str
|
||||
required: false
|
||||
choices: [ present, absent ]
|
||||
choices: [present, absent]
|
||||
default: "present"
|
||||
description:
|
||||
- Whether the user entry should be present or not.
|
||||
|
@ -65,22 +63,21 @@ options:
|
|||
type: bool
|
||||
default: true
|
||||
description:
|
||||
- Used with O(state=present). If V(true), the file will be created
|
||||
if it does not exist. Conversely, if set to V(false) and the file
|
||||
does not exist it will fail.
|
||||
- Used with O(state=present). If V(true), the file will be created if it does not exist. Conversely, if set to V(false)
|
||||
and the file does not exist it will fail.
|
||||
notes:
|
||||
- "This module depends on the C(passlib) Python library, which needs to be installed on all target systems."
|
||||
- "On Debian < 11, Ubuntu <= 20.04, or Fedora: install C(python-passlib)."
|
||||
- "On Debian, Ubuntu: install C(python3-passlib)."
|
||||
- "On RHEL or CentOS: Enable EPEL, then install C(python-passlib)."
|
||||
requirements: [ passlib>=1.6 ]
|
||||
- This module depends on the C(passlib) Python library, which needs to be installed on all target systems.
|
||||
- 'On Debian < 11, Ubuntu <= 20.04, or Fedora: install C(python-passlib).'
|
||||
- 'On Debian, Ubuntu: install C(python3-passlib).'
|
||||
- 'On RHEL or CentOS: Enable EPEL, then install C(python-passlib).'
|
||||
requirements: [passlib>=1.6]
|
||||
author: "Ansible Core Team"
|
||||
extends_documentation_fragment:
|
||||
- files
|
||||
- community.general.attributes
|
||||
'''
|
||||
"""
|
||||
|
||||
EXAMPLES = """
|
||||
EXAMPLES = r"""
|
||||
- name: Add a user to a password file and ensure permissions are set
|
||||
community.general.htpasswd:
|
||||
path: /etc/nginx/passwdfile
|
||||
|
|
|
@ -12,230 +12,207 @@ __metaclass__ = type
|
|||
# Documentation
|
||||
###############################################################################
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hwc_ecs_instance
|
||||
description:
|
||||
- instance management.
|
||||
- Instance management.
|
||||
short_description: Creates a resource of Ecs/Instance in Huawei Cloud
|
||||
version_added: '0.2.0'
|
||||
author: Huawei Inc. (@huaweicloud)
|
||||
requirements:
|
||||
- keystoneauth1 >= 3.6.0
|
||||
- keystoneauth1 >= 3.6.0
|
||||
attributes:
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
options:
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
timeouts:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
- The timeouts for create operation.
|
||||
type: str
|
||||
default: '30m'
|
||||
update:
|
||||
description:
|
||||
- The timeouts for update operation.
|
||||
type: str
|
||||
default: '30m'
|
||||
delete:
|
||||
description:
|
||||
- The timeouts for delete operation.
|
||||
type: str
|
||||
default: '30m'
|
||||
availability_zone:
|
||||
description:
|
||||
- Specifies the name of the AZ where the ECS is located.
|
||||
type: str
|
||||
required: true
|
||||
flavor_name:
|
||||
description:
|
||||
- Specifies the name of the system flavor.
|
||||
type: str
|
||||
required: true
|
||||
image_id:
|
||||
description:
|
||||
- Specifies the ID of the system image.
|
||||
type: str
|
||||
required: true
|
||||
name:
|
||||
description:
|
||||
- Specifies the ECS name. Value requirements consists of 1 to 64
|
||||
characters, including letters, digits, underscores (V(_)), hyphens
|
||||
(V(-)), periods (V(.)).
|
||||
type: str
|
||||
required: true
|
||||
nics:
|
||||
description:
|
||||
- Specifies the NIC information of the ECS. Constraints the
|
||||
network of the NIC must belong to the VPC specified by vpc_id. A
|
||||
maximum of 12 NICs can be attached to an ECS.
|
||||
type: list
|
||||
elements: dict
|
||||
required: true
|
||||
suboptions:
|
||||
ip_address:
|
||||
description:
|
||||
- Specifies the IP address of the NIC. The value is an IPv4
|
||||
address. Its value must be an unused IP
|
||||
address in the network segment of the subnet.
|
||||
type: str
|
||||
required: true
|
||||
subnet_id:
|
||||
description:
|
||||
- Specifies the ID of subnet.
|
||||
type: str
|
||||
required: true
|
||||
root_volume:
|
||||
description:
|
||||
- Specifies the configuration of the ECS's system disks.
|
||||
type: dict
|
||||
required: true
|
||||
suboptions:
|
||||
volume_type:
|
||||
description:
|
||||
- Specifies the ECS system disk type.
|
||||
- SATA is common I/O disk type.
|
||||
- SAS is high I/O disk type.
|
||||
- SSD is ultra-high I/O disk type.
|
||||
- co-p1 is high I/O (performance-optimized I) disk type.
|
||||
- uh-l1 is ultra-high I/O (latency-optimized) disk type.
|
||||
- NOTE is For HANA, HL1, and HL2 ECSs, use co-p1 and uh-l1
|
||||
disks. For other ECSs, do not use co-p1 or uh-l1 disks.
|
||||
type: str
|
||||
required: true
|
||||
size:
|
||||
description:
|
||||
- Specifies the system disk size, in GB. The value range is
|
||||
1 to 1024. The system disk size must be
|
||||
greater than or equal to the minimum system disk size
|
||||
supported by the image (min_disk attribute of the image).
|
||||
If this parameter is not specified or is set to 0, the
|
||||
default system disk size is the minimum value of the
|
||||
system disk in the image (min_disk attribute of the
|
||||
image).
|
||||
type: int
|
||||
required: false
|
||||
snapshot_id:
|
||||
description:
|
||||
- Specifies the snapshot ID or ID of the original data disk
|
||||
contained in the full-ECS image.
|
||||
type: str
|
||||
required: false
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the ID of the VPC to which the ECS belongs.
|
||||
type: str
|
||||
required: true
|
||||
admin_pass:
|
||||
description:
|
||||
- Specifies the initial login password of the administrator account
|
||||
for logging in to an ECS using password authentication. The Linux
|
||||
administrator is root, and the Windows administrator is
|
||||
Administrator. Password complexity requirements, consists of 8 to
|
||||
26 characters. The password must contain at least three of the
|
||||
following character types 'uppercase letters, lowercase letters,
|
||||
digits, and special characters (!@$%^-_=+[{}]:,./?)'. The password
|
||||
cannot contain the username or the username in reverse. The
|
||||
Windows ECS password cannot contain the username, the username in
|
||||
reverse, or more than two consecutive characters in the username.
|
||||
type: str
|
||||
required: false
|
||||
data_volumes:
|
||||
description:
|
||||
- Specifies the data disks of ECS instance.
|
||||
type: list
|
||||
elements: dict
|
||||
required: false
|
||||
suboptions:
|
||||
volume_id:
|
||||
description:
|
||||
- Specifies the disk ID.
|
||||
type: str
|
||||
required: true
|
||||
device:
|
||||
description:
|
||||
- Specifies the disk device name.
|
||||
type: str
|
||||
required: false
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
timeouts:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
- Specifies the description of an ECS, which is a null string by
|
||||
default. Can contain a maximum of 85 characters. Cannot contain
|
||||
special characters, such as < and >.
|
||||
- The timeouts for create operation.
|
||||
type: str
|
||||
default: '30m'
|
||||
update:
|
||||
description:
|
||||
- The timeouts for update operation.
|
||||
type: str
|
||||
default: '30m'
|
||||
delete:
|
||||
description:
|
||||
- The timeouts for delete operation.
|
||||
type: str
|
||||
default: '30m'
|
||||
availability_zone:
|
||||
description:
|
||||
- Specifies the name of the AZ where the ECS is located.
|
||||
type: str
|
||||
required: true
|
||||
flavor_name:
|
||||
description:
|
||||
- Specifies the name of the system flavor.
|
||||
type: str
|
||||
required: true
|
||||
image_id:
|
||||
description:
|
||||
- Specifies the ID of the system image.
|
||||
type: str
|
||||
required: true
|
||||
name:
|
||||
description:
|
||||
- Specifies the ECS name. Value requirements consists of 1 to 64 characters, including letters, digits, underscores
|
||||
(V(_)), hyphens (V(-)), periods (V(.)).
|
||||
type: str
|
||||
required: true
|
||||
nics:
|
||||
description:
|
||||
- Specifies the NIC information of the ECS. Constraints the network of the NIC must belong to the VPC specified by vpc_id.
|
||||
A maximum of 12 NICs can be attached to an ECS.
|
||||
type: list
|
||||
elements: dict
|
||||
required: true
|
||||
suboptions:
|
||||
ip_address:
|
||||
description:
|
||||
- Specifies the IP address of the NIC. The value is an IPv4 address. Its value must be an unused IP address in the
|
||||
network segment of the subnet.
|
||||
type: str
|
||||
required: true
|
||||
subnet_id:
|
||||
description:
|
||||
- Specifies the ID of subnet.
|
||||
type: str
|
||||
required: true
|
||||
root_volume:
|
||||
description:
|
||||
- Specifies the configuration of the ECS's system disks.
|
||||
type: dict
|
||||
required: true
|
||||
suboptions:
|
||||
volume_type:
|
||||
description:
|
||||
- Specifies the ECS system disk type.
|
||||
- SATA is common I/O disk type.
|
||||
- SAS is high I/O disk type.
|
||||
- SSD is ultra-high I/O disk type.
|
||||
- Co-p1 is high I/O (performance-optimized I) disk type.
|
||||
- Uh-l1 is ultra-high I/O (latency-optimized) disk type.
|
||||
- NOTE is For HANA, HL1, and HL2 ECSs, use co-p1 and uh-l1 disks. For other ECSs, do not use co-p1 or uh-l1 disks.
|
||||
type: str
|
||||
required: true
|
||||
size:
|
||||
description:
|
||||
- Specifies the system disk size, in GB. The value range is 1 to 1024. The system disk size must be greater than
|
||||
or equal to the minimum system disk size supported by the image (min_disk attribute of the image). If this parameter
|
||||
is not specified or is set to 0, the default system disk size is the minimum value of the system disk in the image
|
||||
(min_disk attribute of the image).
|
||||
type: int
|
||||
required: false
|
||||
snapshot_id:
|
||||
description:
|
||||
- Specifies the snapshot ID or ID of the original data disk contained in the full-ECS image.
|
||||
type: str
|
||||
required: false
|
||||
eip_id:
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the ID of the VPC to which the ECS belongs.
|
||||
type: str
|
||||
required: true
|
||||
admin_pass:
|
||||
description:
|
||||
- Specifies the initial login password of the administrator account for logging in to an ECS using password authentication.
|
||||
The Linux administrator is root, and the Windows administrator is Administrator. Password complexity requirements,
|
||||
consists of 8 to 26 characters. The password must contain at least three of the following character types 'uppercase
|
||||
letters, lowercase letters, digits, and special characters (V(!@$%^-_=+[{}]:,./?))'. The password cannot contain the
|
||||
username or the username in reverse. The Windows ECS password cannot contain the username, the username in reverse,
|
||||
or more than two consecutive characters in the username.
|
||||
type: str
|
||||
required: false
|
||||
data_volumes:
|
||||
description:
|
||||
- Specifies the data disks of ECS instance.
|
||||
type: list
|
||||
elements: dict
|
||||
required: false
|
||||
suboptions:
|
||||
volume_id:
|
||||
description:
|
||||
- Specifies the ID of the elastic IP address assigned to the ECS.
|
||||
Only elastic IP addresses in the DOWN state can be
|
||||
assigned.
|
||||
type: str
|
||||
required: false
|
||||
enable_auto_recovery:
|
||||
description:
|
||||
- Specifies whether automatic recovery is enabled on the ECS.
|
||||
type: bool
|
||||
required: false
|
||||
enterprise_project_id:
|
||||
description:
|
||||
- Specifies the ID of the enterprise project to which the ECS
|
||||
belongs.
|
||||
type: str
|
||||
required: false
|
||||
security_groups:
|
||||
description:
|
||||
- Specifies the security groups of the ECS. If this
|
||||
parameter is left blank, the default security group is bound to
|
||||
the ECS by default.
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
server_metadata:
|
||||
description:
|
||||
- Specifies the metadata of ECS to be created.
|
||||
type: dict
|
||||
required: false
|
||||
server_tags:
|
||||
description:
|
||||
- Specifies the tags of an ECS. When you create ECSs, one ECS
|
||||
supports up to 10 tags.
|
||||
type: dict
|
||||
required: false
|
||||
ssh_key_name:
|
||||
description:
|
||||
- Specifies the name of the SSH key used for logging in to the ECS.
|
||||
type: str
|
||||
required: false
|
||||
user_data:
|
||||
description:
|
||||
- Specifies the user data to be injected during the ECS creation
|
||||
process. Text, text files, and gzip files can be injected.
|
||||
The content to be injected must be encoded with
|
||||
base64. The maximum size of the content to be injected (before
|
||||
encoding) is 32 KB. For Linux ECSs, this parameter does not take
|
||||
effect when adminPass is used.
|
||||
- Specifies the disk ID.
|
||||
type: str
|
||||
required: true
|
||||
device:
|
||||
description:
|
||||
- Specifies the disk device name.
|
||||
type: str
|
||||
required: false
|
||||
description:
|
||||
description:
|
||||
- Specifies the description of an ECS, which is a null string by default. Can contain a maximum of 85 characters. Cannot
|
||||
contain special characters, such as V(<) and V(>).
|
||||
type: str
|
||||
required: false
|
||||
eip_id:
|
||||
description:
|
||||
- Specifies the ID of the elastic IP address assigned to the ECS. Only elastic IP addresses in the DOWN state can be
|
||||
assigned.
|
||||
type: str
|
||||
required: false
|
||||
enable_auto_recovery:
|
||||
description:
|
||||
- Specifies whether automatic recovery is enabled on the ECS.
|
||||
type: bool
|
||||
required: false
|
||||
enterprise_project_id:
|
||||
description:
|
||||
- Specifies the ID of the enterprise project to which the ECS belongs.
|
||||
type: str
|
||||
required: false
|
||||
security_groups:
|
||||
description:
|
||||
- Specifies the security groups of the ECS. If this parameter is left blank, the default security group is bound to
|
||||
the ECS by default.
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
server_metadata:
|
||||
description:
|
||||
- Specifies the metadata of ECS to be created.
|
||||
type: dict
|
||||
required: false
|
||||
server_tags:
|
||||
description:
|
||||
- Specifies the tags of an ECS. When you create ECSs, one ECS supports up to 10 tags.
|
||||
type: dict
|
||||
required: false
|
||||
ssh_key_name:
|
||||
description:
|
||||
- Specifies the name of the SSH key used for logging in to the ECS.
|
||||
type: str
|
||||
required: false
|
||||
user_data:
|
||||
description:
|
||||
- Specifies the user data to be injected during the ECS creation process. Text, text files, and gzip files can be injected.
|
||||
The content to be injected must be encoded with base64. The maximum size of the content to be injected (before encoding)
|
||||
is 32 KB. For Linux ECSs, this parameter does not take effect when adminPass is used.
|
||||
type: str
|
||||
required: false
|
||||
extends_documentation_fragment:
|
||||
- community.general.hwc
|
||||
- community.general.attributes
|
||||
"""
|
||||
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
# create an ecs instance
|
||||
- name: Create a vpc
|
||||
hwc_network_vpc:
|
||||
|
@ -285,238 +262,216 @@ EXAMPLES = '''
|
|||
vpc_id: "{{ vpc.id }}"
|
||||
root_volume:
|
||||
volume_type: "SAS"
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
availability_zone:
|
||||
description:
|
||||
- Specifies the name of the AZ where the ECS is located.
|
||||
type: str
|
||||
returned: success
|
||||
flavor_name:
|
||||
description:
|
||||
- Specifies the name of the system flavor.
|
||||
type: str
|
||||
returned: success
|
||||
image_id:
|
||||
description:
|
||||
- Specifies the ID of the system image.
|
||||
type: str
|
||||
returned: success
|
||||
name:
|
||||
description:
|
||||
- Specifies the ECS name. Value requirements "Consists of 1 to 64
|
||||
characters, including letters, digits, underscores (V(_)), hyphens
|
||||
(V(-)), periods (V(.)).".
|
||||
type: str
|
||||
returned: success
|
||||
nics:
|
||||
description:
|
||||
- Specifies the NIC information of the ECS. The
|
||||
network of the NIC must belong to the VPC specified by vpc_id. A
|
||||
maximum of 12 NICs can be attached to an ECS.
|
||||
type: list
|
||||
returned: success
|
||||
contains:
|
||||
ip_address:
|
||||
description:
|
||||
- Specifies the IP address of the NIC. The value is an IPv4
|
||||
address. Its value must be an unused IP
|
||||
address in the network segment of the subnet.
|
||||
type: str
|
||||
returned: success
|
||||
subnet_id:
|
||||
description:
|
||||
- Specifies the ID of subnet.
|
||||
type: str
|
||||
returned: success
|
||||
port_id:
|
||||
description:
|
||||
- Specifies the port ID corresponding to the IP address.
|
||||
type: str
|
||||
returned: success
|
||||
root_volume:
|
||||
description:
|
||||
- Specifies the configuration of the ECS's system disks.
|
||||
type: dict
|
||||
returned: success
|
||||
contains:
|
||||
volume_type:
|
||||
description:
|
||||
- Specifies the ECS system disk type.
|
||||
- SATA is common I/O disk type.
|
||||
- SAS is high I/O disk type.
|
||||
- SSD is ultra-high I/O disk type.
|
||||
- co-p1 is high I/O (performance-optimized I) disk type.
|
||||
- uh-l1 is ultra-high I/O (latency-optimized) disk type.
|
||||
- NOTE is For HANA, HL1, and HL2 ECSs, use co-p1 and uh-l1
|
||||
disks. For other ECSs, do not use co-p1 or uh-l1 disks.
|
||||
type: str
|
||||
returned: success
|
||||
size:
|
||||
description:
|
||||
- Specifies the system disk size, in GB. The value range is
|
||||
1 to 1024. The system disk size must be
|
||||
greater than or equal to the minimum system disk size
|
||||
supported by the image (min_disk attribute of the image).
|
||||
If this parameter is not specified or is set to 0, the
|
||||
default system disk size is the minimum value of the
|
||||
system disk in the image (min_disk attribute of the
|
||||
image).
|
||||
type: int
|
||||
returned: success
|
||||
snapshot_id:
|
||||
description:
|
||||
- Specifies the snapshot ID or ID of the original data disk
|
||||
contained in the full-ECS image.
|
||||
type: str
|
||||
returned: success
|
||||
device:
|
||||
description:
|
||||
- Specifies the disk device name.
|
||||
type: str
|
||||
returned: success
|
||||
volume_id:
|
||||
description:
|
||||
- Specifies the disk ID.
|
||||
type: str
|
||||
returned: success
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the ID of the VPC to which the ECS belongs.
|
||||
type: str
|
||||
returned: success
|
||||
admin_pass:
|
||||
description:
|
||||
- Specifies the initial login password of the administrator account
|
||||
for logging in to an ECS using password authentication. The Linux
|
||||
administrator is root, and the Windows administrator is
|
||||
Administrator. Password complexity requirements consists of 8 to
|
||||
26 characters. The password must contain at least three of the
|
||||
following character types "uppercase letters, lowercase letters,
|
||||
digits, and special characters (!@$%^-_=+[{}]:,./?)". The password
|
||||
cannot contain the username or the username in reverse. The
|
||||
Windows ECS password cannot contain the username, the username in
|
||||
reverse, or more than two consecutive characters in the username.
|
||||
type: str
|
||||
returned: success
|
||||
data_volumes:
|
||||
description:
|
||||
- Specifies the data disks of ECS instance.
|
||||
type: list
|
||||
returned: success
|
||||
contains:
|
||||
volume_id:
|
||||
description:
|
||||
- Specifies the disk ID.
|
||||
type: str
|
||||
returned: success
|
||||
device:
|
||||
description:
|
||||
- Specifies the disk device name.
|
||||
type: str
|
||||
returned: success
|
||||
description:
|
||||
description:
|
||||
- Specifies the description of an ECS, which is a null string by
|
||||
default. Can contain a maximum of 85 characters. Cannot contain
|
||||
special characters, such as < and >.
|
||||
type: str
|
||||
returned: success
|
||||
eip_id:
|
||||
description:
|
||||
- Specifies the ID of the elastic IP address assigned to the ECS.
|
||||
Only elastic IP addresses in the DOWN state can be assigned.
|
||||
type: str
|
||||
returned: success
|
||||
enable_auto_recovery:
|
||||
description:
|
||||
- Specifies whether automatic recovery is enabled on the ECS.
|
||||
type: bool
|
||||
returned: success
|
||||
enterprise_project_id:
|
||||
description:
|
||||
- Specifies the ID of the enterprise project to which the ECS
|
||||
belongs.
|
||||
type: str
|
||||
returned: success
|
||||
security_groups:
|
||||
description:
|
||||
- Specifies the security groups of the ECS. If this parameter is left
|
||||
blank, the default security group is bound to the ECS by default.
|
||||
type: list
|
||||
returned: success
|
||||
server_metadata:
|
||||
description:
|
||||
- Specifies the metadata of ECS to be created.
|
||||
type: dict
|
||||
returned: success
|
||||
server_tags:
|
||||
description:
|
||||
- Specifies the tags of an ECS. When you create ECSs, one ECS
|
||||
supports up to 10 tags.
|
||||
type: dict
|
||||
returned: success
|
||||
ssh_key_name:
|
||||
description:
|
||||
- Specifies the name of the SSH key used for logging in to the ECS.
|
||||
type: str
|
||||
returned: success
|
||||
user_data:
|
||||
description:
|
||||
- Specifies the user data to be injected during the ECS creation
|
||||
process. Text, text files, and gzip files can be injected.
|
||||
The content to be injected must be encoded with base64. The maximum
|
||||
size of the content to be injected (before encoding) is 32 KB. For
|
||||
Linux ECSs, this parameter does not take effect when adminPass is
|
||||
used.
|
||||
type: str
|
||||
returned: success
|
||||
config_drive:
|
||||
description:
|
||||
- Specifies the configuration driver.
|
||||
type: str
|
||||
returned: success
|
||||
created:
|
||||
description:
|
||||
- Specifies the time when an ECS was created.
|
||||
type: str
|
||||
returned: success
|
||||
disk_config_type:
|
||||
description:
|
||||
- Specifies the disk configuration type. MANUAL is The image
|
||||
space is not expanded. AUTO is the image space of the system disk
|
||||
will be expanded to be as same as the flavor.
|
||||
type: str
|
||||
returned: success
|
||||
host_name:
|
||||
description:
|
||||
- Specifies the host name of the ECS.
|
||||
type: str
|
||||
returned: success
|
||||
image_name:
|
||||
description:
|
||||
- Specifies the image name of the ECS.
|
||||
type: str
|
||||
returned: success
|
||||
power_state:
|
||||
description:
|
||||
- Specifies the power status of the ECS.
|
||||
type: int
|
||||
returned: success
|
||||
server_alias:
|
||||
description:
|
||||
- Specifies the ECS alias.
|
||||
type: str
|
||||
returned: success
|
||||
status:
|
||||
description:
|
||||
- Specifies the ECS status. Options are ACTIVE, REBOOT, HARD_REBOOT,
|
||||
REBUILD, MIGRATING, BUILD, SHUTOFF, RESIZE, VERIFY_RESIZE, ERROR,
|
||||
and DELETED.
|
||||
type: str
|
||||
returned: success
|
||||
'''
|
||||
RETURN = r"""
|
||||
availability_zone:
|
||||
description:
|
||||
- Specifies the name of the AZ where the ECS is located.
|
||||
type: str
|
||||
returned: success
|
||||
flavor_name:
|
||||
description:
|
||||
- Specifies the name of the system flavor.
|
||||
type: str
|
||||
returned: success
|
||||
image_id:
|
||||
description:
|
||||
- Specifies the ID of the system image.
|
||||
type: str
|
||||
returned: success
|
||||
name:
|
||||
description:
|
||||
- Specifies the ECS name. Value requirements "Consists of 1 to 64 characters, including letters, digits, underscores (V(_)),
|
||||
hyphens (V(-)), periods (V(.)).".
|
||||
type: str
|
||||
returned: success
|
||||
nics:
|
||||
description:
|
||||
- Specifies the NIC information of the ECS. The network of the NIC must belong to the VPC specified by vpc_id. A maximum
|
||||
of 12 NICs can be attached to an ECS.
|
||||
type: list
|
||||
returned: success
|
||||
contains:
|
||||
ip_address:
|
||||
description:
|
||||
- Specifies the IP address of the NIC. The value is an IPv4 address. Its value must be an unused IP address in the
|
||||
network segment of the subnet.
|
||||
type: str
|
||||
returned: success
|
||||
subnet_id:
|
||||
description:
|
||||
- Specifies the ID of subnet.
|
||||
type: str
|
||||
returned: success
|
||||
port_id:
|
||||
description:
|
||||
- Specifies the port ID corresponding to the IP address.
|
||||
type: str
|
||||
returned: success
|
||||
root_volume:
|
||||
description:
|
||||
- Specifies the configuration of the ECS's system disks.
|
||||
type: dict
|
||||
returned: success
|
||||
contains:
|
||||
volume_type:
|
||||
description:
|
||||
- Specifies the ECS system disk type.
|
||||
- SATA is common I/O disk type.
|
||||
- SAS is high I/O disk type.
|
||||
- SSD is ultra-high I/O disk type.
|
||||
- Co-p1 is high I/O (performance-optimized I) disk type.
|
||||
- Uh-l1 is ultra-high I/O (latency-optimized) disk type.
|
||||
- NOTE is For HANA, HL1, and HL2 ECSs, use co-p1 and uh-l1 disks. For other ECSs, do not use co-p1 or uh-l1 disks.
|
||||
type: str
|
||||
returned: success
|
||||
size:
|
||||
description:
|
||||
- Specifies the system disk size, in GB. The value range is 1 to 1024. The system disk size must be greater than or
|
||||
equal to the minimum system disk size supported by the image (min_disk attribute of the image). If this parameter
|
||||
is not specified or is set to 0, the default system disk size is the minimum value of the system disk in the image
|
||||
(min_disk attribute of the image).
|
||||
type: int
|
||||
returned: success
|
||||
snapshot_id:
|
||||
description:
|
||||
- Specifies the snapshot ID or ID of the original data disk contained in the full-ECS image.
|
||||
type: str
|
||||
returned: success
|
||||
device:
|
||||
description:
|
||||
- Specifies the disk device name.
|
||||
type: str
|
||||
returned: success
|
||||
volume_id:
|
||||
description:
|
||||
- Specifies the disk ID.
|
||||
type: str
|
||||
returned: success
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the ID of the VPC to which the ECS belongs.
|
||||
type: str
|
||||
returned: success
|
||||
admin_pass:
|
||||
description:
|
||||
- Specifies the initial login password of the administrator account for logging in to an ECS using password authentication.
|
||||
The Linux administrator is root, and the Windows administrator is Administrator. Password complexity requirements consists
|
||||
of 8 to 26 characters. The password must contain at least three of the following character types "uppercase letters,
|
||||
lowercase letters, digits, and special characters (!@$%^-_=+[{}]:,./?)". The password cannot contain the username or
|
||||
the username in reverse. The Windows ECS password cannot contain the username, the username in reverse, or more than
|
||||
two consecutive characters in the username.
|
||||
type: str
|
||||
returned: success
|
||||
data_volumes:
|
||||
description:
|
||||
- Specifies the data disks of ECS instance.
|
||||
type: list
|
||||
returned: success
|
||||
contains:
|
||||
volume_id:
|
||||
description:
|
||||
- Specifies the disk ID.
|
||||
type: str
|
||||
returned: success
|
||||
device:
|
||||
description:
|
||||
- Specifies the disk device name.
|
||||
type: str
|
||||
returned: success
|
||||
description:
|
||||
description:
|
||||
- Specifies the description of an ECS, which is a null string by default. Can contain a maximum of 85 characters. Cannot
|
||||
contain special characters, such as < and >.
|
||||
type: str
|
||||
returned: success
|
||||
eip_id:
|
||||
description:
|
||||
- Specifies the ID of the elastic IP address assigned to the ECS. Only elastic IP addresses in the DOWN state can be assigned.
|
||||
type: str
|
||||
returned: success
|
||||
enable_auto_recovery:
|
||||
description:
|
||||
- Specifies whether automatic recovery is enabled on the ECS.
|
||||
type: bool
|
||||
returned: success
|
||||
enterprise_project_id:
|
||||
description:
|
||||
- Specifies the ID of the enterprise project to which the ECS belongs.
|
||||
type: str
|
||||
returned: success
|
||||
security_groups:
|
||||
description:
|
||||
- Specifies the security groups of the ECS. If this parameter is left blank, the default security group is bound to the
|
||||
ECS by default.
|
||||
type: list
|
||||
returned: success
|
||||
server_metadata:
|
||||
description:
|
||||
- Specifies the metadata of ECS to be created.
|
||||
type: dict
|
||||
returned: success
|
||||
server_tags:
|
||||
description:
|
||||
- Specifies the tags of an ECS. When you create ECSs, one ECS supports up to 10 tags.
|
||||
type: dict
|
||||
returned: success
|
||||
ssh_key_name:
|
||||
description:
|
||||
- Specifies the name of the SSH key used for logging in to the ECS.
|
||||
type: str
|
||||
returned: success
|
||||
user_data:
|
||||
description:
|
||||
- Specifies the user data to be injected during the ECS creation process. Text, text files, and gzip files can be injected.
|
||||
The content to be injected must be encoded with base64. The maximum size of the content to be injected (before encoding)
|
||||
is 32 KB. For Linux ECSs, this parameter does not take effect when adminPass is used.
|
||||
type: str
|
||||
returned: success
|
||||
config_drive:
|
||||
description:
|
||||
- Specifies the configuration driver.
|
||||
type: str
|
||||
returned: success
|
||||
created:
|
||||
description:
|
||||
- Specifies the time when an ECS was created.
|
||||
type: str
|
||||
returned: success
|
||||
disk_config_type:
|
||||
description:
|
||||
- Specifies the disk configuration type. MANUAL is The image space is not expanded. AUTO is the image space of the system
|
||||
disk will be expanded to be as same as the flavor.
|
||||
type: str
|
||||
returned: success
|
||||
host_name:
|
||||
description:
|
||||
- Specifies the host name of the ECS.
|
||||
type: str
|
||||
returned: success
|
||||
image_name:
|
||||
description:
|
||||
- Specifies the image name of the ECS.
|
||||
type: str
|
||||
returned: success
|
||||
power_state:
|
||||
description:
|
||||
- Specifies the power status of the ECS.
|
||||
type: int
|
||||
returned: success
|
||||
server_alias:
|
||||
description:
|
||||
- Specifies the ECS alias.
|
||||
type: str
|
||||
returned: success
|
||||
status:
|
||||
description:
|
||||
- Specifies the ECS status. Options are ACTIVE, REBOOT, HARD_REBOOT, REBUILD, MIGRATING, BUILD, SHUTOFF, RESIZE, VERIFY_RESIZE,
|
||||
ERROR, and DELETED.
|
||||
type: str
|
||||
returned: success
|
||||
"""
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.hwc_utils import (
|
||||
Config, HwcClientException, HwcModule, are_different_dicts, build_path,
|
||||
|
|
|
@ -12,155 +12,135 @@ __metaclass__ = type
|
|||
# Documentation
|
||||
###############################################################################
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hwc_evs_disk
|
||||
description:
|
||||
- block storage management.
|
||||
- Block storage management.
|
||||
short_description: Creates a resource of Evs/Disk in Huawei Cloud
|
||||
version_added: '0.2.0'
|
||||
author: Huawei Inc. (@huaweicloud)
|
||||
requirements:
|
||||
- keystoneauth1 >= 3.6.0
|
||||
- keystoneauth1 >= 3.6.0
|
||||
attributes:
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
options:
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huaweicloud Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
timeouts:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
- The timeouts for create operation.
|
||||
type: str
|
||||
default: '30m'
|
||||
update:
|
||||
description:
|
||||
- The timeouts for update operation.
|
||||
type: str
|
||||
default: '30m'
|
||||
delete:
|
||||
description:
|
||||
- The timeouts for delete operation.
|
||||
type: str
|
||||
default: '30m'
|
||||
availability_zone:
|
||||
description:
|
||||
- Specifies the AZ where you want to create the disk.
|
||||
type: str
|
||||
required: true
|
||||
name:
|
||||
description:
|
||||
- Specifies the disk name. The value can contain a maximum of 255
|
||||
bytes.
|
||||
type: str
|
||||
required: true
|
||||
volume_type:
|
||||
description:
|
||||
- Specifies the disk type. Currently, the value can be SSD, SAS, or
|
||||
SATA.
|
||||
- SSD specifies the ultra-high I/O disk type.
|
||||
- SAS specifies the high I/O disk type.
|
||||
- SATA specifies the common I/O disk type.
|
||||
- If the specified disk type is not available in the AZ, the
|
||||
disk will fail to create. If the EVS disk is created from a
|
||||
snapshot, the volume_type field must be the same as that of the
|
||||
snapshot's source disk.
|
||||
type: str
|
||||
required: true
|
||||
backup_id:
|
||||
description:
|
||||
- Specifies the ID of the backup that can be used to create a disk.
|
||||
This parameter is mandatory when you use a backup to create the
|
||||
disk.
|
||||
type: str
|
||||
required: false
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
timeouts:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
- Specifies the disk description. The value can contain a maximum
|
||||
of 255 bytes.
|
||||
- The timeouts for create operation.
|
||||
type: str
|
||||
required: false
|
||||
enable_full_clone:
|
||||
default: '30m'
|
||||
update:
|
||||
description:
|
||||
- If the disk is created from a snapshot and linked cloning needs
|
||||
to be used, set this parameter to True.
|
||||
type: bool
|
||||
required: false
|
||||
enable_scsi:
|
||||
description:
|
||||
- If this parameter is set to True, the disk device type will be
|
||||
SCSI, which allows ECS OSs to directly access underlying storage
|
||||
media. SCSI reservation command is supported. If this parameter
|
||||
is set to False, the disk device type will be VBD, which supports
|
||||
only simple SCSI read/write commands.
|
||||
- If parameter enable_share is set to True and this parameter
|
||||
is not specified, shared SCSI disks are created. SCSI EVS disks
|
||||
cannot be created from backups, which means that this parameter
|
||||
cannot be True if backup_id has been specified.
|
||||
type: bool
|
||||
required: false
|
||||
enable_share:
|
||||
description:
|
||||
- Specifies whether the disk is shareable. The default value is
|
||||
False.
|
||||
type: bool
|
||||
required: false
|
||||
encryption_id:
|
||||
description:
|
||||
- Specifies the encryption ID. The length of it fixes at 36 bytes.
|
||||
- The timeouts for update operation.
|
||||
type: str
|
||||
required: false
|
||||
enterprise_project_id:
|
||||
default: '30m'
|
||||
delete:
|
||||
description:
|
||||
- Specifies the enterprise project ID. This ID is associated with
|
||||
the disk during the disk creation. If it is not specified, the
|
||||
disk is bound to the default enterprise project.
|
||||
- The timeouts for delete operation.
|
||||
type: str
|
||||
required: false
|
||||
image_id:
|
||||
description:
|
||||
- Specifies the image ID. If this parameter is specified, the disk
|
||||
is created from an image. BMS system disks cannot be
|
||||
created from BMS images.
|
||||
type: str
|
||||
required: false
|
||||
size:
|
||||
description:
|
||||
- Specifies the disk size, in GB. Its values are as follows, System
|
||||
disk 1 GB to 1024 GB, Data disk 10 GB to 32768 GB. This
|
||||
parameter is mandatory when you create an empty disk or use an
|
||||
image or a snapshot to create a disk. If you use an image or a
|
||||
snapshot to create a disk, the disk size must be greater than or
|
||||
equal to the image or snapshot size. This parameter is optional
|
||||
when you use a backup to create a disk. If this parameter is not
|
||||
specified, the disk size is equal to the backup size.
|
||||
type: int
|
||||
required: false
|
||||
snapshot_id:
|
||||
description:
|
||||
- Specifies the snapshot ID. If this parameter is specified, the
|
||||
disk is created from a snapshot.
|
||||
type: str
|
||||
required: false
|
||||
default: '30m'
|
||||
availability_zone:
|
||||
description:
|
||||
- Specifies the AZ where you want to create the disk.
|
||||
type: str
|
||||
required: true
|
||||
name:
|
||||
description:
|
||||
- Specifies the disk name. The value can contain a maximum of 255 bytes.
|
||||
type: str
|
||||
required: true
|
||||
volume_type:
|
||||
description:
|
||||
- Specifies the disk type. Currently, the value can be SSD, SAS, or SATA.
|
||||
- SSD specifies the ultra-high I/O disk type.
|
||||
- SAS specifies the high I/O disk type.
|
||||
- SATA specifies the common I/O disk type.
|
||||
- If the specified disk type is not available in the AZ, the disk will fail to create. If the EVS disk is created from
|
||||
a snapshot, the volume_type field must be the same as that of the snapshot's source disk.
|
||||
type: str
|
||||
required: true
|
||||
backup_id:
|
||||
description:
|
||||
- Specifies the ID of the backup that can be used to create a disk. This parameter is mandatory when you use a backup
|
||||
to create the disk.
|
||||
type: str
|
||||
required: false
|
||||
description:
|
||||
description:
|
||||
- Specifies the disk description. The value can contain a maximum of 255 bytes.
|
||||
type: str
|
||||
required: false
|
||||
enable_full_clone:
|
||||
description:
|
||||
- If the disk is created from a snapshot and linked cloning needs to be used, set this parameter to True.
|
||||
type: bool
|
||||
required: false
|
||||
enable_scsi:
|
||||
description:
|
||||
- If this parameter is set to True, the disk device type will be SCSI, which allows ECS OSs to directly access underlying
|
||||
storage media. SCSI reservation command is supported. If this parameter is set to False, the disk device type will
|
||||
be VBD, which supports only simple SCSI read/write commands.
|
||||
- If parameter enable_share is set to True and this parameter is not specified, shared SCSI disks are created. SCSI
|
||||
EVS disks cannot be created from backups, which means that this parameter cannot be True if backup_id has been specified.
|
||||
type: bool
|
||||
required: false
|
||||
enable_share:
|
||||
description:
|
||||
- Specifies whether the disk is shareable. The default value is False.
|
||||
type: bool
|
||||
required: false
|
||||
encryption_id:
|
||||
description:
|
||||
- Specifies the encryption ID. The length of it fixes at 36 bytes.
|
||||
type: str
|
||||
required: false
|
||||
enterprise_project_id:
|
||||
description:
|
||||
- Specifies the enterprise project ID. This ID is associated with the disk during the disk creation. If it is not specified,
|
||||
the disk is bound to the default enterprise project.
|
||||
type: str
|
||||
required: false
|
||||
image_id:
|
||||
description:
|
||||
- Specifies the image ID. If this parameter is specified, the disk is created from an image. BMS system disks cannot
|
||||
be created from BMS images.
|
||||
type: str
|
||||
required: false
|
||||
size:
|
||||
description:
|
||||
- Specifies the disk size, in GB. Its values are as follows, System disk 1 GB to 1024 GB, Data disk 10 GB to 32768 GB.
|
||||
This parameter is mandatory when you create an empty disk or use an image or a snapshot to create a disk. If you use
|
||||
an image or a snapshot to create a disk, the disk size must be greater than or equal to the image or snapshot size.
|
||||
This parameter is optional when you use a backup to create a disk. If this parameter is not specified, the disk size
|
||||
is equal to the backup size.
|
||||
type: int
|
||||
required: false
|
||||
snapshot_id:
|
||||
description:
|
||||
- Specifies the snapshot ID. If this parameter is specified, the disk is created from a snapshot.
|
||||
type: str
|
||||
required: false
|
||||
extends_documentation_fragment:
|
||||
- community.general.hwc
|
||||
- community.general.attributes
|
||||
"""
|
||||
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
# test create disk
|
||||
- name: Create a disk
|
||||
community.general.hwc_evs_disk:
|
||||
|
@ -168,176 +148,153 @@ EXAMPLES = '''
|
|||
name: "ansible_evs_disk_test"
|
||||
volume_type: "SATA"
|
||||
size: 10
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
availability_zone:
|
||||
description:
|
||||
- Specifies the AZ where you want to create the disk.
|
||||
type: str
|
||||
returned: success
|
||||
name:
|
||||
description:
|
||||
- Specifies the disk name. The value can contain a maximum of 255
|
||||
bytes.
|
||||
type: str
|
||||
returned: success
|
||||
volume_type:
|
||||
description:
|
||||
- Specifies the disk type. Currently, the value can be SSD, SAS, or
|
||||
SATA.
|
||||
- SSD specifies the ultra-high I/O disk type.
|
||||
- SAS specifies the high I/O disk type.
|
||||
- SATA specifies the common I/O disk type.
|
||||
- If the specified disk type is not available in the AZ, the
|
||||
disk will fail to create. If the EVS disk is created from a
|
||||
snapshot, the volume_type field must be the same as that of the
|
||||
snapshot's source disk.
|
||||
type: str
|
||||
returned: success
|
||||
backup_id:
|
||||
description:
|
||||
- Specifies the ID of the backup that can be used to create a disk.
|
||||
This parameter is mandatory when you use a backup to create the
|
||||
disk.
|
||||
type: str
|
||||
returned: success
|
||||
description:
|
||||
description:
|
||||
- Specifies the disk description. The value can contain a maximum
|
||||
of 255 bytes.
|
||||
type: str
|
||||
returned: success
|
||||
enable_full_clone:
|
||||
description:
|
||||
- If the disk is created from a snapshot and linked cloning needs
|
||||
to be used, set this parameter to True.
|
||||
type: bool
|
||||
returned: success
|
||||
enable_scsi:
|
||||
description:
|
||||
- If this parameter is set to True, the disk device type will be
|
||||
SCSI, which allows ECS OSs to directly access underlying storage
|
||||
media. SCSI reservation command is supported. If this parameter
|
||||
is set to False, the disk device type will be VBD, which supports
|
||||
only simple SCSI read/write commands.
|
||||
- If parameter enable_share is set to True and this parameter
|
||||
is not specified, shared SCSI disks are created. SCSI EVS disks
|
||||
cannot be created from backups, which means that this parameter
|
||||
cannot be True if backup_id has been specified.
|
||||
type: bool
|
||||
returned: success
|
||||
enable_share:
|
||||
description:
|
||||
- Specifies whether the disk is shareable. The default value is
|
||||
False.
|
||||
type: bool
|
||||
returned: success
|
||||
encryption_id:
|
||||
description:
|
||||
- Specifies the encryption ID. The length of it fixes at 36 bytes.
|
||||
type: str
|
||||
returned: success
|
||||
enterprise_project_id:
|
||||
description:
|
||||
- Specifies the enterprise project ID. This ID is associated with
|
||||
the disk during the disk creation. If it is not specified, the
|
||||
disk is bound to the default enterprise project.
|
||||
type: str
|
||||
returned: success
|
||||
image_id:
|
||||
description:
|
||||
- Specifies the image ID. If this parameter is specified, the disk
|
||||
is created from an image. BMS system disks cannot be
|
||||
created from BMS images.
|
||||
type: str
|
||||
returned: success
|
||||
size:
|
||||
description:
|
||||
- Specifies the disk size, in GB. Its values are as follows, System
|
||||
disk 1 GB to 1024 GB, Data disk 10 GB to 32768 GB. This
|
||||
parameter is mandatory when you create an empty disk or use an
|
||||
image or a snapshot to create a disk. If you use an image or a
|
||||
snapshot to create a disk, the disk size must be greater than or
|
||||
equal to the image or snapshot size. This parameter is optional
|
||||
when you use a backup to create a disk. If this parameter is not
|
||||
specified, the disk size is equal to the backup size.
|
||||
type: int
|
||||
returned: success
|
||||
snapshot_id:
|
||||
description:
|
||||
- Specifies the snapshot ID. If this parameter is specified, the
|
||||
disk is created from a snapshot.
|
||||
type: str
|
||||
returned: success
|
||||
attachments:
|
||||
description:
|
||||
- Specifies the disk attachment information.
|
||||
type: complex
|
||||
returned: success
|
||||
contains:
|
||||
attached_at:
|
||||
description:
|
||||
- Specifies the time when the disk was attached. Time
|
||||
format is 'UTC YYYY-MM-DDTHH:MM:SS'.
|
||||
type: str
|
||||
returned: success
|
||||
attachment_id:
|
||||
description:
|
||||
- Specifies the ID of the attachment information.
|
||||
type: str
|
||||
returned: success
|
||||
device:
|
||||
description:
|
||||
- Specifies the device name.
|
||||
type: str
|
||||
returned: success
|
||||
server_id:
|
||||
description:
|
||||
- Specifies the ID of the server to which the disk is
|
||||
attached.
|
||||
type: str
|
||||
returned: success
|
||||
backup_policy_id:
|
||||
description:
|
||||
- Specifies the backup policy ID.
|
||||
type: str
|
||||
returned: success
|
||||
created_at:
|
||||
description:
|
||||
- Specifies the time when the disk was created. Time format is 'UTC
|
||||
YYYY-MM-DDTHH:MM:SS'.
|
||||
type: str
|
||||
returned: success
|
||||
is_bootable:
|
||||
description:
|
||||
- Specifies whether the disk is bootable.
|
||||
type: bool
|
||||
returned: success
|
||||
is_readonly:
|
||||
description:
|
||||
- Specifies whether the disk is read-only or read/write. True
|
||||
indicates that the disk is read-only. False indicates that the
|
||||
disk is read/write.
|
||||
type: bool
|
||||
returned: success
|
||||
source_volume_id:
|
||||
description:
|
||||
- Specifies the source disk ID. This parameter has a value if the
|
||||
disk is created from a source disk.
|
||||
type: str
|
||||
returned: success
|
||||
status:
|
||||
description:
|
||||
- Specifies the disk status.
|
||||
type: str
|
||||
returned: success
|
||||
tags:
|
||||
description:
|
||||
- Specifies the disk tags.
|
||||
type: dict
|
||||
returned: success
|
||||
'''
|
||||
RETURN = r"""
|
||||
availability_zone:
|
||||
description:
|
||||
- Specifies the AZ where you want to create the disk.
|
||||
type: str
|
||||
returned: success
|
||||
name:
|
||||
description:
|
||||
- Specifies the disk name. The value can contain a maximum of 255 bytes.
|
||||
type: str
|
||||
returned: success
|
||||
volume_type:
|
||||
description:
|
||||
- Specifies the disk type. Currently, the value can be SSD, SAS, or SATA.
|
||||
- SSD specifies the ultra-high I/O disk type.
|
||||
- SAS specifies the high I/O disk type.
|
||||
- SATA specifies the common I/O disk type.
|
||||
- If the specified disk type is not available in the AZ, the disk will fail to create. If the EVS disk is created from
|
||||
a snapshot, the volume_type field must be the same as that of the snapshot's source disk.
|
||||
type: str
|
||||
returned: success
|
||||
backup_id:
|
||||
description:
|
||||
- Specifies the ID of the backup that can be used to create a disk. This parameter is mandatory when you use a backup
|
||||
to create the disk.
|
||||
type: str
|
||||
returned: success
|
||||
description:
|
||||
description:
|
||||
- Specifies the disk description. The value can contain a maximum of 255 bytes.
|
||||
type: str
|
||||
returned: success
|
||||
enable_full_clone:
|
||||
description:
|
||||
- If the disk is created from a snapshot and linked cloning needs to be used, set this parameter to True.
|
||||
type: bool
|
||||
returned: success
|
||||
enable_scsi:
|
||||
description:
|
||||
- If this parameter is set to True, the disk device type will be SCSI, which allows ECS OSs to directly access underlying
|
||||
storage media. SCSI reservation command is supported. If this parameter is set to False, the disk device type will be
|
||||
VBD, which supports only simple SCSI read/write commands.
|
||||
- If parameter enable_share is set to True and this parameter is not specified, shared SCSI disks are created. SCSI EVS
|
||||
disks cannot be created from backups, which means that this parameter cannot be True if backup_id has been specified.
|
||||
type: bool
|
||||
returned: success
|
||||
enable_share:
|
||||
description:
|
||||
- Specifies whether the disk is shareable. The default value is False.
|
||||
type: bool
|
||||
returned: success
|
||||
encryption_id:
|
||||
description:
|
||||
- Specifies the encryption ID. The length of it fixes at 36 bytes.
|
||||
type: str
|
||||
returned: success
|
||||
enterprise_project_id:
|
||||
description:
|
||||
- Specifies the enterprise project ID. This ID is associated with the disk during the disk creation. If it is not specified,
|
||||
the disk is bound to the default enterprise project.
|
||||
type: str
|
||||
returned: success
|
||||
image_id:
|
||||
description:
|
||||
- Specifies the image ID. If this parameter is specified, the disk is created from an image. BMS system disks cannot be
|
||||
created from BMS images.
|
||||
type: str
|
||||
returned: success
|
||||
size:
|
||||
description:
|
||||
- Specifies the disk size, in GB. Its values are as follows, System disk 1 GB to 1024 GB, Data disk 10 GB to 32768 GB.
|
||||
This parameter is mandatory when you create an empty disk or use an image or a snapshot to create a disk. If you use
|
||||
an image or a snapshot to create a disk, the disk size must be greater than or equal to the image or snapshot size.
|
||||
This parameter is optional when you use a backup to create a disk. If this parameter is not specified, the disk size
|
||||
is equal to the backup size.
|
||||
type: int
|
||||
returned: success
|
||||
snapshot_id:
|
||||
description:
|
||||
- Specifies the snapshot ID. If this parameter is specified, the disk is created from a snapshot.
|
||||
type: str
|
||||
returned: success
|
||||
attachments:
|
||||
description:
|
||||
- Specifies the disk attachment information.
|
||||
type: complex
|
||||
returned: success
|
||||
contains:
|
||||
attached_at:
|
||||
description:
|
||||
- Specifies the time when the disk was attached. Time format is 'UTC YYYY-MM-DDTHH:MM:SS'.
|
||||
type: str
|
||||
returned: success
|
||||
attachment_id:
|
||||
description:
|
||||
- Specifies the ID of the attachment information.
|
||||
type: str
|
||||
returned: success
|
||||
device:
|
||||
description:
|
||||
- Specifies the device name.
|
||||
type: str
|
||||
returned: success
|
||||
server_id:
|
||||
description:
|
||||
- Specifies the ID of the server to which the disk is attached.
|
||||
type: str
|
||||
returned: success
|
||||
backup_policy_id:
|
||||
description:
|
||||
- Specifies the backup policy ID.
|
||||
type: str
|
||||
returned: success
|
||||
created_at:
|
||||
description:
|
||||
- Specifies the time when the disk was created. Time format is 'UTC YYYY-MM-DDTHH:MM:SS'.
|
||||
type: str
|
||||
returned: success
|
||||
is_bootable:
|
||||
description:
|
||||
- Specifies whether the disk is bootable.
|
||||
type: bool
|
||||
returned: success
|
||||
is_readonly:
|
||||
description:
|
||||
- Specifies whether the disk is read-only or read/write. True indicates that the disk is read-only. False indicates that
|
||||
the disk is read/write.
|
||||
type: bool
|
||||
returned: success
|
||||
source_volume_id:
|
||||
description:
|
||||
- Specifies the source disk ID. This parameter has a value if the disk is created from a source disk.
|
||||
type: str
|
||||
returned: success
|
||||
status:
|
||||
description:
|
||||
- Specifies the disk status.
|
||||
type: str
|
||||
returned: success
|
||||
tags:
|
||||
description:
|
||||
- Specifies the disk tags.
|
||||
type: dict
|
||||
returned: success
|
||||
"""
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.hwc_utils import (
|
||||
Config, HwcClientException, HwcModule, are_different_dicts, build_path,
|
||||
|
|
|
@ -12,123 +12,120 @@ __metaclass__ = type
|
|||
# Documentation
|
||||
###############################################################################
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hwc_network_vpc
|
||||
description:
|
||||
- Represents an vpc resource.
|
||||
- Represents an vpc resource.
|
||||
short_description: Creates a Huawei Cloud VPC
|
||||
author: Huawei Inc. (@huaweicloud)
|
||||
requirements:
|
||||
- requests >= 2.18.4
|
||||
- keystoneauth1 >= 3.6.0
|
||||
- requests >= 2.18.4
|
||||
- keystoneauth1 >= 3.6.0
|
||||
attributes:
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
options:
|
||||
state:
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in VPC.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
timeouts:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
- Whether the given object should exist in vpc.
|
||||
- The timeout for create operation.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
timeouts:
|
||||
default: '15m'
|
||||
update:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
- The timeout for create operation.
|
||||
type: str
|
||||
default: '15m'
|
||||
update:
|
||||
description:
|
||||
- The timeout for update operation.
|
||||
type: str
|
||||
default: '15m'
|
||||
delete:
|
||||
description:
|
||||
- The timeout for delete operation.
|
||||
type: str
|
||||
default: '15m'
|
||||
name:
|
||||
description:
|
||||
- The name of vpc.
|
||||
- The timeout for update operation.
|
||||
type: str
|
||||
required: true
|
||||
cidr:
|
||||
default: '15m'
|
||||
delete:
|
||||
description:
|
||||
- The range of available subnets in the vpc.
|
||||
- The timeout for delete operation.
|
||||
type: str
|
||||
required: true
|
||||
default: '15m'
|
||||
name:
|
||||
description:
|
||||
- The name of vpc.
|
||||
type: str
|
||||
required: true
|
||||
cidr:
|
||||
description:
|
||||
- The range of available subnets in the VPC.
|
||||
type: str
|
||||
required: true
|
||||
extends_documentation_fragment:
|
||||
- community.general.hwc
|
||||
- community.general.attributes
|
||||
"""
|
||||
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
- name: Create a vpc
|
||||
community.general.hwc_network_vpc:
|
||||
identity_endpoint: "{{ identity_endpoint }}"
|
||||
user: "{{ user }}"
|
||||
password: "{{ password }}"
|
||||
domain: "{{ domain }}"
|
||||
project: "{{ project }}"
|
||||
region: "{{ region }}"
|
||||
name: "vpc_1"
|
||||
cidr: "192.168.100.0/24"
|
||||
state: present
|
||||
'''
|
||||
identity_endpoint: "{{ identity_endpoint }}"
|
||||
user: "{{ user }}"
|
||||
password: "{{ password }}"
|
||||
domain: "{{ domain }}"
|
||||
project: "{{ project }}"
|
||||
region: "{{ region }}"
|
||||
name: "vpc_1"
|
||||
cidr: "192.168.100.0/24"
|
||||
state: present
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
id:
|
||||
description:
|
||||
- the id of vpc.
|
||||
type: str
|
||||
returned: success
|
||||
name:
|
||||
description:
|
||||
- the name of vpc.
|
||||
type: str
|
||||
returned: success
|
||||
cidr:
|
||||
description:
|
||||
- the range of available subnets in the vpc.
|
||||
type: str
|
||||
returned: success
|
||||
status:
|
||||
description:
|
||||
- the status of vpc.
|
||||
type: str
|
||||
returned: success
|
||||
routes:
|
||||
description:
|
||||
- the route information.
|
||||
type: complex
|
||||
returned: success
|
||||
contains:
|
||||
destination:
|
||||
description:
|
||||
- the destination network segment of a route.
|
||||
type: str
|
||||
returned: success
|
||||
next_hop:
|
||||
description:
|
||||
- the next hop of a route. If the route type is peering,
|
||||
it will provide VPC peering connection ID.
|
||||
type: str
|
||||
returned: success
|
||||
enable_shared_snat:
|
||||
description:
|
||||
- show whether the shared snat is enabled.
|
||||
type: bool
|
||||
returned: success
|
||||
'''
|
||||
RETURN = r"""
|
||||
id:
|
||||
description:
|
||||
- The id of vpc.
|
||||
type: str
|
||||
returned: success
|
||||
name:
|
||||
description:
|
||||
- The name of vpc.
|
||||
type: str
|
||||
returned: success
|
||||
cidr:
|
||||
description:
|
||||
- The range of available subnets in the vpc.
|
||||
type: str
|
||||
returned: success
|
||||
status:
|
||||
description:
|
||||
- The status of vpc.
|
||||
type: str
|
||||
returned: success
|
||||
routes:
|
||||
description:
|
||||
- The route information.
|
||||
type: complex
|
||||
returned: success
|
||||
contains:
|
||||
destination:
|
||||
description:
|
||||
- The destination network segment of a route.
|
||||
type: str
|
||||
returned: success
|
||||
next_hop:
|
||||
description:
|
||||
- The next hop of a route. If the route type is peering, it will provide VPC peering connection ID.
|
||||
type: str
|
||||
returned: success
|
||||
enable_shared_snat:
|
||||
description:
|
||||
- Show whether the shared snat is enabled.
|
||||
type: bool
|
||||
returned: success
|
||||
"""
|
||||
|
||||
###############################################################################
|
||||
# Imports
|
||||
|
|
|
@ -12,101 +12,92 @@ __metaclass__ = type
|
|||
# Documentation
|
||||
###############################################################################
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hwc_smn_topic
|
||||
description:
|
||||
- Represents a SMN notification topic resource.
|
||||
short_description: Creates a resource of SMNTopic in Huaweicloud Cloud
|
||||
- Represents a SMN notification topic resource.
|
||||
short_description: Creates a resource of SMNTopic in Huawei Cloud
|
||||
author: Huawei Inc. (@huaweicloud)
|
||||
requirements:
|
||||
- requests >= 2.18.4
|
||||
- keystoneauth1 >= 3.6.0
|
||||
- requests >= 2.18.4
|
||||
- keystoneauth1 >= 3.6.0
|
||||
attributes:
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
options:
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huaweicloud Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
display_name:
|
||||
description:
|
||||
- Topic display name, which is presented as the name of the email
|
||||
sender in an email message. The topic display name contains a
|
||||
maximum of 192 bytes.
|
||||
type: str
|
||||
required: false
|
||||
name:
|
||||
description:
|
||||
- Name of the topic to be created. The topic name is a string of 1
|
||||
to 256 characters. It must contain upper- or lower-case letters,
|
||||
digits, hyphens (V(-)), and underscores (V(_)), and must start with a
|
||||
letter or digit.
|
||||
type: str
|
||||
required: true
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
display_name:
|
||||
description:
|
||||
- Topic display name, which is presented as the name of the email sender in an email message. The topic display name
|
||||
contains a maximum of 192 bytes.
|
||||
type: str
|
||||
required: false
|
||||
name:
|
||||
description:
|
||||
- Name of the topic to be created. The topic name is a string of 1 to 256 characters. It must contain upper- or lower-case
|
||||
letters, digits, hyphens (V(-)), and underscores (V(_)), and must start with a letter or digit.
|
||||
type: str
|
||||
required: true
|
||||
extends_documentation_fragment:
|
||||
- community.general.hwc
|
||||
- community.general.attributes
|
||||
"""
|
||||
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
- name: Create a smn topic
|
||||
community.general.hwc_smn_topic:
|
||||
identity_endpoint: "{{ identity_endpoint }}"
|
||||
user_name: "{{ user_name }}"
|
||||
password: "{{ password }}"
|
||||
domain_name: "{{ domain_name }}"
|
||||
project_name: "{{ project_name }}"
|
||||
region: "{{ region }}"
|
||||
name: "ansible_smn_topic_test"
|
||||
state: present
|
||||
'''
|
||||
identity_endpoint: "{{ identity_endpoint }}"
|
||||
user_name: "{{ user_name }}"
|
||||
password: "{{ password }}"
|
||||
domain_name: "{{ domain_name }}"
|
||||
project_name: "{{ project_name }}"
|
||||
region: "{{ region }}"
|
||||
name: "ansible_smn_topic_test"
|
||||
state: present
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
RETURN = r"""
|
||||
create_time:
|
||||
description:
|
||||
- Time when the topic was created.
|
||||
returned: success
|
||||
type: str
|
||||
description:
|
||||
- Time when the topic was created.
|
||||
returned: success
|
||||
type: str
|
||||
display_name:
|
||||
description:
|
||||
- Topic display name, which is presented as the name of the email
|
||||
sender in an email message. The topic display name contains a
|
||||
maximum of 192 bytes.
|
||||
returned: success
|
||||
type: str
|
||||
description:
|
||||
- Topic display name, which is presented as the name of the email sender in an email message. The topic display name contains
|
||||
a maximum of 192 bytes.
|
||||
returned: success
|
||||
type: str
|
||||
name:
|
||||
description:
|
||||
- Name of the topic to be created. The topic name is a string of 1
|
||||
to 256 characters. It must contain upper- or lower-case letters,
|
||||
digits, hyphens (V(-)), and underscores (V(_)), and must start with a
|
||||
letter or digit.
|
||||
returned: success
|
||||
type: str
|
||||
description:
|
||||
- Name of the topic to be created. The topic name is a string of 1 to 256 characters. It must contain upper- or lower-case
|
||||
letters, digits, hyphens (V(-)), and underscores (V(_)), and must start with a letter or digit.
|
||||
returned: success
|
||||
type: str
|
||||
push_policy:
|
||||
description:
|
||||
- Message pushing policy. 0 indicates that the message sending
|
||||
fails and the message is cached in the queue. 1 indicates that
|
||||
the failed message is discarded.
|
||||
returned: success
|
||||
type: int
|
||||
description:
|
||||
- Message pushing policy. V(0) indicates that the message sending fails and the message is cached in the queue. V(1) indicates
|
||||
that the failed message is discarded.
|
||||
returned: success
|
||||
type: int
|
||||
topic_urn:
|
||||
description:
|
||||
- Resource identifier of a topic, which is unique.
|
||||
returned: success
|
||||
type: str
|
||||
description:
|
||||
- Resource identifier of a topic, which is unique.
|
||||
returned: success
|
||||
type: str
|
||||
update_time:
|
||||
description:
|
||||
- Time when the topic was updated.
|
||||
returned: success
|
||||
type: str
|
||||
'''
|
||||
description:
|
||||
- Time when the topic was updated.
|
||||
returned: success
|
||||
type: str
|
||||
"""
|
||||
|
||||
###############################################################################
|
||||
# Imports
|
||||
|
|
|
@ -12,126 +12,110 @@ __metaclass__ = type
|
|||
# Documentation
|
||||
###############################################################################
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hwc_vpc_eip
|
||||
description:
|
||||
- elastic ip management.
|
||||
short_description: Creates a resource of Vpc/EIP in Huawei Cloud
|
||||
- Elastic IP management.
|
||||
short_description: Creates a resource of VPC/EIP in Huawei Cloud
|
||||
version_added: '0.2.0'
|
||||
author: Huawei Inc. (@huaweicloud)
|
||||
requirements:
|
||||
- keystoneauth1 >= 3.6.0
|
||||
- keystoneauth1 >= 3.6.0
|
||||
attributes:
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
options:
|
||||
state:
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
timeouts:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
- The timeouts for create operation.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
timeouts:
|
||||
default: '5m'
|
||||
update:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
- The timeouts for create operation.
|
||||
type: str
|
||||
default: '5m'
|
||||
update:
|
||||
description:
|
||||
- The timeouts for update operation.
|
||||
type: str
|
||||
default: '5m'
|
||||
type:
|
||||
- The timeouts for update operation.
|
||||
type: str
|
||||
default: '5m'
|
||||
type:
|
||||
description:
|
||||
- Specifies the EIP type.
|
||||
type: str
|
||||
required: true
|
||||
dedicated_bandwidth:
|
||||
description:
|
||||
- Specifies the dedicated bandwidth object.
|
||||
type: dict
|
||||
required: false
|
||||
suboptions:
|
||||
charge_mode:
|
||||
description:
|
||||
- Specifies the EIP type.
|
||||
- Specifies whether the bandwidth is billed by traffic or by bandwidth size. The value can be bandwidth or traffic.
|
||||
If this parameter is left blank or is null character string, default value bandwidth is used. For IPv6 addresses,
|
||||
the default parameter value is bandwidth outside China and is traffic in China.
|
||||
type: str
|
||||
required: true
|
||||
dedicated_bandwidth:
|
||||
name:
|
||||
description:
|
||||
- Specifies the dedicated bandwidth object.
|
||||
type: dict
|
||||
required: false
|
||||
suboptions:
|
||||
charge_mode:
|
||||
description:
|
||||
- Specifies whether the bandwidth is billed by traffic or
|
||||
by bandwidth size. The value can be bandwidth or traffic.
|
||||
If this parameter is left blank or is null character
|
||||
string, default value bandwidth is used. For IPv6
|
||||
addresses, the default parameter value is bandwidth
|
||||
outside China and is traffic in China.
|
||||
type: str
|
||||
required: true
|
||||
name:
|
||||
description:
|
||||
- Specifies the bandwidth name. The value is a string of 1
|
||||
to 64 characters that can contain letters, digits,
|
||||
underscores (V(_)), hyphens (V(-)), and periods (V(.)).
|
||||
type: str
|
||||
required: true
|
||||
size:
|
||||
description:
|
||||
- Specifies the bandwidth size. The value ranges from 1
|
||||
Mbit/s to 2000 Mbit/s by default. (The specific range may
|
||||
vary depending on the configuration in each region. You
|
||||
can see the bandwidth range of each region on the
|
||||
management console.) The minimum unit for bandwidth
|
||||
adjustment varies depending on the bandwidth range. The
|
||||
details are as follows.
|
||||
- The minimum unit is 1 Mbit/s if the allowed bandwidth
|
||||
size ranges from 0 to 300 Mbit/s (with 300 Mbit/s
|
||||
included).
|
||||
- The minimum unit is 50 Mbit/s if the allowed bandwidth
|
||||
size ranges 300 Mbit/s to 1000 Mbit/s (with 1000 Mbit/s
|
||||
included).
|
||||
- The minimum unit is 500 Mbit/s if the allowed bandwidth
|
||||
size is greater than 1000 Mbit/s.
|
||||
type: int
|
||||
required: true
|
||||
enterprise_project_id:
|
||||
description:
|
||||
- Specifies the enterprise project ID.
|
||||
- Specifies the bandwidth name. The value is a string of 1 to 64 characters that can contain letters, digits, underscores
|
||||
(V(_)), hyphens (V(-)), and periods (V(.)).
|
||||
type: str
|
||||
required: false
|
||||
ip_version:
|
||||
required: true
|
||||
size:
|
||||
description:
|
||||
- The value can be 4 (IPv4 address) or 6 (IPv6 address). If this
|
||||
parameter is left blank, an IPv4 address will be assigned.
|
||||
- Specifies the bandwidth size. The value ranges from 1 Mbit/s to 2000 Mbit/s by default. (The specific range may
|
||||
vary depending on the configuration in each region. You can see the bandwidth range of each region on the management
|
||||
console.) The minimum unit for bandwidth adjustment varies depending on the bandwidth range. The details are as
|
||||
follows.
|
||||
- The minimum unit is 1 Mbit/s if the allowed bandwidth size ranges from 0 to 300 Mbit/s (with 300 Mbit/s included).
|
||||
- The minimum unit is 50 Mbit/s if the allowed bandwidth size ranges 300 Mbit/s to 1000 Mbit/s (with 1000 Mbit/s
|
||||
included).
|
||||
- The minimum unit is 500 Mbit/s if the allowed bandwidth size is greater than 1000 Mbit/s.
|
||||
type: int
|
||||
required: false
|
||||
ipv4_address:
|
||||
description:
|
||||
- Specifies the obtained IPv4 EIP. The system automatically assigns
|
||||
an EIP if you do not specify it.
|
||||
type: str
|
||||
required: false
|
||||
port_id:
|
||||
description:
|
||||
- Specifies the port ID. This parameter is returned only when a
|
||||
private IP address is bound with the EIP.
|
||||
type: str
|
||||
required: false
|
||||
shared_bandwidth_id:
|
||||
description:
|
||||
- Specifies the ID of shared bandwidth.
|
||||
type: str
|
||||
required: false
|
||||
required: true
|
||||
enterprise_project_id:
|
||||
description:
|
||||
- Specifies the enterprise project ID.
|
||||
type: str
|
||||
required: false
|
||||
ip_version:
|
||||
description:
|
||||
- The value can be 4 (IPv4 address) or 6 (IPv6 address). If this parameter is left blank, an IPv4 address will be assigned.
|
||||
type: int
|
||||
required: false
|
||||
ipv4_address:
|
||||
description:
|
||||
- Specifies the obtained IPv4 EIP. The system automatically assigns an EIP if you do not specify it.
|
||||
type: str
|
||||
required: false
|
||||
port_id:
|
||||
description:
|
||||
- Specifies the port ID. This parameter is returned only when a private IP address is bound with the EIP.
|
||||
type: str
|
||||
required: false
|
||||
shared_bandwidth_id:
|
||||
description:
|
||||
- Specifies the ID of shared bandwidth.
|
||||
type: str
|
||||
required: false
|
||||
extends_documentation_fragment:
|
||||
- community.general.hwc
|
||||
- community.general.attributes
|
||||
"""
|
||||
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
# create an eip and bind it to a port
|
||||
- name: Create vpc
|
||||
hwc_network_vpc:
|
||||
|
@ -159,107 +143,91 @@ EXAMPLES = '''
|
|||
name: "ansible_test_dedicated_bandwidth"
|
||||
size: 1
|
||||
port_id: "{{ port.id }}"
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
type:
|
||||
description:
|
||||
- Specifies the EIP type.
|
||||
type: str
|
||||
returned: success
|
||||
dedicated_bandwidth:
|
||||
description:
|
||||
- Specifies the dedicated bandwidth object.
|
||||
type: dict
|
||||
returned: success
|
||||
contains:
|
||||
charge_mode:
|
||||
description:
|
||||
- Specifies whether the bandwidth is billed by traffic or
|
||||
by bandwidth size. The value can be bandwidth or traffic.
|
||||
If this parameter is left blank or is null character
|
||||
string, default value bandwidth is used. For IPv6
|
||||
addresses, the default parameter value is bandwidth
|
||||
outside China and is traffic in China.
|
||||
type: str
|
||||
returned: success
|
||||
name:
|
||||
description:
|
||||
- Specifies the bandwidth name. The value is a string of 1
|
||||
to 64 characters that can contain letters, digits,
|
||||
underscores (V(_)), hyphens (V(-)), and periods (V(.)).
|
||||
type: str
|
||||
returned: success
|
||||
size:
|
||||
description:
|
||||
- Specifies the bandwidth size. The value ranges from 1
|
||||
Mbit/s to 2000 Mbit/s by default. (The specific range may
|
||||
vary depending on the configuration in each region. You
|
||||
can see the bandwidth range of each region on the
|
||||
management console.) The minimum unit for bandwidth
|
||||
adjustment varies depending on the bandwidth range. The
|
||||
details are as follows:.
|
||||
- The minimum unit is 1 Mbit/s if the allowed bandwidth
|
||||
size ranges from 0 to 300 Mbit/s (with 300 Mbit/s
|
||||
included).
|
||||
- The minimum unit is 50 Mbit/s if the allowed bandwidth
|
||||
size ranges 300 Mbit/s to 1000 Mbit/s (with 1000 Mbit/s
|
||||
included).
|
||||
- The minimum unit is 500 Mbit/s if the allowed bandwidth
|
||||
size is greater than 1000 Mbit/s.
|
||||
type: int
|
||||
returned: success
|
||||
id:
|
||||
description:
|
||||
- Specifies the ID of dedicated bandwidth.
|
||||
type: str
|
||||
returned: success
|
||||
enterprise_project_id:
|
||||
description:
|
||||
- Specifies the enterprise project ID.
|
||||
type: str
|
||||
returned: success
|
||||
ip_version:
|
||||
description:
|
||||
- The value can be 4 (IPv4 address) or 6 (IPv6 address). If this
|
||||
parameter is left blank, an IPv4 address will be assigned.
|
||||
type: int
|
||||
returned: success
|
||||
ipv4_address:
|
||||
description:
|
||||
- Specifies the obtained IPv4 EIP. The system automatically assigns
|
||||
an EIP if you do not specify it.
|
||||
type: str
|
||||
returned: success
|
||||
port_id:
|
||||
description:
|
||||
- Specifies the port ID. This parameter is returned only when a
|
||||
private IP address is bound with the EIP.
|
||||
type: str
|
||||
returned: success
|
||||
shared_bandwidth_id:
|
||||
description:
|
||||
- Specifies the ID of shared bandwidth.
|
||||
type: str
|
||||
returned: success
|
||||
create_time:
|
||||
description:
|
||||
- Specifies the time (UTC time) when the EIP was assigned.
|
||||
type: str
|
||||
returned: success
|
||||
ipv6_address:
|
||||
description:
|
||||
- Specifies the obtained IPv6 EIP.
|
||||
type: str
|
||||
returned: success
|
||||
private_ip_address:
|
||||
description:
|
||||
- Specifies the private IP address bound with the EIP. This
|
||||
parameter is returned only when a private IP address is bound
|
||||
with the EIP.
|
||||
type: str
|
||||
returned: success
|
||||
'''
|
||||
RETURN = r"""
|
||||
type:
|
||||
description:
|
||||
- Specifies the EIP type.
|
||||
type: str
|
||||
returned: success
|
||||
dedicated_bandwidth:
|
||||
description:
|
||||
- Specifies the dedicated bandwidth object.
|
||||
type: dict
|
||||
returned: success
|
||||
contains:
|
||||
charge_mode:
|
||||
description:
|
||||
- Specifies whether the bandwidth is billed by traffic or by bandwidth size. The value can be bandwidth or traffic.
|
||||
If this parameter is left blank or is null character string, default value bandwidth is used. For IPv6 addresses,
|
||||
the default parameter value is bandwidth outside China and is traffic in China.
|
||||
type: str
|
||||
returned: success
|
||||
name:
|
||||
description:
|
||||
- Specifies the bandwidth name. The value is a string of 1 to 64 characters that can contain letters, digits, underscores
|
||||
(V(_)), hyphens (V(-)), and periods (V(.)).
|
||||
type: str
|
||||
returned: success
|
||||
size:
|
||||
description:
|
||||
- Specifies the bandwidth size. The value ranges from 1 Mbit/s to 2000 Mbit/s by default. (The specific range may
|
||||
vary depending on the configuration in each region. You can see the bandwidth range of each region on the management
|
||||
console.) The minimum unit for bandwidth adjustment varies depending on the bandwidth range. The details are as
|
||||
follows:.
|
||||
- The minimum unit is 1 Mbit/s if the allowed bandwidth size ranges from 0 to 300 Mbit/s (with 300 Mbit/s included).
|
||||
- The minimum unit is 50 Mbit/s if the allowed bandwidth size ranges 300 Mbit/s to 1000 Mbit/s (with 1000 Mbit/s included).
|
||||
- The minimum unit is 500 Mbit/s if the allowed bandwidth size is greater than 1000 Mbit/s.
|
||||
type: int
|
||||
returned: success
|
||||
id:
|
||||
description:
|
||||
- Specifies the ID of dedicated bandwidth.
|
||||
type: str
|
||||
returned: success
|
||||
enterprise_project_id:
|
||||
description:
|
||||
- Specifies the enterprise project ID.
|
||||
type: str
|
||||
returned: success
|
||||
ip_version:
|
||||
description:
|
||||
- The value can be 4 (IPv4 address) or 6 (IPv6 address). If this parameter is left blank, an IPv4 address will be assigned.
|
||||
type: int
|
||||
returned: success
|
||||
ipv4_address:
|
||||
description:
|
||||
- Specifies the obtained IPv4 EIP. The system automatically assigns an EIP if you do not specify it.
|
||||
type: str
|
||||
returned: success
|
||||
port_id:
|
||||
description:
|
||||
- Specifies the port ID. This parameter is returned only when a private IP address is bound with the EIP.
|
||||
type: str
|
||||
returned: success
|
||||
shared_bandwidth_id:
|
||||
description:
|
||||
- Specifies the ID of shared bandwidth.
|
||||
type: str
|
||||
returned: success
|
||||
create_time:
|
||||
description:
|
||||
- Specifies the time (UTC time) when the EIP was assigned.
|
||||
type: str
|
||||
returned: success
|
||||
ipv6_address:
|
||||
description:
|
||||
- Specifies the obtained IPv6 EIP.
|
||||
type: str
|
||||
returned: success
|
||||
private_ip_address:
|
||||
description:
|
||||
- Specifies the private IP address bound with the EIP. This parameter is returned only when a private IP address is bound
|
||||
with the EIP.
|
||||
type: str
|
||||
returned: success
|
||||
"""
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.hwc_utils import (
|
||||
Config, HwcClientException, HwcClientException404, HwcModule,
|
||||
|
|
|
@ -13,79 +13,75 @@ __metaclass__ = type
|
|||
# Documentation
|
||||
###############################################################################
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hwc_vpc_peering_connect
|
||||
description:
|
||||
- vpc peering management.
|
||||
short_description: Creates a resource of Vpc/PeeringConnect in Huawei Cloud
|
||||
- VPC peering management.
|
||||
short_description: Creates a resource of VPC/PeeringConnect in Huawei Cloud
|
||||
version_added: '0.2.0'
|
||||
author: Huawei Inc. (@huaweicloud)
|
||||
requirements:
|
||||
- keystoneauth1 >= 3.6.0
|
||||
- keystoneauth1 >= 3.6.0
|
||||
attributes:
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
options:
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
timeouts:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
- The timeouts for create operation.
|
||||
type: str
|
||||
default: '15m'
|
||||
local_vpc_id:
|
||||
description:
|
||||
- Specifies the ID of local VPC.
|
||||
type: str
|
||||
required: true
|
||||
name:
|
||||
description:
|
||||
- Specifies the name of the VPC peering connection. The value can
|
||||
contain 1 to 64 characters.
|
||||
type: str
|
||||
required: true
|
||||
peering_vpc:
|
||||
description:
|
||||
- Specifies information about the peering VPC.
|
||||
type: dict
|
||||
required: true
|
||||
suboptions:
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the ID of peering VPC.
|
||||
type: str
|
||||
required: true
|
||||
project_id:
|
||||
description:
|
||||
- Specifies the ID of the project which the peering vpc
|
||||
belongs to.
|
||||
type: str
|
||||
required: false
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
timeouts:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
- The description of vpc peering connection.
|
||||
- The timeouts for create operation.
|
||||
type: str
|
||||
default: '15m'
|
||||
local_vpc_id:
|
||||
description:
|
||||
- Specifies the ID of local VPC.
|
||||
type: str
|
||||
required: true
|
||||
name:
|
||||
description:
|
||||
- Specifies the name of the VPC peering connection. The value can contain 1 to 64 characters.
|
||||
type: str
|
||||
required: true
|
||||
peering_vpc:
|
||||
description:
|
||||
- Specifies information about the peering VPC.
|
||||
type: dict
|
||||
required: true
|
||||
suboptions:
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the ID of peering VPC.
|
||||
type: str
|
||||
required: true
|
||||
project_id:
|
||||
description:
|
||||
- Specifies the ID of the project which the peering vpc belongs to.
|
||||
type: str
|
||||
required: false
|
||||
description:
|
||||
description:
|
||||
- The description of vpc peering connection.
|
||||
type: str
|
||||
required: false
|
||||
extends_documentation_fragment:
|
||||
- community.general.hwc
|
||||
- community.general.attributes
|
||||
"""
|
||||
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
# create a peering connect
|
||||
- name: Create a local vpc
|
||||
hwc_network_vpc:
|
||||
|
@ -103,43 +99,41 @@ EXAMPLES = '''
|
|||
name: "ansible_network_peering_test"
|
||||
peering_vpc:
|
||||
vpc_id: "{{ vpc2.id }}"
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
local_vpc_id:
|
||||
description:
|
||||
- Specifies the ID of local VPC.
|
||||
type: str
|
||||
returned: success
|
||||
name:
|
||||
description:
|
||||
- Specifies the name of the VPC peering connection. The value can
|
||||
contain 1 to 64 characters.
|
||||
type: str
|
||||
returned: success
|
||||
peering_vpc:
|
||||
description:
|
||||
- Specifies information about the peering VPC.
|
||||
type: dict
|
||||
returned: success
|
||||
contains:
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the ID of peering VPC.
|
||||
type: str
|
||||
returned: success
|
||||
project_id:
|
||||
description:
|
||||
- Specifies the ID of the project which the peering vpc
|
||||
belongs to.
|
||||
type: str
|
||||
returned: success
|
||||
description:
|
||||
description:
|
||||
- The description of vpc peering connection.
|
||||
type: str
|
||||
returned: success
|
||||
'''
|
||||
RETURN = r"""
|
||||
local_vpc_id:
|
||||
description:
|
||||
- Specifies the ID of local VPC.
|
||||
type: str
|
||||
returned: success
|
||||
name:
|
||||
description:
|
||||
- Specifies the name of the VPC peering connection. The value can contain 1 to 64 characters.
|
||||
type: str
|
||||
returned: success
|
||||
peering_vpc:
|
||||
description:
|
||||
- Specifies information about the peering VPC.
|
||||
type: dict
|
||||
returned: success
|
||||
contains:
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the ID of peering VPC.
|
||||
type: str
|
||||
returned: success
|
||||
project_id:
|
||||
description:
|
||||
- Specifies the ID of the project which the peering vpc belongs to.
|
||||
type: str
|
||||
returned: success
|
||||
description:
|
||||
description:
|
||||
- The description of vpc peering connection.
|
||||
type: str
|
||||
returned: success
|
||||
"""
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.hwc_utils import (
|
||||
Config, HwcClientException, HwcClientException404, HwcModule,
|
||||
|
|
|
@ -12,110 +12,105 @@ __metaclass__ = type
|
|||
# Documentation
|
||||
###############################################################################
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hwc_vpc_port
|
||||
description:
|
||||
- vpc port management.
|
||||
short_description: Creates a resource of Vpc/Port in Huawei Cloud
|
||||
- VPC port management.
|
||||
short_description: Creates a resource of VPC/Port in Huawei Cloud
|
||||
version_added: '0.2.0'
|
||||
author: Huawei Inc. (@huaweicloud)
|
||||
requirements:
|
||||
- keystoneauth1 >= 3.6.0
|
||||
- keystoneauth1 >= 3.6.0
|
||||
attributes:
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
options:
|
||||
state:
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
timeouts:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
- The timeouts for create operation.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
timeouts:
|
||||
default: '15m'
|
||||
subnet_id:
|
||||
description:
|
||||
- Specifies the ID of the subnet to which the port belongs.
|
||||
type: str
|
||||
required: true
|
||||
admin_state_up:
|
||||
description:
|
||||
- Specifies the administrative state of the port.
|
||||
type: bool
|
||||
required: false
|
||||
allowed_address_pairs:
|
||||
description:
|
||||
- Specifies a set of zero or more allowed address pairs.
|
||||
required: false
|
||||
type: list
|
||||
elements: dict
|
||||
suboptions:
|
||||
ip_address:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
- The timeouts for create operation.
|
||||
type: str
|
||||
default: '15m'
|
||||
subnet_id:
|
||||
description:
|
||||
- Specifies the ID of the subnet to which the port belongs.
|
||||
type: str
|
||||
required: true
|
||||
admin_state_up:
|
||||
description:
|
||||
- Specifies the administrative state of the port.
|
||||
type: bool
|
||||
required: false
|
||||
allowed_address_pairs:
|
||||
description:
|
||||
- Specifies a set of zero or more allowed address pairs.
|
||||
required: false
|
||||
type: list
|
||||
elements: dict
|
||||
suboptions:
|
||||
ip_address:
|
||||
description:
|
||||
- Specifies the IP address. It cannot set it to 0.0.0.0.
|
||||
Configure an independent security group for the port if a
|
||||
large CIDR block (subnet mask less than 24) is configured
|
||||
for parameter allowed_address_pairs.
|
||||
type: str
|
||||
required: false
|
||||
mac_address:
|
||||
description:
|
||||
- Specifies the MAC address.
|
||||
type: str
|
||||
required: false
|
||||
extra_dhcp_opts:
|
||||
description:
|
||||
- Specifies the extended option of DHCP.
|
||||
type: list
|
||||
elements: dict
|
||||
required: false
|
||||
suboptions:
|
||||
name:
|
||||
description:
|
||||
- Specifies the option name.
|
||||
type: str
|
||||
required: false
|
||||
value:
|
||||
description:
|
||||
- Specifies the option value.
|
||||
type: str
|
||||
required: false
|
||||
ip_address:
|
||||
description:
|
||||
- Specifies the port IP address.
|
||||
- Specifies the IP address. It cannot set it to 0.0.0.0. Configure an independent security group for the port if
|
||||
a large CIDR block (subnet mask less than 24) is configured for parameter allowed_address_pairs.
|
||||
type: str
|
||||
required: false
|
||||
name:
|
||||
mac_address:
|
||||
description:
|
||||
- Specifies the port name. The value can contain no more than 255
|
||||
characters.
|
||||
- Specifies the MAC address.
|
||||
type: str
|
||||
required: false
|
||||
security_groups:
|
||||
extra_dhcp_opts:
|
||||
description:
|
||||
- Specifies the extended option of DHCP.
|
||||
type: list
|
||||
elements: dict
|
||||
required: false
|
||||
suboptions:
|
||||
name:
|
||||
description:
|
||||
- Specifies the ID of the security group.
|
||||
type: list
|
||||
elements: str
|
||||
- Specifies the option name.
|
||||
type: str
|
||||
required: false
|
||||
value:
|
||||
description:
|
||||
- Specifies the option value.
|
||||
type: str
|
||||
required: false
|
||||
ip_address:
|
||||
description:
|
||||
- Specifies the port IP address.
|
||||
type: str
|
||||
required: false
|
||||
name:
|
||||
description:
|
||||
- Specifies the port name. The value can contain no more than 255 characters.
|
||||
type: str
|
||||
required: false
|
||||
security_groups:
|
||||
description:
|
||||
- Specifies the ID of the security group.
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
extends_documentation_fragment:
|
||||
- community.general.hwc
|
||||
- community.general.attributes
|
||||
"""
|
||||
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
# create a port
|
||||
- name: Create vpc
|
||||
hwc_network_vpc:
|
||||
|
@ -134,76 +129,73 @@ EXAMPLES = '''
|
|||
community.general.hwc_vpc_port:
|
||||
subnet_id: "{{ subnet.id }}"
|
||||
ip_address: "192.168.100.33"
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
subnet_id:
|
||||
description:
|
||||
- Specifies the ID of the subnet to which the port belongs.
|
||||
type: str
|
||||
returned: success
|
||||
admin_state_up:
|
||||
description:
|
||||
- Specifies the administrative state of the port.
|
||||
type: bool
|
||||
returned: success
|
||||
allowed_address_pairs:
|
||||
description:
|
||||
- Specifies a set of zero or more allowed address pairs.
|
||||
type: list
|
||||
returned: success
|
||||
contains:
|
||||
ip_address:
|
||||
description:
|
||||
- Specifies the IP address. It cannot set it to 0.0.0.0.
|
||||
Configure an independent security group for the port if a
|
||||
large CIDR block (subnet mask less than 24) is configured
|
||||
for parameter allowed_address_pairs.
|
||||
type: str
|
||||
returned: success
|
||||
mac_address:
|
||||
description:
|
||||
- Specifies the MAC address.
|
||||
type: str
|
||||
returned: success
|
||||
extra_dhcp_opts:
|
||||
description:
|
||||
- Specifies the extended option of DHCP.
|
||||
type: list
|
||||
returned: success
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- Specifies the option name.
|
||||
type: str
|
||||
returned: success
|
||||
value:
|
||||
description:
|
||||
- Specifies the option value.
|
||||
type: str
|
||||
returned: success
|
||||
RETURN = r"""
|
||||
subnet_id:
|
||||
description:
|
||||
- Specifies the ID of the subnet to which the port belongs.
|
||||
type: str
|
||||
returned: success
|
||||
admin_state_up:
|
||||
description:
|
||||
- Specifies the administrative state of the port.
|
||||
type: bool
|
||||
returned: success
|
||||
allowed_address_pairs:
|
||||
description:
|
||||
- Specifies a set of zero or more allowed address pairs.
|
||||
type: list
|
||||
returned: success
|
||||
contains:
|
||||
ip_address:
|
||||
description:
|
||||
- Specifies the port IP address.
|
||||
type: str
|
||||
returned: success
|
||||
name:
|
||||
description:
|
||||
- Specifies the port name. The value can contain no more than 255
|
||||
characters.
|
||||
type: str
|
||||
returned: success
|
||||
security_groups:
|
||||
description:
|
||||
- Specifies the ID of the security group.
|
||||
type: list
|
||||
returned: success
|
||||
description:
|
||||
- Specifies the IP address. It cannot set it to 0.0.0.0. Configure an independent security group for the port if a
|
||||
large CIDR block (subnet mask less than 24) is configured for parameter allowed_address_pairs.
|
||||
type: str
|
||||
returned: success
|
||||
mac_address:
|
||||
description:
|
||||
- Specifies the port MAC address.
|
||||
type: str
|
||||
returned: success
|
||||
'''
|
||||
description:
|
||||
- Specifies the MAC address.
|
||||
type: str
|
||||
returned: success
|
||||
extra_dhcp_opts:
|
||||
description:
|
||||
- Specifies the extended option of DHCP.
|
||||
type: list
|
||||
returned: success
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- Specifies the option name.
|
||||
type: str
|
||||
returned: success
|
||||
value:
|
||||
description:
|
||||
- Specifies the option value.
|
||||
type: str
|
||||
returned: success
|
||||
ip_address:
|
||||
description:
|
||||
- Specifies the port IP address.
|
||||
type: str
|
||||
returned: success
|
||||
name:
|
||||
description:
|
||||
- Specifies the port name. The value can contain no more than 255 characters.
|
||||
type: str
|
||||
returned: success
|
||||
security_groups:
|
||||
description:
|
||||
- Specifies the ID of the security group.
|
||||
type: list
|
||||
returned: success
|
||||
mac_address:
|
||||
description:
|
||||
- Specifies the port MAC address.
|
||||
type: str
|
||||
returned: success
|
||||
"""
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.hwc_utils import (
|
||||
Config, HwcClientException, HwcClientException404, HwcModule,
|
||||
|
|
|
@ -12,54 +12,51 @@ __metaclass__ = type
|
|||
# Documentation
|
||||
###############################################################################
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hwc_vpc_private_ip
|
||||
description:
|
||||
- vpc private ip management.
|
||||
short_description: Creates a resource of Vpc/PrivateIP in Huawei Cloud
|
||||
- VPC private IP management.
|
||||
short_description: Creates a resource of VPC/PrivateIP in Huawei Cloud
|
||||
notes:
|
||||
- If O(id) option is provided, it takes precedence over O(subnet_id), O(ip_address) for private ip selection.
|
||||
- O(subnet_id), O(ip_address) are used for private ip selection. If more than one private ip with this options exists, execution is aborted.
|
||||
- No parameter support updating. If one of option is changed, the module will create a new resource.
|
||||
- If O(id) option is provided, it takes precedence over O(subnet_id), O(ip_address) for private IP selection.
|
||||
- O(subnet_id), O(ip_address) are used for private IP selection. If more than one private IP with this options exists, execution
|
||||
is aborted.
|
||||
- No parameter support updating. If one of option is changed, the module will create a new resource.
|
||||
version_added: '0.2.0'
|
||||
author: Huawei Inc. (@huaweicloud)
|
||||
requirements:
|
||||
- keystoneauth1 >= 3.6.0
|
||||
- keystoneauth1 >= 3.6.0
|
||||
attributes:
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
options:
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
subnet_id:
|
||||
description:
|
||||
- Specifies the ID of the subnet from which IP addresses are
|
||||
assigned. Cannot be changed after creating the private ip.
|
||||
type: str
|
||||
required: true
|
||||
ip_address:
|
||||
description:
|
||||
- Specifies the target IP address. The value can be an available IP
|
||||
address in the subnet. If it is not specified, the system
|
||||
automatically assigns an IP address. Cannot be changed after
|
||||
creating the private ip.
|
||||
type: str
|
||||
required: false
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
subnet_id:
|
||||
description:
|
||||
- Specifies the ID of the subnet from which IP addresses are assigned. Cannot be changed after creating the private
|
||||
IP.
|
||||
type: str
|
||||
required: true
|
||||
ip_address:
|
||||
description:
|
||||
- Specifies the target IP address. The value can be an available IP address in the subnet. If it is not specified, the
|
||||
system automatically assigns an IP address. Cannot be changed after creating the private IP.
|
||||
type: str
|
||||
required: false
|
||||
extends_documentation_fragment:
|
||||
- community.general.hwc
|
||||
- community.general.attributes
|
||||
"""
|
||||
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
# create a private ip
|
||||
EXAMPLES = r"""
|
||||
# create a private IP
|
||||
- name: Create vpc
|
||||
hwc_network_vpc:
|
||||
cidr: "192.168.100.0/24"
|
||||
|
@ -73,27 +70,25 @@ EXAMPLES = '''
|
|||
vpc_id: "{{ vpc.id }}"
|
||||
cidr: "192.168.100.0/26"
|
||||
register: subnet
|
||||
- name: Create a private ip
|
||||
- name: Create a private IP
|
||||
community.general.hwc_vpc_private_ip:
|
||||
subnet_id: "{{ subnet.id }}"
|
||||
ip_address: "192.168.100.33"
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
subnet_id:
|
||||
description:
|
||||
- Specifies the ID of the subnet from which IP addresses are
|
||||
assigned.
|
||||
type: str
|
||||
returned: success
|
||||
ip_address:
|
||||
description:
|
||||
- Specifies the target IP address. The value can be an available IP
|
||||
address in the subnet. If it is not specified, the system
|
||||
automatically assigns an IP address.
|
||||
type: str
|
||||
returned: success
|
||||
'''
|
||||
RETURN = r"""
|
||||
subnet_id:
|
||||
description:
|
||||
- Specifies the ID of the subnet from which IP addresses are assigned.
|
||||
type: str
|
||||
returned: success
|
||||
ip_address:
|
||||
description:
|
||||
- Specifies the target IP address. The value can be an available IP address in the subnet. If it is not specified, the
|
||||
system automatically assigns an IP address.
|
||||
type: str
|
||||
returned: success
|
||||
"""
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.hwc_utils import (
|
||||
Config, HwcClientException, HwcModule, are_different_dicts, build_path,
|
||||
|
|
|
@ -12,60 +12,59 @@ __metaclass__ = type
|
|||
# Documentation
|
||||
###############################################################################
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hwc_vpc_route
|
||||
description:
|
||||
- vpc route management.
|
||||
short_description: Creates a resource of Vpc/Route in Huawei Cloud
|
||||
- VPC route management.
|
||||
short_description: Creates a resource of VPC/Route in Huawei Cloud
|
||||
notes:
|
||||
- If O(id) option is provided, it takes precedence over O(destination), O(vpc_id), O(type), and O(next_hop) for route selection.
|
||||
- O(destination), O(vpc_id), O(type) and O(next_hop) are used for route selection. If more than one route with this options exists, execution is aborted.
|
||||
- No parameter support updating. If one of option is changed, the module will create a new resource.
|
||||
- If O(id) option is provided, it takes precedence over O(destination), O(vpc_id), O(type), and O(next_hop) for route selection.
|
||||
- O(destination), O(vpc_id), O(type) and O(next_hop) are used for route selection. If more than one route with this options
|
||||
exists, execution is aborted.
|
||||
- No parameter support updating. If one of option is changed, the module will create a new resource.
|
||||
version_added: '0.2.0'
|
||||
author: Huawei Inc. (@huaweicloud)
|
||||
requirements:
|
||||
- keystoneauth1 >= 3.6.0
|
||||
- keystoneauth1 >= 3.6.0
|
||||
attributes:
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
options:
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
destination:
|
||||
description:
|
||||
- Specifies the destination IP address or CIDR block.
|
||||
type: str
|
||||
required: true
|
||||
next_hop:
|
||||
description:
|
||||
- Specifies the next hop. The value is VPC peering connection ID.
|
||||
type: str
|
||||
required: true
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the VPC ID to which route is added.
|
||||
type: str
|
||||
required: true
|
||||
type:
|
||||
description:
|
||||
- Specifies the type of route.
|
||||
type: str
|
||||
required: false
|
||||
default: 'peering'
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
destination:
|
||||
description:
|
||||
- Specifies the destination IP address or CIDR block.
|
||||
type: str
|
||||
required: true
|
||||
next_hop:
|
||||
description:
|
||||
- Specifies the next hop. The value is VPC peering connection ID.
|
||||
type: str
|
||||
required: true
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the VPC ID to which route is added.
|
||||
type: str
|
||||
required: true
|
||||
type:
|
||||
description:
|
||||
- Specifies the type of route.
|
||||
type: str
|
||||
required: false
|
||||
default: 'peering'
|
||||
extends_documentation_fragment:
|
||||
- community.general.hwc
|
||||
- community.general.attributes
|
||||
"""
|
||||
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
# create a peering connect
|
||||
- name: Create a local vpc
|
||||
hwc_network_vpc:
|
||||
|
@ -91,35 +90,35 @@ EXAMPLES = '''
|
|||
vpc_id: "{{ vpc1.id }}"
|
||||
destination: "192.168.0.0/16"
|
||||
next_hop: "{{ connect.id }}"
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
id:
|
||||
description:
|
||||
- UUID of the route.
|
||||
type: str
|
||||
returned: success
|
||||
destination:
|
||||
description:
|
||||
- Specifies the destination IP address or CIDR block.
|
||||
type: str
|
||||
returned: success
|
||||
next_hop:
|
||||
description:
|
||||
- Specifies the next hop. The value is VPC peering connection ID.
|
||||
type: str
|
||||
returned: success
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the VPC ID to which route is added.
|
||||
type: str
|
||||
returned: success
|
||||
type:
|
||||
description:
|
||||
- Specifies the type of route.
|
||||
type: str
|
||||
returned: success
|
||||
'''
|
||||
RETURN = r"""
|
||||
id:
|
||||
description:
|
||||
- UUID of the route.
|
||||
type: str
|
||||
returned: success
|
||||
destination:
|
||||
description:
|
||||
- Specifies the destination IP address or CIDR block.
|
||||
type: str
|
||||
returned: success
|
||||
next_hop:
|
||||
description:
|
||||
- Specifies the next hop. The value is VPC peering connection ID.
|
||||
type: str
|
||||
returned: success
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the VPC ID to which route is added.
|
||||
type: str
|
||||
returned: success
|
||||
type:
|
||||
description:
|
||||
- Specifies the type of route.
|
||||
type: str
|
||||
returned: success
|
||||
"""
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.hwc_utils import (
|
||||
Config, HwcClientException, HwcModule, are_different_dicts, build_path,
|
||||
|
|
|
@ -12,162 +12,141 @@ __metaclass__ = type
|
|||
# Documentation
|
||||
###############################################################################
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hwc_vpc_security_group
|
||||
description:
|
||||
- vpc security group management.
|
||||
short_description: Creates a resource of Vpc/SecurityGroup in Huawei Cloud
|
||||
- VPC security group management.
|
||||
short_description: Creates a resource of VPC/SecurityGroup in Huawei Cloud
|
||||
notes:
|
||||
- If O(id) option is provided, it takes precedence over O(name),
|
||||
O(enterprise_project_id), and O(vpc_id) for security group selection.
|
||||
- O(name), O(enterprise_project_id) and O(vpc_id) are used for security
|
||||
group selection. If more than one security group with this options exists,
|
||||
execution is aborted.
|
||||
- No parameter support updating. If one of option is changed, the module
|
||||
will create a new resource.
|
||||
- If O(id) option is provided, it takes precedence over O(name), O(enterprise_project_id), and O(vpc_id) for security group
|
||||
selection.
|
||||
- O(name), O(enterprise_project_id) and O(vpc_id) are used for security group selection. If more than one security group
|
||||
with this options exists, execution is aborted.
|
||||
- No parameter support updating. If one of option is changed, the module will create a new resource.
|
||||
version_added: '0.2.0'
|
||||
author: Huawei Inc. (@huaweicloud)
|
||||
requirements:
|
||||
- keystoneauth1 >= 3.6.0
|
||||
- keystoneauth1 >= 3.6.0
|
||||
attributes:
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
options:
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
name:
|
||||
description:
|
||||
- Specifies the security group name. The value is a string of 1 to
|
||||
64 characters that can contain letters, digits, underscores (V(_)),
|
||||
hyphens (V(-)), and periods (V(.)).
|
||||
type: str
|
||||
required: true
|
||||
enterprise_project_id:
|
||||
description:
|
||||
- Specifies the enterprise project ID. When creating a security
|
||||
group, associate the enterprise project ID with the security
|
||||
group.s
|
||||
type: str
|
||||
required: false
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the resource ID of the VPC to which the security group
|
||||
belongs.
|
||||
type: str
|
||||
required: false
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
name:
|
||||
description:
|
||||
- Specifies the security group name. The value is a string of 1 to 64 characters that can contain letters, digits, underscores
|
||||
(V(_)), hyphens (V(-)), and periods (V(.)).
|
||||
type: str
|
||||
required: true
|
||||
enterprise_project_id:
|
||||
description:
|
||||
- Specifies the enterprise project ID. When creating a security group, associate the enterprise project ID with the
|
||||
security group.s.
|
||||
type: str
|
||||
required: false
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the resource ID of the VPC to which the security group belongs.
|
||||
type: str
|
||||
required: false
|
||||
extends_documentation_fragment:
|
||||
- community.general.hwc
|
||||
- community.general.attributes
|
||||
"""
|
||||
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
# create a security group
|
||||
- name: Create a security group
|
||||
community.general.hwc_vpc_security_group:
|
||||
name: "ansible_network_security_group_test"
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
name:
|
||||
description:
|
||||
- Specifies the security group name. The value is a string of 1 to
|
||||
64 characters that can contain letters, digits, underscores (V(_)),
|
||||
hyphens (V(-)), and periods (V(.)).
|
||||
type: str
|
||||
returned: success
|
||||
enterprise_project_id:
|
||||
description:
|
||||
- Specifies the enterprise project ID. When creating a security
|
||||
group, associate the enterprise project ID with the security
|
||||
group.
|
||||
type: str
|
||||
returned: success
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the resource ID of the VPC to which the security group
|
||||
belongs.
|
||||
type: str
|
||||
returned: success
|
||||
rules:
|
||||
description:
|
||||
- Specifies the security group rule, which ensures that resources
|
||||
in the security group can communicate with one another.
|
||||
type: complex
|
||||
returned: success
|
||||
contains:
|
||||
description:
|
||||
description:
|
||||
- Provides supplementary information about the security
|
||||
group rule.
|
||||
type: str
|
||||
returned: success
|
||||
direction:
|
||||
description:
|
||||
- Specifies the direction of access control. The value can
|
||||
be egress or ingress.
|
||||
type: str
|
||||
returned: success
|
||||
ethertype:
|
||||
description:
|
||||
- Specifies the IP protocol version. The value can be IPv4
|
||||
or IPv6.
|
||||
type: str
|
||||
returned: success
|
||||
id:
|
||||
description:
|
||||
- Specifies the security group rule ID.
|
||||
type: str
|
||||
returned: success
|
||||
port_range_max:
|
||||
description:
|
||||
- Specifies the end port number. The value ranges from 1 to
|
||||
65535. If the protocol is not icmp, the value cannot be
|
||||
smaller than the port_range_min value. An empty value
|
||||
indicates all ports.
|
||||
type: int
|
||||
returned: success
|
||||
port_range_min:
|
||||
description:
|
||||
- Specifies the start port number. The value ranges from 1
|
||||
to 65535. The value cannot be greater than the
|
||||
port_range_max value. An empty value indicates all ports.
|
||||
type: int
|
||||
returned: success
|
||||
protocol:
|
||||
description:
|
||||
- Specifies the protocol type. The value can be icmp, tcp,
|
||||
udp, or others. If the parameter is left blank, the
|
||||
security group supports all protocols.
|
||||
type: str
|
||||
returned: success
|
||||
remote_address_group_id:
|
||||
description:
|
||||
- Specifies the ID of remote IP address group.
|
||||
type: str
|
||||
returned: success
|
||||
remote_group_id:
|
||||
description:
|
||||
- Specifies the ID of the peer security group.
|
||||
type: str
|
||||
returned: success
|
||||
remote_ip_prefix:
|
||||
description:
|
||||
- Specifies the remote IP address. If the access control
|
||||
direction is set to egress, the parameter specifies the
|
||||
source IP address. If the access control direction is set
|
||||
to ingress, the parameter specifies the destination IP
|
||||
address.
|
||||
type: str
|
||||
returned: success
|
||||
'''
|
||||
RETURN = r"""
|
||||
name:
|
||||
description:
|
||||
- Specifies the security group name. The value is a string of 1 to 64 characters that can contain letters, digits, underscores
|
||||
(V(_)), hyphens (V(-)), and periods (V(.)).
|
||||
type: str
|
||||
returned: success
|
||||
enterprise_project_id:
|
||||
description:
|
||||
- Specifies the enterprise project ID. When creating a security group, associate the enterprise project ID with the security
|
||||
group.
|
||||
type: str
|
||||
returned: success
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the resource ID of the VPC to which the security group belongs.
|
||||
type: str
|
||||
returned: success
|
||||
rules:
|
||||
description:
|
||||
- Specifies the security group rule, which ensures that resources in the security group can communicate with one another.
|
||||
type: complex
|
||||
returned: success
|
||||
contains:
|
||||
description:
|
||||
description:
|
||||
- Provides supplementary information about the security group rule.
|
||||
type: str
|
||||
returned: success
|
||||
direction:
|
||||
description:
|
||||
- Specifies the direction of access control. The value can be egress or ingress.
|
||||
type: str
|
||||
returned: success
|
||||
ethertype:
|
||||
description:
|
||||
- Specifies the IP protocol version. The value can be IPv4 or IPv6.
|
||||
type: str
|
||||
returned: success
|
||||
id:
|
||||
description:
|
||||
- Specifies the security group rule ID.
|
||||
type: str
|
||||
returned: success
|
||||
port_range_max:
|
||||
description:
|
||||
- Specifies the end port number. The value ranges from 1 to 65535. If the protocol is not icmp, the value cannot be
|
||||
smaller than the port_range_min value. An empty value indicates all ports.
|
||||
type: int
|
||||
returned: success
|
||||
port_range_min:
|
||||
description:
|
||||
- Specifies the start port number. The value ranges from 1 to 65535. The value cannot be greater than the port_range_max
|
||||
value. An empty value indicates all ports.
|
||||
type: int
|
||||
returned: success
|
||||
protocol:
|
||||
description:
|
||||
- Specifies the protocol type. The value can be icmp, tcp, udp, or others. If the parameter is left blank, the security
|
||||
group supports all protocols.
|
||||
type: str
|
||||
returned: success
|
||||
remote_address_group_id:
|
||||
description:
|
||||
- Specifies the ID of remote IP address group.
|
||||
type: str
|
||||
returned: success
|
||||
remote_group_id:
|
||||
description:
|
||||
- Specifies the ID of the peer security group.
|
||||
type: str
|
||||
returned: success
|
||||
remote_ip_prefix:
|
||||
description:
|
||||
- Specifies the remote IP address. If the access control direction is set to egress, the parameter specifies the source
|
||||
IP address. If the access control direction is set to ingress, the parameter specifies the destination IP address.
|
||||
type: str
|
||||
returned: success
|
||||
"""
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.hwc_utils import (
|
||||
Config, HwcClientException, HwcModule, are_different_dicts, build_path,
|
||||
|
|
|
@ -12,105 +12,90 @@ __metaclass__ = type
|
|||
# Documentation
|
||||
###############################################################################
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hwc_vpc_security_group_rule
|
||||
description:
|
||||
- vpc security group management.
|
||||
short_description: Creates a resource of Vpc/SecurityGroupRule in Huawei Cloud
|
||||
- VPC security group management.
|
||||
short_description: Creates a resource of VPC/SecurityGroupRule in Huawei Cloud
|
||||
notes:
|
||||
- If O(id) option is provided, it takes precedence over
|
||||
O(security_group_id) for security group rule selection.
|
||||
- O(security_group_id) is used for security group rule selection. If more
|
||||
than one security group rule with this options exists, execution is
|
||||
aborted.
|
||||
- No parameter support updating. If one of option is changed, the module
|
||||
will create a new resource.
|
||||
- If O(id) option is provided, it takes precedence over O(security_group_id) for security group rule selection.
|
||||
- O(security_group_id) is used for security group rule selection. If more than one security group rule with this options
|
||||
exists, execution is aborted.
|
||||
- No parameter support updating. If one of option is changed, the module will create a new resource.
|
||||
version_added: '0.2.0'
|
||||
author: Huawei Inc. (@huaweicloud)
|
||||
requirements:
|
||||
- keystoneauth1 >= 3.6.0
|
||||
- keystoneauth1 >= 3.6.0
|
||||
attributes:
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
options:
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
direction:
|
||||
description:
|
||||
- Specifies the direction of access control. The value can be
|
||||
egress or ingress.
|
||||
type: str
|
||||
required: true
|
||||
security_group_id:
|
||||
description:
|
||||
- Specifies the security group rule ID, which uniquely identifies
|
||||
the security group rule.
|
||||
type: str
|
||||
required: true
|
||||
state:
|
||||
description:
|
||||
description:
|
||||
- Provides supplementary information about the security group rule.
|
||||
The value is a string of no more than 255 characters that can
|
||||
contain letters and digits.
|
||||
type: str
|
||||
required: false
|
||||
ethertype:
|
||||
description:
|
||||
- Specifies the IP protocol version. The value can be IPv4 or IPv6.
|
||||
If you do not set this parameter, IPv4 is used by default.
|
||||
type: str
|
||||
required: false
|
||||
port_range_max:
|
||||
description:
|
||||
- Specifies the end port number. The value ranges from 1 to 65535.
|
||||
If the protocol is not icmp, the value cannot be smaller than the
|
||||
port_range_min value. An empty value indicates all ports.
|
||||
type: int
|
||||
required: false
|
||||
port_range_min:
|
||||
description:
|
||||
- Specifies the start port number. The value ranges from 1 to
|
||||
65535. The value cannot be greater than the port_range_max value.
|
||||
An empty value indicates all ports.
|
||||
type: int
|
||||
required: false
|
||||
protocol:
|
||||
description:
|
||||
- Specifies the protocol type. The value can be icmp, tcp, or udp.
|
||||
If the parameter is left blank, the security group supports all
|
||||
protocols.
|
||||
type: str
|
||||
required: false
|
||||
remote_group_id:
|
||||
description:
|
||||
- Specifies the ID of the peer security group. The value is
|
||||
exclusive with parameter remote_ip_prefix.
|
||||
type: str
|
||||
required: false
|
||||
remote_ip_prefix:
|
||||
description:
|
||||
- Specifies the remote IP address. If the access control direction
|
||||
is set to egress, the parameter specifies the source IP address.
|
||||
If the access control direction is set to ingress, the parameter
|
||||
specifies the destination IP address. The value can be in the
|
||||
CIDR format or IP addresses. The parameter is exclusive with
|
||||
parameter remote_group_id.
|
||||
type: str
|
||||
required: false
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
direction:
|
||||
description:
|
||||
- Specifies the direction of access control. The value can be egress or ingress.
|
||||
type: str
|
||||
required: true
|
||||
security_group_id:
|
||||
description:
|
||||
- Specifies the security group rule ID, which uniquely identifies the security group rule.
|
||||
type: str
|
||||
required: true
|
||||
description:
|
||||
description:
|
||||
- Provides supplementary information about the security group rule. The value is a string of no more than 255 characters
|
||||
that can contain letters and digits.
|
||||
type: str
|
||||
required: false
|
||||
ethertype:
|
||||
description:
|
||||
- Specifies the IP protocol version. The value can be IPv4 or IPv6. If you do not set this parameter, IPv4 is used by
|
||||
default.
|
||||
type: str
|
||||
required: false
|
||||
port_range_max:
|
||||
description:
|
||||
- Specifies the end port number. The value ranges from 1 to 65535. If the protocol is not icmp, the value cannot be
|
||||
smaller than the port_range_min value. An empty value indicates all ports.
|
||||
type: int
|
||||
required: false
|
||||
port_range_min:
|
||||
description:
|
||||
- Specifies the start port number. The value ranges from 1 to 65535. The value cannot be greater than the port_range_max
|
||||
value. An empty value indicates all ports.
|
||||
type: int
|
||||
required: false
|
||||
protocol:
|
||||
description:
|
||||
- Specifies the protocol type. The value can be icmp, tcp, or udp. If the parameter is left blank, the security group
|
||||
supports all protocols.
|
||||
type: str
|
||||
required: false
|
||||
remote_group_id:
|
||||
description:
|
||||
- Specifies the ID of the peer security group. The value is exclusive with parameter remote_ip_prefix.
|
||||
type: str
|
||||
required: false
|
||||
remote_ip_prefix:
|
||||
description:
|
||||
- Specifies the remote IP address. If the access control direction is set to egress, the parameter specifies the source
|
||||
IP address. If the access control direction is set to ingress, the parameter specifies the destination IP address.
|
||||
The value can be in the CIDR format or IP addresses. The parameter is exclusive with parameter remote_group_id.
|
||||
type: str
|
||||
required: false
|
||||
extends_documentation_fragment:
|
||||
- community.general.hwc
|
||||
- community.general.attributes
|
||||
"""
|
||||
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
# create a security group rule
|
||||
- name: Create a security group
|
||||
hwc_vpc_security_group:
|
||||
|
@ -125,72 +110,62 @@ EXAMPLES = '''
|
|||
security_group_id: "{{ sg.id }}"
|
||||
port_range_min: 22
|
||||
remote_ip_prefix: "0.0.0.0/0"
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
direction:
|
||||
description:
|
||||
- Specifies the direction of access control. The value can be
|
||||
egress or ingress.
|
||||
type: str
|
||||
returned: success
|
||||
security_group_id:
|
||||
description:
|
||||
- Specifies the security group rule ID, which uniquely identifies
|
||||
the security group rule.
|
||||
type: str
|
||||
returned: success
|
||||
description:
|
||||
description:
|
||||
- Provides supplementary information about the security group rule.
|
||||
The value is a string of no more than 255 characters that can
|
||||
contain letters and digits.
|
||||
type: str
|
||||
returned: success
|
||||
ethertype:
|
||||
description:
|
||||
- Specifies the IP protocol version. The value can be IPv4 or IPv6.
|
||||
If you do not set this parameter, IPv4 is used by default.
|
||||
type: str
|
||||
returned: success
|
||||
port_range_max:
|
||||
description:
|
||||
- Specifies the end port number. The value ranges from 1 to 65535.
|
||||
If the protocol is not icmp, the value cannot be smaller than the
|
||||
port_range_min value. An empty value indicates all ports.
|
||||
type: int
|
||||
returned: success
|
||||
port_range_min:
|
||||
description:
|
||||
- Specifies the start port number. The value ranges from 1 to
|
||||
65535. The value cannot be greater than the port_range_max value.
|
||||
An empty value indicates all ports.
|
||||
type: int
|
||||
returned: success
|
||||
protocol:
|
||||
description:
|
||||
- Specifies the protocol type. The value can be icmp, tcp, or udp.
|
||||
If the parameter is left blank, the security group supports all
|
||||
protocols.
|
||||
type: str
|
||||
returned: success
|
||||
remote_group_id:
|
||||
description:
|
||||
- Specifies the ID of the peer security group. The value is
|
||||
exclusive with parameter remote_ip_prefix.
|
||||
type: str
|
||||
returned: success
|
||||
remote_ip_prefix:
|
||||
description:
|
||||
- Specifies the remote IP address. If the access control direction
|
||||
is set to egress, the parameter specifies the source IP address.
|
||||
If the access control direction is set to ingress, the parameter
|
||||
specifies the destination IP address. The value can be in the
|
||||
CIDR format or IP addresses. The parameter is exclusive with
|
||||
parameter remote_group_id.
|
||||
type: str
|
||||
returned: success
|
||||
'''
|
||||
RETURN = r"""
|
||||
direction:
|
||||
description:
|
||||
- Specifies the direction of access control. The value can be egress or ingress.
|
||||
type: str
|
||||
returned: success
|
||||
security_group_id:
|
||||
description:
|
||||
- Specifies the security group rule ID, which uniquely identifies the security group rule.
|
||||
type: str
|
||||
returned: success
|
||||
description:
|
||||
description:
|
||||
- Provides supplementary information about the security group rule. The value is a string of no more than 255 characters
|
||||
that can contain letters and digits.
|
||||
type: str
|
||||
returned: success
|
||||
ethertype:
|
||||
description:
|
||||
- Specifies the IP protocol version. The value can be IPv4 or IPv6. If you do not set this parameter, IPv4 is used by
|
||||
default.
|
||||
type: str
|
||||
returned: success
|
||||
port_range_max:
|
||||
description:
|
||||
- Specifies the end port number. The value ranges from 1 to 65535. If the protocol is not icmp, the value cannot be smaller
|
||||
than the port_range_min value. An empty value indicates all ports.
|
||||
type: int
|
||||
returned: success
|
||||
port_range_min:
|
||||
description:
|
||||
- Specifies the start port number. The value ranges from 1 to 65535. The value cannot be greater than the port_range_max
|
||||
value. An empty value indicates all ports.
|
||||
type: int
|
||||
returned: success
|
||||
protocol:
|
||||
description:
|
||||
- Specifies the protocol type. The value can be icmp, tcp, or udp. If the parameter is left blank, the security group
|
||||
supports all protocols.
|
||||
type: str
|
||||
returned: success
|
||||
remote_group_id:
|
||||
description:
|
||||
- Specifies the ID of the peer security group. The value is exclusive with parameter remote_ip_prefix.
|
||||
type: str
|
||||
returned: success
|
||||
remote_ip_prefix:
|
||||
description:
|
||||
- Specifies the remote IP address. If the access control direction is set to egress, the parameter specifies the source
|
||||
IP address. If the access control direction is set to ingress, the parameter specifies the destination IP address. The
|
||||
value can be in the CIDR format or IP addresses. The parameter is exclusive with parameter remote_group_id.
|
||||
type: str
|
||||
returned: success
|
||||
"""
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.hwc_utils import (
|
||||
Config, HwcClientException, HwcModule, are_different_dicts, build_path,
|
||||
|
|
|
@ -12,99 +12,90 @@ __metaclass__ = type
|
|||
# Documentation
|
||||
###############################################################################
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
DOCUMENTATION = r"""
|
||||
module: hwc_vpc_subnet
|
||||
description:
|
||||
- subnet management.
|
||||
short_description: Creates a resource of Vpc/Subnet in Huawei Cloud
|
||||
- Subnet management.
|
||||
short_description: Creates a resource of VPC/Subnet in Huawei Cloud
|
||||
version_added: '0.2.0'
|
||||
author: Huawei Inc. (@huaweicloud)
|
||||
requirements:
|
||||
- keystoneauth1 >= 3.6.0
|
||||
- keystoneauth1 >= 3.6.0
|
||||
attributes:
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
check_mode:
|
||||
support: full
|
||||
diff_mode:
|
||||
support: none
|
||||
options:
|
||||
state:
|
||||
state:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
timeouts:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
- Whether the given object should exist in Huawei Cloud.
|
||||
- The timeouts for create operation.
|
||||
type: str
|
||||
choices: ['present', 'absent']
|
||||
default: 'present'
|
||||
timeouts:
|
||||
default: '15m'
|
||||
update:
|
||||
description:
|
||||
- The timeouts for each operations.
|
||||
type: dict
|
||||
default: {}
|
||||
suboptions:
|
||||
create:
|
||||
description:
|
||||
- The timeouts for create operation.
|
||||
type: str
|
||||
default: '15m'
|
||||
update:
|
||||
description:
|
||||
- The timeouts for update operation.
|
||||
type: str
|
||||
default: '15m'
|
||||
cidr:
|
||||
description:
|
||||
- Specifies the subnet CIDR block. The value must be within the VPC
|
||||
CIDR block and be in CIDR format. The subnet mask cannot be
|
||||
greater than 28. Cannot be changed after creating the subnet.
|
||||
- The timeouts for update operation.
|
||||
type: str
|
||||
required: true
|
||||
gateway_ip:
|
||||
description:
|
||||
- Specifies the gateway of the subnet. The value must be an IP
|
||||
address in the subnet. Cannot be changed after creating the subnet.
|
||||
type: str
|
||||
required: true
|
||||
name:
|
||||
description:
|
||||
- Specifies the subnet name. The value is a string of 1 to 64
|
||||
characters that can contain letters, digits, underscores (V(_)),
|
||||
hyphens (V(-)), and periods (V(.)).
|
||||
type: str
|
||||
required: true
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the ID of the VPC to which the subnet belongs. Cannot
|
||||
be changed after creating the subnet.
|
||||
type: str
|
||||
required: true
|
||||
availability_zone:
|
||||
description:
|
||||
- Specifies the AZ to which the subnet belongs. Cannot be changed
|
||||
after creating the subnet.
|
||||
type: str
|
||||
required: false
|
||||
dhcp_enable:
|
||||
description:
|
||||
- Specifies whether DHCP is enabled for the subnet. The value can
|
||||
be true (enabled) or false(disabled), and default value is true.
|
||||
If this parameter is set to false, newly created ECSs cannot
|
||||
obtain IP addresses, and usernames and passwords cannot be
|
||||
injected using Cloud-init.
|
||||
type: bool
|
||||
required: false
|
||||
dns_address:
|
||||
description:
|
||||
- Specifies the DNS server addresses for subnet. The address
|
||||
in the head will be used first.
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
default: '15m'
|
||||
cidr:
|
||||
description:
|
||||
- Specifies the subnet CIDR block. The value must be within the VPC CIDR block and be in CIDR format. The subnet mask
|
||||
cannot be greater than 28. Cannot be changed after creating the subnet.
|
||||
type: str
|
||||
required: true
|
||||
gateway_ip:
|
||||
description:
|
||||
- Specifies the gateway of the subnet. The value must be an IP address in the subnet. Cannot be changed after creating
|
||||
the subnet.
|
||||
type: str
|
||||
required: true
|
||||
name:
|
||||
description:
|
||||
- Specifies the subnet name. The value is a string of 1 to 64 characters that can contain letters, digits, underscores
|
||||
(V(_)), hyphens (V(-)), and periods (V(.)).
|
||||
type: str
|
||||
required: true
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the ID of the VPC to which the subnet belongs. Cannot be changed after creating the subnet.
|
||||
type: str
|
||||
required: true
|
||||
availability_zone:
|
||||
description:
|
||||
- Specifies the AZ to which the subnet belongs. Cannot be changed after creating the subnet.
|
||||
type: str
|
||||
required: false
|
||||
dhcp_enable:
|
||||
description:
|
||||
- Specifies whether DHCP is enabled for the subnet. The value can be true (enabled) or false(disabled), and default
|
||||
value is true. If this parameter is set to false, newly created ECSs cannot obtain IP addresses, and usernames and
|
||||
passwords cannot be injected using Cloud-init.
|
||||
type: bool
|
||||
required: false
|
||||
dns_address:
|
||||
description:
|
||||
- Specifies the DNS server addresses for subnet. The address in the head will be used first.
|
||||
type: list
|
||||
elements: str
|
||||
required: false
|
||||
extends_documentation_fragment:
|
||||
- community.general.hwc
|
||||
- community.general.attributes
|
||||
"""
|
||||
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = r"""
|
||||
# create subnet
|
||||
- name: Create vpc
|
||||
hwc_network_vpc:
|
||||
|
@ -118,55 +109,49 @@ EXAMPLES = '''
|
|||
gateway_ip: "192.168.100.32"
|
||||
name: "ansible_network_subnet_test"
|
||||
dhcp_enable: true
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
cidr:
|
||||
description:
|
||||
- Specifies the subnet CIDR block. The value must be within the VPC
|
||||
CIDR block and be in CIDR format. The subnet mask cannot be
|
||||
greater than 28.
|
||||
type: str
|
||||
returned: success
|
||||
gateway_ip:
|
||||
description:
|
||||
- Specifies the gateway of the subnet. The value must be an IP
|
||||
address in the subnet.
|
||||
type: str
|
||||
returned: success
|
||||
name:
|
||||
description:
|
||||
- Specifies the subnet name. The value is a string of 1 to 64
|
||||
characters that can contain letters, digits, underscores (V(_)),
|
||||
hyphens (V(-)), and periods (V(.)).
|
||||
type: str
|
||||
returned: success
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the ID of the VPC to which the subnet belongs.
|
||||
type: str
|
||||
returned: success
|
||||
availability_zone:
|
||||
description:
|
||||
- Specifies the AZ to which the subnet belongs.
|
||||
type: str
|
||||
returned: success
|
||||
dhcp_enable:
|
||||
description:
|
||||
- Specifies whether DHCP is enabled for the subnet. The value can
|
||||
be true (enabled) or false(disabled), and default value is true.
|
||||
If this parameter is set to false, newly created ECSs cannot
|
||||
obtain IP addresses, and usernames and passwords cannot be
|
||||
injected using Cloud-init.
|
||||
type: bool
|
||||
returned: success
|
||||
dns_address:
|
||||
description:
|
||||
- Specifies the DNS server addresses for subnet. The address
|
||||
in the head will be used first.
|
||||
type: list
|
||||
returned: success
|
||||
'''
|
||||
RETURN = r"""
|
||||
cidr:
|
||||
description:
|
||||
- Specifies the subnet CIDR block. The value must be within the VPC CIDR block and be in CIDR format. The subnet mask
|
||||
cannot be greater than 28.
|
||||
type: str
|
||||
returned: success
|
||||
gateway_ip:
|
||||
description:
|
||||
- Specifies the gateway of the subnet. The value must be an IP address in the subnet.
|
||||
type: str
|
||||
returned: success
|
||||
name:
|
||||
description:
|
||||
- Specifies the subnet name. The value is a string of 1 to 64 characters that can contain letters, digits, underscores
|
||||
(V(_)), hyphens (V(-)), and periods (V(.)).
|
||||
type: str
|
||||
returned: success
|
||||
vpc_id:
|
||||
description:
|
||||
- Specifies the ID of the VPC to which the subnet belongs.
|
||||
type: str
|
||||
returned: success
|
||||
availability_zone:
|
||||
description:
|
||||
- Specifies the AZ to which the subnet belongs.
|
||||
type: str
|
||||
returned: success
|
||||
dhcp_enable:
|
||||
description:
|
||||
- Specifies whether DHCP is enabled for the subnet. The value can be true (enabled) or false(disabled), and default value
|
||||
is true. If this parameter is set to false, newly created ECSs cannot obtain IP addresses, and usernames and passwords
|
||||
cannot be injected using Cloud-init.
|
||||
type: bool
|
||||
returned: success
|
||||
dns_address:
|
||||
description:
|
||||
- Specifies the DNS server addresses for subnet. The address in the head will be used first.
|
||||
type: list
|
||||
returned: success
|
||||
"""
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils.hwc_utils import (
|
||||
Config, HwcClientException, HwcClientException404, HwcModule,
|
||||
|
|
Loading…
Reference in New Issue