Rename hcloud_*_facts to hcloud_*_info (#60926)

* Rename hcloud_datacenter_facts to hcloud_datacenter_info

* Rename hcloud_location_facts to hcloud_location_info

* Rename hcloud_image_facts to hcloud_image_info

* Rename hcloud_floating_ip_facts to hcloud_floating_ip_info

* Rename hcloud_server_type_facts to hcloud_server_type_info

* Rename hcloud_server_facts to hcloud_server_info

* Rename hcloud_ssh_key_facts to hcloud_ssh_key_info

* Rename hcloud_volume_facts to hcloud_volume_info

* Fix typo in hcloud_image_info

* Add to porting guide and add changelog fragment

* Reword porting guide
pull/60437/head
Lukas Kämmerling 5 years ago committed by Felix Fontein
parent 839e9019ef
commit 96199be96b

@ -0,0 +1,17 @@
minor_changes:
- The ``hcloud_datacenter_facts`` module has been renamed to ``hcloud_datacenter_info``.
When called with the new name, the module no longer returns ``ansible_facts``.
- The ``hcloud_floating_ip_facts`` module has been renamed to ``hcloud_floating_ip_info``.
When called with the new name, the module no longer returns ``ansible_facts``.
- The ``hcloud_image_facts`` module has been renamed to ``hcloud_image_info``.
When called with the new name, the module no longer returns ``ansible_facts``.
- The ``hcloud_location_facts`` module has been renamed to ``hcloud_location_info``.
When called with the new name, the module no longer returns ``ansible_facts``.
- The ``hcloud_server_facts`` module has been renamed to ``hcloud_server_info``.
When called with the new name, the module no longer returns ``ansible_facts``.
- The ``hcloud_server_type_facts`` module has been renamed to ``hcloud_server_type_info``.
When called with the new name, the module no longer returns ``ansible_facts``.
- The ``hcloud_ssh_key_facts`` module has been renamed to ``hcloud_ssh_key_info``.
When called with the new name, the module no longer returns ``ansible_facts``.
- The ``hcloud_volume_facts`` module has been renamed to ``hcloud_volume_info``.
When called with the new name, the module no longer returns ``ansible_facts``.

@ -246,6 +246,30 @@ be removed in Ansible 2.13. Please update update your playbooks accordingly.
* The ``gluster_heal_facts`` module was renamed to :ref:`gluster_heal_info <gluster_heal_info_module>`.
When called with the new name, the module no longer returns ``ansible_facts``.
To access return values, :ref:`register a variable <registered_variables>`.
* The ``hcloud_datacenter_facts`` module was renamed to :ref:`hcloud_datacenter_info <hcloud_datacenter_info_module>`.
When called with the new name, the module no longer returns ``ansible_facts``.
To access return values, :ref:`register a variable <registered_variables>`.
* The ``hcloud_floating_ip_facts`` module was renamed to :ref:`hcloud_floating_ip_info <hcloud_floating_ip_info_module>`.
When called with the new name, the module no longer returns ``ansible_facts``.
To access return values, :ref:`register a variable <registered_variables>`.
* The ``hcloud_image_facts`` module was renamed to :ref:`hcloud_image_info <hcloud_image_info_module>`.
When called with the new name, the module no longer returns ``ansible_facts``.
To access return values, :ref:`register a variable <registered_variables>`.
* The ``hcloud_location_facts`` module was renamed to :ref:`hcloud_location_info <hcloud_location_info_module>`.
When called with the new name, the module no longer returns ``ansible_facts``.
To access return values, :ref:`register a variable <registered_variables>`.
* The ``hcloud_server_facts`` module was renamed to :ref:`hcloud_server_info <hcloud_server_info_module>`.
When called with the new name, the module no longer returns ``ansible_facts``.
To access return values, :ref:`register a variable <registered_variables>`.
* The ``hcloud_server_type_facts`` module was renamed to :ref:`hcloud_server_type_info <hcloud_server_type_info_module>`.
When called with the new name, the module no longer returns ``ansible_facts``.
To access return values, :ref:`register a variable <registered_variables>`.
* The ``hcloud_ssh_key_facts`` module was renamed to :ref:`hcloud_ssh_key_info <hcloud_ssh_key_info_module>`.
When called with the new name, the module no longer returns ``ansible_facts``.
To access return values, :ref:`register a variable <registered_variables>`.
* The ``hcloud_volume_facts`` module was renamed to :ref:`hcloud_volume_info <hcloud_volume_info_module>`.
When called with the new name, the module no longer returns ``ansible_facts``.
To access return values, :ref:`register a variable <registered_variables>`.
* The ``hpilo_facts`` module was renamed to :ref:`hpilo_info <hpilo_info_module>`.
When called with the new name, the module no longer returns ``ansible_facts``.
To access return values, :ref:`register a variable <registered_variables>`.

@ -16,13 +16,15 @@ ANSIBLE_METADATA = {
DOCUMENTATION = """
---
module: hcloud_datacenter_facts
module: hcloud_datacenter_info
short_description: Gather facts about the Hetzner Cloud datacenters.
short_description: Gather info about the Hetzner Cloud datacenters.
version_added: "2.8"
description:
- Gather facts about your Hetzner Cloud datacenters.
- Gather info about your Hetzner Cloud datacenters.
- This module was called C(hcloud_datacenter_facts) before Ansible 2.9, returning C(ansible_facts) and C(hcloud_datacenter_facts).
Note that the M(hcloud_datacenter_info) module no longer returns C(ansible_facts) and the value was renamed to C(hcloud_datacenter_info)!
author:
- Lukas Kaemmerling (@LKaemmerling)
@ -40,32 +42,35 @@ extends_documentation_fragment: hcloud
"""
EXAMPLES = """
- name: Gather hcloud datacenter facts
local_action:
module: hcloud_datacenter_facts
- name: Print the gathered facts
- name: Gather hcloud datacenter info
hcloud_datacenter_info:
register: output
- name: Print the gathered info
debug:
var: ansible_facts.hcloud_datacenter_facts
var: output
"""
RETURN = """
hcloud_datacenter_facts:
description: The datacenter facts as list
hcloud_datacenter_info:
description:
- The datacenter info as list
- This module was called C(hcloud_datacenter_facts) before Ansible 2.9, returning C(ansible_facts) and C(hcloud_datacenter_facts).
Note that the M(hcloud_datacenter_info) module no longer returns C(ansible_facts) and the value was renamed to C(hcloud_datacenter_info)!
returned: always
type: complex
contains:
id:
description: Numeric identifier of the location
description: Numeric identifier of the datacenter
returned: always
type: int
sample: 1937415
name:
description: Name of the location
description: Name of the datacenter
returned: always
type: str
sample: fsn1-dc8
description:
description: Detail description of the location
description: Detail description of the datacenter
returned: always
type: str
sample: Falkenstein DC 8
@ -91,15 +96,15 @@ except ImportError:
pass
class AnsibleHcloudDatacenterFacts(Hcloud):
class AnsibleHcloudDatacenterInfo(Hcloud):
def __init__(self, module):
Hcloud.__init__(self, module, "hcloud_datacenter_facts")
self.hcloud_datacenter_facts = None
Hcloud.__init__(self, module, "hcloud_datacenter_info")
self.hcloud_datacenter_info = None
def _prepare_result(self):
tmp = []
for datacenter in self.hcloud_datacenter_facts:
for datacenter in self.hcloud_datacenter_info:
if datacenter is not None:
tmp.append({
"id": to_native(datacenter.id),
@ -113,15 +118,15 @@ class AnsibleHcloudDatacenterFacts(Hcloud):
def get_datacenters(self):
try:
if self.module.params.get("id") is not None:
self.hcloud_datacenter_facts = [self.client.datacenters.get_by_id(
self.hcloud_datacenter_info = [self.client.datacenters.get_by_id(
self.module.params.get("id")
)]
elif self.module.params.get("name") is not None:
self.hcloud_datacenter_facts = [self.client.datacenters.get_by_name(
self.hcloud_datacenter_info = [self.client.datacenters.get_by_name(
self.module.params.get("name")
)]
else:
self.hcloud_datacenter_facts = self.client.datacenters.get_all()
self.hcloud_datacenter_info = self.client.datacenters.get_all()
except APIException as e:
self.module.fail_json(msg=e.message)
@ -139,16 +144,26 @@ class AnsibleHcloudDatacenterFacts(Hcloud):
def main():
module = AnsibleHcloudDatacenterFacts.define_module()
module = AnsibleHcloudDatacenterInfo.define_module()
hcloud = AnsibleHcloudDatacenterFacts(module)
is_old_facts = module._name == 'hcloud_datacenter_facts'
if is_old_facts:
module.deprecate("The 'hcloud_datacenter_facts' module has been renamed to 'hcloud_datacenter_info', "
"and the renamed one no longer returns ansible_facts", version='2.13')
hcloud = AnsibleHcloudDatacenterInfo(module)
hcloud.get_datacenters()
result = hcloud.get_result()
ansible_facts = {
'hcloud_datacenter_facts': result['hcloud_datacenter_facts']
}
module.exit_json(ansible_facts=ansible_facts)
if is_old_facts:
ansible_info = {
'hcloud_datacenter_facts': result['hcloud_datacenter_info']
}
module.exit_json(ansible_facts=ansible_info)
else:
ansible_info = {
'hcloud_datacenter_info': result['hcloud_datacenter_info']
}
module.exit_json(**ansible_info)
if __name__ == "__main__":

@ -16,13 +16,15 @@ ANSIBLE_METADATA = {
DOCUMENTATION = """
---
module: hcloud_floating_ip_facts
module: hcloud_floating_ip_info
short_description: Gather facts about the Hetzner Cloud Floating IPs.
short_description: Gather infos about the Hetzner Cloud Floating IPs.
version_added: "2.8"
description:
- Gather facts about your Hetzner Cloud Floating IPs.
- This module was called C(hcloud_floating_ip_facts) before Ansible 2.9, returning C(ansible_facts) and C(hcloud_floating_ip_facts).
Note that the M(hcloud_floating_ip_info) module no longer returns C(ansible_facts) and the value was renamed to C(hcloud_floating_ip_info)!
author:
- Lukas Kaemmerling (@LKaemmerling)
@ -40,17 +42,17 @@ extends_documentation_fragment: hcloud
"""
EXAMPLES = """
- name: Gather hcloud Floating ip facts
local_action:
module: hcloud_floating_ip_facts
- name: Print the gathered facts
- name: Gather hcloud Floating ip infos
hcloud_floating_ip_info:
register: output
- name: Print the gathered infos
debug:
var: ansible_facts.hcloud_floating_ip_facts
var: output
"""
RETURN = """
hcloud_floating_ip_facts:
description: The Floating ip facts as list
hcloud_floating_ip_info:
description: The Floating ip infos as list
returned: always
type: complex
contains:
@ -100,15 +102,15 @@ except ImportError:
pass
class AnsibleHcloudFloatingIPFacts(Hcloud):
class AnsibleHcloudFloatingIPInfo(Hcloud):
def __init__(self, module):
Hcloud.__init__(self, module, "hcloud_floating_ip_facts")
self.hcloud_floating_ip_facts = None
Hcloud.__init__(self, module, "hcloud_floating_ip_info")
self.hcloud_floating_ip_info = None
def _prepare_result(self):
tmp = []
for floating_ip in self.hcloud_floating_ip_facts:
for floating_ip in self.hcloud_floating_ip_info:
if floating_ip is not None:
server_name = None
if floating_ip.server is not None:
@ -128,14 +130,14 @@ class AnsibleHcloudFloatingIPFacts(Hcloud):
def get_floating_ips(self):
try:
if self.module.params.get("id") is not None:
self.hcloud_floating_ip_facts = [self.client.floating_ips.get_by_id(
self.hcloud_floating_ip_info = [self.client.floating_ips.get_by_id(
self.module.params.get("id")
)]
elif self.module.params.get("label_selector") is not None:
self.hcloud_floating_ip_facts = self.client.floating_ips.get_all(
self.hcloud_floating_ip_info = self.client.floating_ips.get_all(
label_selector=self.module.params.get("label_selector"))
else:
self.hcloud_floating_ip_facts = self.client.floating_ips.get_all()
self.hcloud_floating_ip_info = self.client.floating_ips.get_all()
except APIException as e:
self.module.fail_json(msg=e.message)
@ -153,16 +155,27 @@ class AnsibleHcloudFloatingIPFacts(Hcloud):
def main():
module = AnsibleHcloudFloatingIPFacts.define_module()
module = AnsibleHcloudFloatingIPInfo.define_module()
hcloud = AnsibleHcloudFloatingIPFacts(module)
is_old_facts = module._name == 'hcloud_floating_ip_facts'
if is_old_facts:
module.deprecate("The 'hcloud_floating_ip_facts' module has been renamed to 'hcloud_floating_ip_info', "
"and the renamed one no longer returns ansible_facts", version='2.13')
hcloud = AnsibleHcloudFloatingIPInfo(module)
hcloud.get_floating_ips()
result = hcloud.get_result()
ansible_facts = {
'hcloud_floating_ip_facts': result['hcloud_floating_ip_facts']
}
module.exit_json(ansible_facts=ansible_facts)
if is_old_facts:
ansible_info = {
'hcloud_floating_ip_facts': result['hcloud_floating_ip_info']
}
module.exit_json(ansible_facts=ansible_info)
else:
ansible_info = {
'hcloud_floating_ip_info': result['hcloud_floating_ip_info']
}
module.exit_json(**ansible_info)
if __name__ == "__main__":

@ -16,14 +16,16 @@ ANSIBLE_METADATA = {
DOCUMENTATION = """
---
module: hcloud_image_facts
module: hcloud_image_info
short_description: Gather facts about your Hetzner Cloud images.
short_description: Gather infos about your Hetzner Cloud images.
version_added: "2.8"
description:
- Gather facts about your Hetzner Cloud images.
- Gather infos about your Hetzner Cloud images.
- This module was called C(hcloud_location_facts) before Ansible 2.9, returning C(ansible_facts) and C(hcloud_location_facts).
Note that the M(hcloud_image_info) module no longer returns C(ansible_facts) and the value was renamed to C(hcloud_image_info)!
author:
- Lukas Kaemmerling (@LKaemmerling)
@ -46,22 +48,23 @@ options:
- The label selector for the images you want to get.
default: system
choices: [ system, snapshot, backup ]
type: str
extends_documentation_fragment: hcloud
"""
EXAMPLES = """
- name: Gather hcloud image facts
local_action:
module: hcloud_image_facts
- name: Gather hcloud image infos
hcloud_image_info:
register: output
- name: Print the gathered facts
- name: Print the gathered infos
debug:
var: ansible_facts.hcloud_image_facts
var: output
"""
RETURN = """
hcloud_image_facts:
description: The image facts as list
hcloud_image_info:
description: The image infos as list
returned: always
type: complex
contains:
@ -116,15 +119,15 @@ except ImportError:
pass
class AnsibleHcloudImageFacts(Hcloud):
class AnsibleHcloudImageInfo(Hcloud):
def __init__(self, module):
Hcloud.__init__(self, module, "hcloud_image_facts")
self.hcloud_image_facts = None
Hcloud.__init__(self, module, "hcloud_image_info")
self.hcloud_image_info = None
def _prepare_result(self):
tmp = []
for image in self.hcloud_image_facts:
for image in self.hcloud_image_info:
if image is not None:
tmp.append({
"id": to_native(image.id),
@ -138,14 +141,14 @@ class AnsibleHcloudImageFacts(Hcloud):
})
return tmp
def get_servers(self):
def get_images(self):
try:
if self.module.params.get("id") is not None:
self.hcloud_image_facts = [self.client.images.get_by_id(
self.hcloud_image_info = [self.client.images.get_by_id(
self.module.params.get("id")
)]
elif self.module.params.get("name") is not None:
self.hcloud_image_facts = [self.client.images.get_by_name(
self.hcloud_image_info = [self.client.images.get_by_name(
self.module.params.get("name")
)]
else:
@ -158,7 +161,7 @@ class AnsibleHcloudImageFacts(Hcloud):
if image_type:
params["type"] = image_type
self.hcloud_image_facts = self.client.images.get_all(**params)
self.hcloud_image_info = self.client.images.get_all(**params)
except APIException as e:
self.module.fail_json(msg=e.message)
@ -170,7 +173,7 @@ class AnsibleHcloudImageFacts(Hcloud):
id={"type": "int"},
name={"type": "str"},
label_selector={"type": "str"},
type={"choices": ["system", "snapshot", "backup"], "default": "system"},
type={"choices": ["system", "snapshot", "backup"], "default": "system", "type": "str"},
**Hcloud.base_module_arguments()
),
supports_check_mode=True,
@ -178,15 +181,27 @@ class AnsibleHcloudImageFacts(Hcloud):
def main():
module = AnsibleHcloudImageFacts.define_module()
module = AnsibleHcloudImageInfo.define_module()
is_old_facts = module._name == 'hcloud_image_facts'
if is_old_facts:
module.deprecate("The 'hcloud_image_facts' module has been renamed to 'hcloud_image_info', "
"and the renamed one no longer returns ansible_facts", version='2.13')
hcloud = AnsibleHcloudImageFacts(module)
hcloud.get_servers()
hcloud = AnsibleHcloudImageInfo(module)
hcloud.get_images()
result = hcloud.get_result()
ansible_facts = {
'hcloud_image_facts': result['hcloud_image_facts']
}
module.exit_json(ansible_facts=ansible_facts)
if is_old_facts:
ansible_info = {
'hcloud_imagen_facts': result['hcloud_image_info']
}
module.exit_json(ansible_s=ansible_info)
else:
ansible_info = {
'hcloud_image_info': result['hcloud_image_info']
}
module.exit_json(**ansible_info)
if __name__ == "__main__":

@ -16,14 +16,16 @@ ANSIBLE_METADATA = {
DOCUMENTATION = """
---
module: hcloud_location_facts
module: hcloud_location_info
short_description: Gather facts about your Hetzner Cloud locations.
short_description: Gather infos about your Hetzner Cloud locations.
version_added: "2.8"
description:
- Gather facts about your Hetzner Cloud locations.
- Gather infos about your Hetzner Cloud locations.
- This module was called C(hcloud_location_facts) before Ansible 2.9, returning C(ansible_facts) and C(hcloud_location_facts).
Note that the M(hcloud_location_info) module no longer returns C(ansible_facts) and the value was renamed to C(hcloud_location_info)!
author:
- Lukas Kaemmerling (@LKaemmerling)
@ -41,18 +43,18 @@ extends_documentation_fragment: hcloud
"""
EXAMPLES = """
- name: Gather hcloud location facts
local_action:
module: hcloud_location_facts
- name: Gather hcloud location infos
hcloud_location_info:
register: output
- name: Print the gathered facts
- name: Print the gathered infos
debug:
var: ansible_facts.hcloud_location_facts
var: output
"""
RETURN = """
hcloud_location_facts:
description: The location facts as list
hcloud_location_info:
description: The location infos as list
returned: always
type: complex
contains:
@ -93,15 +95,15 @@ except ImportError:
pass
class AnsibleHcloudLocationFacts(Hcloud):
class AnsibleHcloudLocationInfo(Hcloud):
def __init__(self, module):
Hcloud.__init__(self, module, "hcloud_location_facts")
self.hcloud_location_facts = None
Hcloud.__init__(self, module, "hcloud_location_info")
self.hcloud_location_info = None
def _prepare_result(self):
tmp = []
for location in self.hcloud_location_facts:
for location in self.hcloud_location_info:
if location is not None:
tmp.append({
"id": to_native(location.id),
@ -115,15 +117,15 @@ class AnsibleHcloudLocationFacts(Hcloud):
def get_locations(self):
try:
if self.module.params.get("id") is not None:
self.hcloud_location_facts = [self.client.locations.get_by_id(
self.hcloud_location_info = [self.client.locations.get_by_id(
self.module.params.get("id")
)]
elif self.module.params.get("name") is not None:
self.hcloud_location_facts = [self.client.locations.get_by_name(
self.hcloud_location_info = [self.client.locations.get_by_name(
self.module.params.get("name")
)]
else:
self.hcloud_location_facts = self.client.locations.get_all()
self.hcloud_location_info = self.client.locations.get_all()
except APIException as e:
self.module.fail_json(msg=e.message)
@ -141,15 +143,26 @@ class AnsibleHcloudLocationFacts(Hcloud):
def main():
module = AnsibleHcloudLocationFacts.define_module()
module = AnsibleHcloudLocationInfo.define_module()
hcloud = AnsibleHcloudLocationFacts(module)
is_old_facts = module._name == 'hcloud_location_facts'
if is_old_facts:
module.deprecate("The 'hcloud_location_info' module has been renamed to 'hcloud_location_info', "
"and the renamed one no longer returns ansible_facts", version='2.13')
hcloud = AnsibleHcloudLocationInfo(module)
hcloud.get_locations()
result = hcloud.get_result()
ansible_facts = {
'hcloud_location_facts': result['hcloud_location_facts']
}
module.exit_json(ansible_facts=ansible_facts)
if is_old_facts:
ansible_info = {
'hcloud_location_facts': result['hcloud_location_info']
}
module.exit_json(ansible_s=ansible_info)
else:
ansible_info = {
'hcloud_location_info': result['hcloud_location_info']
}
module.exit_json(**ansible_info)
if __name__ == "__main__":

@ -16,14 +16,16 @@ ANSIBLE_METADATA = {
DOCUMENTATION = """
---
module: hcloud_server_facts
module: hcloud_server_info
short_description: Gather facts about your Hetzner Cloud servers.
short_description: Gather infos about your Hetzner Cloud servers.
version_added: "2.8"
description:
- Gather facts about your Hetzner Cloud servers.
- Gather infos about your Hetzner Cloud servers.
- This module was called C(hcloud_server_facts) before Ansible 2.9, returning C(ansible_facts) and C(hcloud_server_facts).
Note that the M(hcloud_server_info) module no longer returns C(ansible_facts) and the value was renamed to C(hcloud_server_info)!
author:
- Lukas Kaemmerling (@LKaemmerling)
@ -45,18 +47,18 @@ extends_documentation_fragment: hcloud
"""
EXAMPLES = """
- name: Gather hcloud server facts
local_action:
module: hcloud_server_facts
- name: Gather hcloud server infos
hcloud_server_info:
register: output
- name: Print the gathered facts
- name: Print the gathered infos
debug:
var: ansible_facts.hcloud_server_facts
var: output.hcloud_server_info
"""
RETURN = """
hcloud_server_facts:
description: The server facts as list
hcloud_server_info:
description: The server infos as list
returned: always
type: complex
contains:
@ -126,15 +128,15 @@ except ImportError:
pass
class AnsibleHcloudServerFacts(Hcloud):
class AnsibleHcloudServerInfo(Hcloud):
def __init__(self, module):
Hcloud.__init__(self, module, "hcloud_server_facts")
self.hcloud_server_facts = None
Hcloud.__init__(self, module, "hcloud_server_info")
self.hcloud_server_info = None
def _prepare_result(self):
tmp = []
for server in self.hcloud_server_facts:
for server in self.hcloud_server_info:
if server is not None:
tmp.append({
"id": to_native(server.id),
@ -155,18 +157,18 @@ class AnsibleHcloudServerFacts(Hcloud):
def get_servers(self):
try:
if self.module.params.get("id") is not None:
self.hcloud_server_facts = [self.client.servers.get_by_id(
self.hcloud_server_info = [self.client.servers.get_by_id(
self.module.params.get("id")
)]
elif self.module.params.get("name") is not None:
self.hcloud_server_facts = [self.client.servers.get_by_name(
self.hcloud_server_info = [self.client.servers.get_by_name(
self.module.params.get("name")
)]
elif self.module.params.get("label_selector") is not None:
self.hcloud_server_facts = self.client.servers.get_all(
self.hcloud_server_info = self.client.servers.get_all(
label_selector=self.module.params.get("label_selector"))
else:
self.hcloud_server_facts = self.client.servers.get_all()
self.hcloud_server_info = self.client.servers.get_all()
except APIException as e:
self.module.fail_json(msg=e.message)
@ -185,15 +187,27 @@ class AnsibleHcloudServerFacts(Hcloud):
def main():
module = AnsibleHcloudServerFacts.define_module()
module = AnsibleHcloudServerInfo.define_module()
hcloud = AnsibleHcloudServerFacts(module)
is_old_facts = module._name == 'hcloud_server_facts'
if is_old_facts:
module.deprecate("The 'hcloud_server_facts' module has been renamed to 'hcloud_server_info', "
"and the renamed one no longer returns ansible_facts", version='2.13')
hcloud = AnsibleHcloudServerInfo(module)
hcloud.get_servers()
result = hcloud.get_result()
ansible_facts = {
'hcloud_server_facts': result['hcloud_server_facts']
}
module.exit_json(ansible_facts=ansible_facts)
if is_old_facts:
ansible_info = {
'hcloud_server_facts': result['hcloud_server_info']
}
module.exit_json(ansible_facts=ansible_info)
else:
ansible_info = {
'hcloud_server_info': result['hcloud_server_info']
}
module.exit_json(**ansible_info)
if __name__ == "__main__":

@ -16,14 +16,16 @@ ANSIBLE_METADATA = {
DOCUMENTATION = """
---
module: hcloud_server_type_facts
module: hcloud_server_type_info
short_description: Gather facts about the Hetzner Cloud server types.
short_description: Gather infos about the Hetzner Cloud server types.
version_added: "2.8"
description:
- Gather facts about your Hetzner Cloud server types.
- Gather infos about your Hetzner Cloud server types.
- This module was called C(hcloud_server_type_facts) before Ansible 2.9, returning C(ansible_facts) and C(hcloud_server_type_facts).
Note that the M(hcloud_server_type_info) module no longer returns C(ansible_facts) and the value was renamed to C(hcloud_server_type_info)!
author:
- Lukas Kaemmerling (@LKaemmerling)
@ -41,18 +43,18 @@ extends_documentation_fragment: hcloud
"""
EXAMPLES = """
- name: Gather hcloud server type facts
local_action:
module: hcloud_server_type_facts
- name: Gather hcloud server type infos
hcloud_server_type_info:
register: output
- name: Print the gathered facts
- name: Print the gathered infos
debug:
var: ansible_facts.hcloud_server_type_facts
var: output.hcloud_server_type_info
"""
RETURN = """
hcloud_server_type_facts:
description: The server type facts as list
hcloud_server_type_info:
description: The server type infos as list
returned: always
type: complex
contains:
@ -108,15 +110,15 @@ except ImportError:
pass
class AnsibleHcloudLocationFacts(Hcloud):
class AnsibleHcloudServerTypeInfo(Hcloud):
def __init__(self, module):
Hcloud.__init__(self, module, "hcloud_server_type_facts")
self.hcloud_server_type_facts = None
Hcloud.__init__(self, module, "hcloud_server_type_info")
self.hcloud_server_type_info = None
def _prepare_result(self):
tmp = []
for server_type in self.hcloud_server_type_facts:
for server_type in self.hcloud_server_type_info:
if server_type is not None:
tmp.append({
"id": to_native(server_type.id),
@ -133,15 +135,15 @@ class AnsibleHcloudLocationFacts(Hcloud):
def get_server_types(self):
try:
if self.module.params.get("id") is not None:
self.hcloud_server_type_facts = [self.client.server_types.get_by_id(
self.hcloud_server_type_info = [self.client.server_types.get_by_id(
self.module.params.get("id")
)]
elif self.module.params.get("name") is not None:
self.hcloud_server_type_facts = [self.client.server_types.get_by_name(
self.hcloud_server_type_info = [self.client.server_types.get_by_name(
self.module.params.get("name")
)]
else:
self.hcloud_server_type_facts = self.client.server_types.get_all()
self.hcloud_server_type_info = self.client.server_types.get_all()
except APIException as e:
self.module.fail_json(msg=e.message)
@ -159,15 +161,26 @@ class AnsibleHcloudLocationFacts(Hcloud):
def main():
module = AnsibleHcloudLocationFacts.define_module()
module = AnsibleHcloudServerTypeInfo.define_module()
hcloud = AnsibleHcloudLocationFacts(module)
is_old_facts = module._name == 'hcloud_server_type_facts'
if is_old_facts:
module.deprecate("The 'hcloud_server_type_info' module has been renamed to 'hcloud_server_type_info', "
"and the renamed one no longer returns ansible_facts", version='2.13')
hcloud = AnsibleHcloudServerTypeInfo(module)
hcloud.get_server_types()
result = hcloud.get_result()
ansible_facts = {
'hcloud_server_type_facts': result['hcloud_server_type_facts']
}
module.exit_json(ansible_facts=ansible_facts)
if is_old_facts:
ansible_info = {
'hcloud_server_type_info': result['hcloud_server_type_info']
}
module.exit_json(ansible_facts=ansible_info)
else:
ansible_info = {
'hcloud_server_type_info': result['hcloud_server_type_info']
}
module.exit_json(**ansible_info)
if __name__ == "__main__":

@ -16,11 +16,13 @@ ANSIBLE_METADATA = {
DOCUMENTATION = """
---
module: hcloud_ssh_key_facts
short_description: Gather facts about your Hetzner Cloud ssh_keys.
module: hcloud_ssh_key_info
short_description: Gather infos about your Hetzner Cloud ssh_keys.
version_added: "2.8"
description:
- Gather facts about your Hetzner Cloud ssh_keys.
- This module was called C(hcloud_ssh_key_facts) before Ansible 2.9, returning C(ansible_facts) and C(hcloud_ssh_key_facts).
Note that the M(hcloud_ssh_key_info) module no longer returns C(ansible_facts) and the value was renamed to C(hcloud_ssh_key_info)!
author:
- Christopher Schmitt (@cschmitt-hcloud)
options:
@ -44,16 +46,16 @@ extends_documentation_fragment: hcloud
"""
EXAMPLES = """
- name: Gather hcloud sshkey facts
local_action:
module: hcloud_ssh_key_facts
- name: Print the gathered facts
- name: Gather hcloud sshkey infos
hcloud_ssh_key_info:
register: output
- name: Print the gathered infos
debug:
var: ansible_facts.hcloud_ssh_key_facts
var: output.hcloud_ssh_key_info
"""
RETURN = """
hcloud_ssh_key_facts:
hcloud_ssh_key_info:
description: The ssh key instances
returned: Always
type: complex
@ -93,15 +95,15 @@ except ImportError:
pass
class AnsibleHcloudSSHKeyFacts(Hcloud):
class AnsibleHcloudSSHKeyInfo(Hcloud):
def __init__(self, module):
Hcloud.__init__(self, module, "hcloud_ssh_key_facts")
self.hcloud_ssh_key_facts = None
Hcloud.__init__(self, module, "hcloud_ssh_key_info")
self.hcloud_ssh_key_info = None
def _prepare_result(self):
ssh_keys = []
for ssh_key in self.hcloud_ssh_key_facts:
for ssh_key in self.hcloud_ssh_key_info:
if ssh_key:
ssh_keys.append({
"id": to_native(ssh_key.id),
@ -115,22 +117,22 @@ class AnsibleHcloudSSHKeyFacts(Hcloud):
def get_ssh_keys(self):
try:
if self.module.params.get("id") is not None:
self.hcloud_ssh_key_facts = [self.client.ssh_keys.get_by_id(
self.hcloud_ssh_key_info = [self.client.ssh_keys.get_by_id(
self.module.params.get("id")
)]
elif self.module.params.get("name") is not None:
self.hcloud_ssh_key_facts = [self.client.ssh_keys.get_by_name(
self.hcloud_ssh_key_info = [self.client.ssh_keys.get_by_name(
self.module.params.get("name")
)]
elif self.module.params.get("fingerprint") is not None:
self.hcloud_ssh_key_facts = [self.client.ssh_keys.get_by_fingerprint(
self.hcloud_ssh_key_info = [self.client.ssh_keys.get_by_fingerprint(
self.module.params.get("fingerprint")
)]
elif self.module.params.get("label_selector") is not None:
self.hcloud_ssh_key_facts = self.client.ssh_keys.get_all(
self.hcloud_ssh_key_info = self.client.ssh_keys.get_all(
label_selector=self.module.params.get("label_selector"))
else:
self.hcloud_ssh_key_facts = self.client.ssh_keys.get_all()
self.hcloud_ssh_key_info = self.client.ssh_keys.get_all()
except APIException as e:
self.module.fail_json(msg=e.message)
@ -150,15 +152,27 @@ class AnsibleHcloudSSHKeyFacts(Hcloud):
def main():
module = AnsibleHcloudSSHKeyFacts.define_module()
module = AnsibleHcloudSSHKeyInfo.define_module()
hcloud = AnsibleHcloudSSHKeyFacts(module)
is_old_facts = module._name == 'hcloud_ssh_key_facts'
if is_old_facts:
module.deprecate("The 'hcloud_ssh_key_facts' module has been renamed to 'hcloud_ssh_key_info', "
"and the renamed one no longer returns ansible_facts", version='2.13')
hcloud = AnsibleHcloudSSHKeyInfo(module)
hcloud.get_ssh_keys()
result = hcloud.get_result()
ansible_facts = {
'hcloud_ssh_key_facts': result['hcloud_ssh_key_facts']
}
module.exit_json(ansible_facts=ansible_facts)
if is_old_facts:
ansible_info = {
'hcloud_ssh_key_facts': result['hcloud_ssh_key_info']
}
module.exit_json(ansible_facts=ansible_info)
else:
ansible_info = {
'hcloud_ssh_key_info': result['hcloud_ssh_key_info']
}
module.exit_json(**ansible_info)
if __name__ == "__main__":

@ -16,13 +16,13 @@ ANSIBLE_METADATA = {
DOCUMENTATION = """
---
module: hcloud_volume_facts
module: hcloud_volume_info
short_description: Gather facts about your Hetzner Cloud volumes.
short_description: Gather infos about your Hetzner Cloud volumes.
version_added: "2.8"
description:
- Gather facts about your Hetzner Cloud volumes.
- Gather infos about your Hetzner Cloud volumes.
author:
- Lukas Kaemmerling (@LKaemmerling)
@ -44,17 +44,17 @@ extends_documentation_fragment: hcloud
"""
EXAMPLES = """
- name: Gather hcloud volume facts
local_action:
module: hcloud_volume_facts
- name: Print the gathered facts
- name: Gather hcloud volume infos
hcloud_volume_info:
register: output
- name: Print the gathered infos
debug:
var: ansible_facts.hcloud_volume_facts
var: output.hcloud_volume_info
"""
RETURN = """
hcloud_volume_facts:
description: The volume facts as list
hcloud_volume_info:
description: The volume infos as list
returned: always
type: complex
contains:
@ -99,15 +99,15 @@ except ImportError:
pass
class AnsibleHcloudVolumeFacts(Hcloud):
class AnsibleHcloudVolumeInfo(Hcloud):
def __init__(self, module):
Hcloud.__init__(self, module, "hcloud_volume_facts")
self.hcloud_volume_facts = None
Hcloud.__init__(self, module, "hcloud_volume_info")
self.hcloud_volume_info = None
def _prepare_result(self):
tmp = []
for volume in self.hcloud_volume_facts:
for volume in self.hcloud_volume_info:
if volume is not None:
server_name = None
if volume.server is not None:
@ -126,18 +126,18 @@ class AnsibleHcloudVolumeFacts(Hcloud):
def get_volumes(self):
try:
if self.module.params.get("id") is not None:
self.hcloud_volume_facts = [self.client.volumes.get_by_id(
self.hcloud_volume_info = [self.client.volumes.get_by_id(
self.module.params.get("id")
)]
elif self.module.params.get("name") is not None:
self.hcloud_volume_facts = [self.client.volumes.get_by_name(
self.hcloud_volume_info = [self.client.volumes.get_by_name(
self.module.params.get("name")
)]
elif self.module.params.get("label_selector") is not None:
self.hcloud_volume_facts = self.client.volumes.get_all(
self.hcloud_volume_info = self.client.volumes.get_all(
label_selector=self.module.params.get("label_selector"))
else:
self.hcloud_volume_facts = self.client.volumes.get_all()
self.hcloud_volume_info = self.client.volumes.get_all()
except APIException as e:
self.module.fail_json(msg=e.message)
@ -156,16 +156,27 @@ class AnsibleHcloudVolumeFacts(Hcloud):
def main():
module = AnsibleHcloudVolumeFacts.define_module()
module = AnsibleHcloudVolumeInfo.define_module()
hcloud = AnsibleHcloudVolumeFacts(module)
is_old_facts = module._name == 'hcloud_volume_facts'
if is_old_facts:
module.deprecate("The 'hcloud_volume_facts' module has been renamed to 'hcloud_volume_info', "
"and the renamed one no longer returns ansible_facts", version='2.13')
hcloud = AnsibleHcloudVolumeInfo(module)
hcloud.get_volumes()
result = hcloud.get_result()
ansible_facts = {
'hcloud_volume_facts': result['hcloud_volume_facts']
}
module.exit_json(ansible_facts=ansible_facts)
if is_old_facts:
ansible_info = {
'hcloud_volume_facts': result['hcloud_volume_info']
}
module.exit_json(ansible_facts=ansible_info)
else:
ansible_info = {
'hcloud_volume_info': result['hcloud_volume_info']
}
module.exit_json(**ansible_info)
if __name__ == "__main__":

@ -1,36 +0,0 @@
# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: test gather hcloud datacenter facts
hcloud_datacenter_facts:
- name: verify test gather hcloud datacenter facts
assert:
that:
- ansible_facts.hcloud_datacenter_facts| list | count == 3
- name: test gather hcloud datacenter facts in check mode
hcloud_datacenter_facts:
check_mode: yes
- name: verify test gather hcloud datacenter facts in check mode
assert:
that:
- ansible_facts.hcloud_datacenter_facts| list | count == 3
- name: test gather hcloud datacenter facts with correct name
hcloud_datacenter_facts:
name: "{{hcloud_datacenter_name}}"
- name: verify test gather hcloud datacenter with correct name
assert:
that:
- ansible_facts.hcloud_datacenter_facts|selectattr('name','equalto','{{ hcloud_datacenter_name }}') |selectattr('location','equalto','{{ hcloud_location_name }}') | list | count == 1
- name: test gather hcloud datacenter facts with correct id
hcloud_datacenter_facts:
id: "{{hcloud_datacenter_id}}"
- name: verify test gather hcloud datacenter with correct id
assert:
that:
- ansible_facts.hcloud_datacenter_facts|selectattr('name','equalto','{{ hcloud_datacenter_name }}') | list | count == 1

@ -0,0 +1,40 @@
# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: test gather hcloud datacenter infos
hcloud_datacenter_info:
register: hcloud_datacenters
- name: verify test gather hcloud datacenter infos
assert:
that:
- hcloud_datacenters.hcloud_datacenter_info| list | count == 3
- name: test gather hcloud datacenter infos in check mode
hcloud_datacenter_info:
register: hcloud_datacenters
check_mode: yes
- name: verify test gather hcloud datacenter infos in check mode
assert:
that:
- hcloud_datacenters.hcloud_datacenter_info| list | count == 3
- name: test gather hcloud datacenter infos with correct name
hcloud_datacenter_info:
name: "{{hcloud_datacenter_name}}"
register: hcloud_datacenter
- name: verify test gather hcloud datacenter with correct name
assert:
that:
- hcloud_datacenter.hcloud_datacenter_info|selectattr('name','equalto','{{ hcloud_datacenter_name }}') |selectattr('location','equalto','{{ hcloud_location_name }}') | list | count == 1
- name: test gather hcloud datacenter infos with correct id
hcloud_datacenter_info:
id: "{{hcloud_datacenter_id}}"
register: hcloud_datacenter
- name: verify test gather hcloud datacenter with correct id
assert:
that:
- hcloud_datacenter.hcloud_datacenter_info|selectattr('name','equalto','{{ hcloud_datacenter_name }}') | list | count == 1

@ -1,53 +0,0 @@
# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: test gather hcloud floating ip facts
hcloud_floating_ip_facts:
- name: verify test gather hcloud floating ip facts in check mode
assert:
that:
- ansible_facts.hcloud_floating_ip_facts| list | count == 1
- name: test gather hcloud floating ip facts in check mode
hcloud_floating_ip_facts:
check_mode: yes
- name: verify test gather hcloud floating ip facts in check mode
assert:
that:
- ansible_facts.hcloud_floating_ip_facts| list | count == 1
- name: test gather hcloud floating ip facts with correct label selector
hcloud_floating_ip_facts:
label_selector: "key=value"
- name: verify test gather hcloud floating ip with correct label selector
assert:
that:
- ansible_facts.hcloud_floating_ip_facts|selectattr('description','equalto','{{ hcloud_test_floating_ip_name }}') | list | count == 1
- name: test gather hcloud floating ip facts with wrong label selector
hcloud_floating_ip_facts:
label_selector: "key!=value"
- name: verify test gather hcloud floating ip with wrong label selector
assert:
that:
- ansible_facts.hcloud_floating_ip_facts | list | count == 0
- name: test gather hcloud floating ip facts with correct id
hcloud_floating_ip_facts:
id: "{{hcloud_test_floating_ip_id}}"
- name: verify test gather hcloud floating ip with correct id
assert:
that:
- ansible_facts.hcloud_floating_ip_facts|selectattr('description','equalto','{{ hcloud_test_floating_ip_name }}') | list | count == 1
- name: test gather hcloud floating ip facts with wrong id
hcloud_floating_ip_facts:
id: "{{hcloud_test_floating_ip_id}}1"
register: result
ignore_errors: yes
- name: verify test gather hcloud floating ip with wrong id
assert:
that:
- result is failed

@ -0,0 +1,58 @@
# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: test gather hcloud floating ip infos
hcloud_floating_ip_info:
register: hcloud_floating_ips
- name: verify test gather hcloud floating ip infos in check mode
assert:
that:
- hcloud_floating_ips.hcloud_floating_ip_info| list | count == 1
- name: test gather hcloud floating ip infos in check mode
hcloud_floating_ip_info:
check_mode: yes
register: hcloud_floating_ips
- name: verify test gather hcloud floating ip infos in check mode
assert:
that:
- hcloud_floating_ips.hcloud_floating_ip_info| list | count == 1
- name: test gather hcloud floating ip infos with correct label selector
hcloud_floating_ip_info:
label_selector: "key=value"
register: hcloud_floating_ips
- name: verify test gather hcloud floating ip with correct label selector
assert:
that:
- hcloud_floating_ips.hcloud_floating_ip_info|selectattr('description','equalto','{{ hcloud_test_floating_ip_name }}') | list | count == 1
- name: test gather hcloud floating ip infos with wrong label selector
hcloud_floating_ip_info:
label_selector: "key!=value"
register: hcloud_floating_ips
- name: verify test gather hcloud floating ip with wrong label selector
assert:
that:
- hcloud_floating_ips.hcloud_floating_ip_info | list | count == 0
- name: test gather hcloud floating ip infos with correct id
hcloud_floating_ip_info:
id: "{{hcloud_test_floating_ip_id}}"
register: hcloud_floating_ips
- name: verify test gather hcloud floating ip with correct id
assert:
that:
- hcloud_floating_ips.hcloud_floating_ip_info|selectattr('description','equalto','{{ hcloud_test_floating_ip_name }}') | list | count == 1
- name: test gather hcloud floating ip infos with wrong id
hcloud_floating_ip_info:
id: "{{hcloud_test_floating_ip_id}}1"
register: result
ignore_errors: yes
- name: verify test gather hcloud floating ip with wrong id
assert:
that:
- result is failed

@ -1,57 +0,0 @@
# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: test gather hcloud image facts with type system
hcloud_image_facts:
- name: verify test gather hcloud image facts in check mode
assert:
that:
- ansible_facts.hcloud_image_facts| list | count > 2
- name: test gather hcloud image facts in check mode
hcloud_image_facts:
check_mode: yes
- name: verify test gather hcloud image facts in check mode
assert:
that:
- ansible_facts.hcloud_image_facts| list | count > 2
- name: test gather hcloud image facts with correct label selector
hcloud_image_facts:
label_selector: "key=value"
type: snapshot
- name: verify test gather hcloud image with correct label selector
assert:
that:
- ansible_facts.hcloud_image_facts|selectattr('description','equalto','{{ hcloud_test_image_name }}') | list | count == 1
- name: test gather hcloud image facts with wrong label selector
hcloud_image_facts:
label_selector: "key!=value"
type: snapshot
- name: verify test gather hcloud image with wrong label selector
assert:
that:
- ansible_facts.hcloud_image_facts | list | count == 0
- name: test gather hcloud image facts with correct id
hcloud_image_facts:
id: "{{hcloud_test_image_id}}"
type: snapshot
- name: verify test gather hcloud image with correct id
assert:
that:
- ansible_facts.hcloud_image_facts|selectattr('description','equalto','{{ hcloud_test_image_name }}') | list | count == 1
- name: test gather hcloud image facts with wrong id
hcloud_image_facts:
id: "{{hcloud_test_image_id}}1"
type: snapshot
ignore_errors: yes
register: result
- name: verify test gather hcloud image with wrong id
assert:
that:
- result is failed

@ -0,0 +1,62 @@
# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: test gather hcloud image infos with type system
hcloud_image_info:
register: hcloud_images
- name: verify test gather hcloud image infos in check mode
assert:
that:
- hcloud_images.hcloud_image_info| list | count > 2
- name: test gather hcloud image infos in check mode
hcloud_image_info:
check_mode: yes
register: hcloud_images
- name: verify test gather hcloud image infos in check mode
assert:
that:
- hcloud_images.hcloud_image_info| list | count > 2
- name: test gather hcloud image infos with correct label selector
hcloud_image_info:
label_selector: "key=value"
type: snapshot
register: hcloud_images
- name: verify test gather hcloud image with correct label selector
assert:
that:
- hcloud_images.hcloud_image_info|selectattr('description','equalto','{{ hcloud_test_image_name }}') | list | count == 1
- name: test gather hcloud image infos with wrong label selector
hcloud_image_info:
label_selector: "key!=value"
type: snapshot
register: hcloud_images
- name: verify test gather hcloud image with wrong label selector
assert:
that:
- hcloud_images.hcloud_image_info | list | count == 0
- name: test gather hcloud image infos with correct id
hcloud_image_info:
id: "{{hcloud_test_image_id}}"
type: snapshot
register: hcloud_images
- name: verify test gather hcloud image with correct id
assert:
that:
- hcloud_images.hcloud_image_info|selectattr('description','equalto','{{ hcloud_test_image_name }}') | list | count == 1
- name: test gather hcloud image infos with wrong id
hcloud_image_info:
id: "{{hcloud_test_image_id}}1"
type: snapshot
ignore_errors: yes
register: result
- name: verify test gather hcloud image with wrong id
assert:
that:
- result is failed

@ -1,52 +0,0 @@
# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: test gather hcloud location facts
hcloud_location_facts:
- name: verify test gather hcloud location facts
assert:
that:
- ansible_facts.hcloud_location_facts| list | count == 3
- name: test gather hcloud location facts in check mode
hcloud_location_facts:
check_mode: yes
- name: verify test gather hcloud location facts in check mode
assert:
that:
- ansible_facts.hcloud_location_facts| list | count == 3
- name: test gather hcloud location facts with correct name
hcloud_location_facts:
name: "{{hcloud_location_name}}"
- name: verify test gather hcloud location with correct name
assert:
that:
- ansible_facts.hcloud_location_facts|selectattr('name','equalto','{{ hcloud_location_name }}') | list | count == 1
- name: test gather hcloud location facts with wrong name
hcloud_location_facts:
name: "{{hcloud_location_name}}1"
- name: verify test gather hcloud location with wrong name
assert:
that:
- ansible_facts.hcloud_location_facts | list | count == 0
- name: test gather hcloud location facts with correct id
hcloud_location_facts:
id: "{{hcloud_location_id}}"
- name: verify test gather hcloud location with correct id
assert:
that:
- ansible_facts.hcloud_location_facts|selectattr('name','equalto','{{ hcloud_location_name }}') | list | count == 1
- name: test gather hcloud location facts with wrong id
hcloud_location_facts:
name: "4711"
- name: verify test gather hcloud location with wrong id
assert:
that:
- ansible_facts.hcloud_location_facts | list | count == 0

@ -0,0 +1,57 @@
# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: test gather hcloud location infos
hcloud_location_info:
register: hcloud_location
- name: verify test gather hcloud location infos
assert:
that:
- hcloud_location.hcloud_location_info | list | count == 3
- name: test gather hcloud location infos in check mode
hcloud_location_info:
check_mode: yes
register: hcloud_location
- name: verify test gather hcloud location infos in check mode
assert:
that:
- hcloud_location.hcloud_location_info | list | count == 3
- name: test gather hcloud location infos with correct name
hcloud_location_info:
name: "{{hcloud_location_name}}"
register: hcloud_location
- name: verify test gather hcloud location with correct name
assert:
that:
- hcloud_location.hcloud_location_info|selectattr('name','equalto','{{ hcloud_location_name }}') | list | count == 1
- name: test gather hcloud location infos with wrong name
hcloud_location_info:
name: "{{hcloud_location_name}}1"
register: hcloud_location
- name: verify test gather hcloud location with wrong name
assert:
that:
- hcloud_location.hcloud_location_info | list | count == 0
- name: test gather hcloud location infos with correct id
hcloud_location_info:
id: "{{hcloud_location_id}}"
register: hcloud_location
- name: verify test gather hcloud location with correct id
assert:
that:
- hcloud_location.hcloud_location_info|selectattr('name','equalto','{{ hcloud_location_name }}') | list | count == 1
- name: test gather hcloud location infos with wrong id
hcloud_location_info:
name: "4711"
register: hcloud_location
- name: verify test gather hcloud location with wrong id
assert:
that:
- hcloud_location.hcloud_location_info | list | count == 0

@ -1,90 +0,0 @@
# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: setup ensure server is absent
hcloud_server:
name: "{{ hcloud_server_name }}"
state: absent
register: result
- name: create server
hcloud_server:
name: "{{ hcloud_server_name }}"
server_type: cx11
image: ubuntu-18.04
state: started
labels:
key: value
register: main_server
- name: verify create server
assert:
that:
- main_server is changed
- main_server.hcloud_server.name == "{{ hcloud_server_name }}"
- main_server.hcloud_server.server_type == "cx11"
- main_server.hcloud_server.status == "running"
- main_server.root_password != ""
- name: test gather hcloud server facts in check mode
hcloud_server_facts:
check_mode: yes
- name: verify test gather hcloud server facts in check mode
assert:
that:
- ansible_facts.hcloud_server_facts|selectattr('name','equalto','{{ hcloud_server_name }}') | list | count == 1
- name: test gather hcloud server facts with correct label selector
hcloud_server_facts:
label_selector: "key=value"
- name: verify test gather hcloud server with correct label selector
assert:
that:
- ansible_facts.hcloud_server_facts|selectattr('name','equalto','{{ hcloud_server_name }}') | list | count == 1
- name: test gather hcloud server facts with wrong label selector
hcloud_server_facts:
label_selector: "key!=value"
- name: verify test gather hcloud server with wrong label selector
assert:
that:
- ansible_facts.hcloud_server_facts | list | count == 0
- name: test gather hcloud server facts with correct name
hcloud_server_facts:
name: "{{hcloud_server_name}}"
- name: verify test gather hcloud server with correct name
assert:
that:
- ansible_facts.hcloud_server_facts|selectattr('name','equalto','{{ hcloud_server_name }}') | list | count == 1
- name: test gather hcloud server facts with wrong name
hcloud_server_facts:
name: "{{hcloud_server_name}}1"
- name: verify test gather hcloud server with wrong name
assert:
that:
- ansible_facts.hcloud_server_facts | list | count == 0
- name: test gather hcloud server facts with correct id
hcloud_server_facts:
id: "{{main_server.hcloud_server.id}}"
- name: verify test gather hcloud server with correct id
assert:
that:
- ansible_facts.hcloud_server_facts|selectattr('name','equalto','{{ hcloud_server_name }}') | list | count == 1
- name: test gather hcloud server facts with wrong id
hcloud_server_facts:
name: "4711"
- name: verify test gather hcloud server with wrong id
assert:
that:
- ansible_facts.hcloud_server_facts | list | count == 0
- name: cleanup
hcloud_server:
name: "{{ hcloud_server_name }}"
state: absent

@ -0,0 +1,97 @@
# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: setup ensure server is absent
hcloud_server:
name: "{{ hcloud_server_name }}"
state: absent
register: result
- name: create server
hcloud_server:
name: "{{ hcloud_server_name }}"
server_type: cx11
image: ubuntu-18.04
state: started
labels:
key: value
register: main_server
- name: verify create server
assert:
that:
- main_server is changed
- main_server.hcloud_server.name == "{{ hcloud_server_name }}"
- main_server.hcloud_server.server_type == "cx11"
- main_server.hcloud_server.status == "running"
- main_server.root_password != ""
- name: test gather hcloud server infos in check mode
hcloud_server_info:
register: hcloud_server
check_mode: yes
- name: verify test gather hcloud server infos in check mode
assert:
that:
- hcloud_server.hcloud_server_info|selectattr('name','equalto','{{ hcloud_server_name }}') | list | count == 1
- name: test gather hcloud server infos with correct label selector
hcloud_server_info:
label_selector: "key=value"
register: hcloud_server
- name: verify test gather hcloud server infos with correct label selector
assert:
that:
- hcloud_server.hcloud_server_info|selectattr('name','equalto','{{ hcloud_server_name }}') | list | count == 1
- name: test gather hcloud server infos with wrong label selector
hcloud_server_info:
label_selector: "key!=value"
register: hcloud_server
- name: verify test gather hcloud server infos with wrong label selector
assert:
that:
- hcloud_server.hcloud_server_info | list | count == 0
- name: test gather hcloud server infos with correct name
hcloud_server_info:
name: "{{hcloud_server_name}}"
register: hcloud_server
- name: verify test gather hcloud server infos with correct name
assert:
that:
- hcloud_server.hcloud_server_info|selectattr('name','equalto','{{ hcloud_server_name }}') | list | count == 1
- name: test gather hcloud server infos with wrong name
hcloud_server_info:
name: "{{hcloud_server_name}}1"
register: hcloud_server
- name: verify test gather hcloud server infos with wrong name
assert:
that:
- hcloud_server.hcloud_server_info | list | count == 0
- name: test gather hcloud server infos with correct id
hcloud_server_info:
id: "{{main_server.hcloud_server.id}}"
register: hcloud_server
- name: verify test gather hcloud server infos with correct id
assert:
that:
- hcloud_server.hcloud_server_info|selectattr('name','equalto','{{ hcloud_server_name }}') | list | count == 1
- name: test gather hcloud server infos with wrong id
hcloud_server_info:
name: "4711"
register: hcloud_server
- name: verify test gather hcloud server infos with wrong id
assert:
that:
- hcloud_server.hcloud_server_info | list | count == 0
- name: cleanup
hcloud_server:
name: "{{ hcloud_server_name }}"
state: absent

@ -1,34 +0,0 @@
# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: test gather hcloud server type facts
hcloud_server_type_facts:
- name: verify test gather hcloud server type facts
assert:
that:
- ansible_facts.hcloud_server_type_facts| list | count > 2
- name: test gather hcloud server type facts in check mode
hcloud_server_type_facts:
check_mode: yes
- name: verify test gather hcloud server type facts in check mode
assert:
that:
- ansible_facts.hcloud_server_type_facts| list | count > 2
- name: test gather hcloud server type facts with name
hcloud_server_type_facts:
name: "{{hcloud_server_type_name}}"
- name: verify test gather hcloud server type with name
assert:
that:
- ansible_facts.hcloud_server_type_facts|selectattr('name','equalto','{{ hcloud_server_type_name }}') | list | count == 1
- name: test gather hcloud server type facts with correct id
hcloud_server_type_facts:
id: "{{hcloud_server_type_id}}"
- name: verify test gather hcloud server type with correct id
assert:
that:
- ansible_facts.hcloud_server_type_facts|selectattr('name','equalto','{{ hcloud_server_type_name }}') | list | count == 1

@ -0,0 +1,38 @@
# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: test gather hcloud server type infos
hcloud_server_type_info:
register: hcloud_server_types
- name: verify test gather hcloud server type infos
assert:
that:
- hcloud_server_types.hcloud_server_type_info| list | count > 2
- name: test gather hcloud server type infos in check mode
hcloud_server_type_info:
check_mode: yes
register: hcloud_server_types
- name: verify test gather hcloud server type infos in check mode
assert:
that:
- hcloud_server_types.hcloud_server_type_info| list | count > 2
- name: test gather hcloud server type infos with name
hcloud_server_type_info:
name: "{{hcloud_server_type_name}}"
register: hcloud_server_types
- name: verify test gather hcloud server type with name
assert:
that:
- hcloud_server_types.hcloud_server_type_info|selectattr('name','equalto','{{ hcloud_server_type_name }}') | list | count == 1
- name: test gather hcloud server type infos with correct id
hcloud_server_type_info:
id: "{{hcloud_server_type_id}}"
register: hcloud_server_types
- name: verify test gather hcloud server type with correct id
assert:
that:
- hcloud_server_types.hcloud_server_type_info|selectattr('name','equalto','{{ hcloud_server_type_name }}') | list | count == 1

@ -21,37 +21,41 @@
- result is changed
- result.hcloud_ssh_key.public_key == "{{ key_material }}"
- name: test gather hcloud ssh key facts in check mode
hcloud_ssh_key_facts:
- name: test gather hcloud ssh key infos in check mode
hcloud_ssh_key_info:
register: hcloud_ssh_key
check_mode: yes
- name: verify test gather hcloud ssh key facts in check mode
- name: verify test gather hcloud ssh key infos in check mode
assert:
that:
- ansible_facts.hcloud_ssh_key_facts| list | count >= 1
- hcloud_ssh_key.hcloud_ssh_key_info| list | count >= 1
- name: test gather hcloud ssh key facts
hcloud_ssh_key_facts:
- name: test gather hcloud ssh key infos
hcloud_ssh_key_info:
register: hcloud_ssh_key
check_mode: yes
- name: verify test gather hcloud ssh key facts
- name: verify test gather hcloud ssh key infos
assert:
that:
- ansible_facts.hcloud_ssh_key_facts| list | count >= 1
- hcloud_ssh_key.hcloud_ssh_key_info| list | count >= 1
- name: test gather hcloud ssh key facts with correct label selector
hcloud_ssh_key_facts:
- name: test gather hcloud ssh key infos with correct label selector
hcloud_ssh_key_info:
label_selector: "key=value"
- name: verify test gather hcloud ssh key with correct label selector
register: hcloud_ssh_key
- name: verify test gather hcloud ssh key infos with correct label selector
assert:
that:
- ansible_facts.hcloud_ssh_key_facts|selectattr('name','equalto','{{ hcloud_ssh_key_name }}') | list | count == 1
- hcloud_ssh_key.hcloud_ssh_key_info|selectattr('name','equalto','{{ hcloud_ssh_key_name }}') | list | count == 1
- name: test gather hcloud ssh key facts with wrong label selector
hcloud_ssh_key_facts:
- name: test gather hcloud ssh key infos with wrong label selector
hcloud_ssh_key_info:
label_selector: "key!=value"
- name: verify test gather hcloud ssh key with wrong label selector
register: hcloud_ssh_key
- name: verify test gather hcloud ssh key infos with wrong label selector
assert:
that:
- ansible_facts.hcloud_ssh_key_facts | list | count == 0
- hcloud_ssh_key.hcloud_ssh_key_info | list | count == 0
- name: cleanup
hcloud_ssh_key:

@ -1,88 +0,0 @@
# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: setup ensure volume is absent
hcloud_volume:
name: "{{ hcloud_volume_name }}"
state: absent
register: result
- name: setup volume
hcloud_volume:
name: "{{hcloud_volume_name}}"
size: 10
location: "fsn1"
labels:
key: value
register: main_volume
- name: verify setup volume
assert:
that:
- main_volume is changed
- name: test gather hcloud volume facts in check mode
hcloud_volume_facts:
check_mode: yes
- name: verify test gather hcloud volume facts in check mode
assert:
that:
- ansible_facts.hcloud_volume_facts|selectattr('name','equalto','{{ hcloud_volume_name }}') | list | count == 1
- name: test gather hcloud volume facts with correct label selector
hcloud_volume_facts:
label_selector: "key=value"
- name: verify test gather hcloud volume with correct label selector
assert:
that:
- ansible_facts.hcloud_volume_facts|selectattr('name','equalto','{{ hcloud_volume_name }}') | list | count == 1
- name: test gather hcloud volume facts with wrong label selector
hcloud_volume_facts:
label_selector: "key!=value"
- name: verify test gather hcloud volume with wrong label selector
assert:
that:
- ansible_facts.hcloud_volume_facts | list | count == 0
- name: test gather hcloud volume facts with correct name
hcloud_volume_facts:
name: "{{hcloud_volume_name}}"
- name: verify test gather hcloud volume with correct name
assert:
that:
- ansible_facts.hcloud_volume_facts|selectattr('name','equalto','{{ hcloud_volume_name }}') | list | count == 1
- name: test gather hcloud volume facts with wrong name
hcloud_volume_facts:
name: "{{hcloud_volume_name}}1"
- name: verify test gather hcloud volume with wrong name
assert:
that:
- ansible_facts.hcloud_volume_facts | list | count == 0
- name: test gather hcloud volume facts with correct id
hcloud_volume_facts:
id: "{{main_volume.hcloud_volume.id}}"
- name: verify test gather hcloud volume with correct id
assert:
that:
- ansible_facts.hcloud_volume_facts|selectattr('name','equalto','{{ hcloud_volume_name }}') | list | count == 1
- name: test gather hcloud volume facts with wrong id
hcloud_volume_facts:
name: "4711"
- name: verify test gather hcloud volume with wrong id
assert:
that:
- ansible_facts.hcloud_volume_facts | list | count == 0
- name: cleanup
hcloud_volume:
name: "{{ hcloud_volume_name }}"
state: absent
register: result
- name: verify cleanup
assert:
that:
- result is success

@ -0,0 +1,95 @@
# Copyright: (c) 2019, Hetzner Cloud GmbH <info@hetzner-cloud.de>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
---
- name: setup ensure volume is absent
hcloud_volume:
name: "{{ hcloud_volume_name }}"
state: absent
register: result
- name: setup volume
hcloud_volume:
name: "{{hcloud_volume_name}}"
size: 10
location: "fsn1"
labels:
key: value
register: main_volume
- name: verify setup volume
assert:
that:
- main_volume is changed
- name: test gather hcloud volume infos in check mode
hcloud_volume_info:
register: hcloud_volume
check_mode: yes
- name: verify test gather hcloud volume infos in check mode
assert:
that:
- hcloud_volume.hcloud_volume_info|selectattr('name','equalto','{{ hcloud_volume_name }}') | list | count == 1
- name: test gather hcloud volume infos with correct label selector
hcloud_volume_info:
label_selector: "key=value"
register: hcloud_volume
- name: verify test gather hcloud volume infos with correct label selector
assert:
that:
- hcloud_volume.hcloud_volume_info|selectattr('name','equalto','{{ hcloud_volume_name }}') | list | count == 1
- name: test gather hcloud volume infos with wrong label selector
hcloud_volume_info:
label_selector: "key!=value"
register: hcloud_volume
- name: verify test gather hcloud volume infos with wrong label selector
assert:
that:
- hcloud_volume.hcloud_volume_info | list | count == 0
- name: test gather hcloud volume infos with correct name
hcloud_volume_info:
name: "{{hcloud_volume_name}}"
register: hcloud_volume
- name: verify test gather hcloud volume infos with correct name
assert:
that:
- hcloud_volume.hcloud_volume_info|selectattr('name','equalto','{{ hcloud_volume_name }}') | list | count == 1
- name: test gather hcloud volume infos with wrong name
hcloud_volume_info:
name: "{{hcloud_volume_name}}1"
register: hcloud_volume
- name: verify test gather hcloud volume infos with wrong name
assert:
that:
- hcloud_volume.hcloud_volume_info | list | count == 0
- name: test gather hcloud volume facts with correct id
hcloud_volume_info:
id: "{{main_volume.hcloud_volume.id}}"
register: hcloud_volume
- name: verify test gather hcloud volume with correct id
assert:
that:
- hcloud_volume.hcloud_volume_info|selectattr('name','equalto','{{ hcloud_volume_name }}') | list | count == 1
- name: test gather hcloud volume infos with wrong id
hcloud_volume_info:
name: "4711"
register: hcloud_volume
- name: verify test gather hcloud volume infos with wrong id
assert:
that:
- hcloud_volume.hcloud_volume_info | list | count == 0
- name: cleanup
hcloud_volume:
name: "{{ hcloud_volume_name }}"
state: absent
register: result
- name: verify cleanup
assert:
that:
- result is success

@ -1518,7 +1518,6 @@ lib/ansible/modules/cloud/google/gcpubsub_info.py validate-modules:E322
lib/ansible/modules/cloud/google/gcpubsub_info.py validate-modules:E324
lib/ansible/modules/cloud/google/gcpubsub_info.py validate-modules:E326
lib/ansible/modules/cloud/google/gcpubsub_info.py validate-modules:E338
lib/ansible/modules/cloud/hcloud/hcloud_image_facts.py validate-modules:E338
lib/ansible/modules/cloud/heroku/heroku_collaborator.py validate-modules:E337
lib/ansible/modules/cloud/kubevirt/kubevirt_cdi_upload.py validate-modules:E338
lib/ansible/modules/cloud/kubevirt/kubevirt_preset.py validate-modules:E337

Loading…
Cancel
Save