diff --git a/plugins/modules/hcloud_placement_group.py b/plugins/modules/hcloud_placement_group.py index 2fd6e55..a31ab04 100644 --- a/plugins/modules/hcloud_placement_group.py +++ b/plugins/modules/hcloud_placement_group.py @@ -4,8 +4,9 @@ # Copyright: (c) 2020, Hetzner Cloud GmbH # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) -from ansible_collections.hetzner.hcloud.plugins.module_utils.hcloud import Hcloud +from __future__ import absolute_import, division, print_function +__metaclass__ = type DOCUMENTATION = """ --- @@ -110,9 +111,11 @@ hcloud_placement_group: - 4712 """ +from ansible_collections.hetzner.hcloud.plugins.module_utils.hcloud import Hcloud from ansible.module_utils.basic import AnsibleModule from ansible.module_utils._text import to_native + class AnsibleHcloudPlacementGroup(Hcloud): def __init__(self, module): Hcloud.__init__(self, module, "hcloud_placement_group") @@ -181,7 +184,7 @@ class AnsibleHcloudPlacementGroup(Hcloud): self._create_placement_group() else: self._update_placement_group() - + def delete_placement_group(self): self._get_placement_group() if self.hcloud_placement_group is not None: @@ -209,6 +212,7 @@ class AnsibleHcloudPlacementGroup(Hcloud): supports_check_mode=True, ) + def main(): module = AnsibleHcloudPlacementGroup.define_module() diff --git a/plugins/modules/hcloud_server.py b/plugins/modules/hcloud_server.py index a120311..9238afe 100644 --- a/plugins/modules/hcloud_server.py +++ b/plugins/modules/hcloud_server.py @@ -252,7 +252,7 @@ hcloud_server: type: str returned: always sample: 4711 - version_added: "1.4.5" + version_added: "1.5.0" datacenter: description: Name of the datacenter of the server returned: always @@ -541,7 +541,10 @@ class AnsibleHcloudServer(Hcloud): self._mark_as_changed() else: placement_group = self._get_placement_group() - if placement_group is not None and (self.hcloud_server.placement_group is None or self.hcloud_server.placement_group.id != placement_group.id): + if ( + placement_group is not None and + (self.hcloud_server.placement_group is None or self.hcloud_server.placement_group.id != placement_group.id) + ): self.stop_server_if_forced() if not self.module.check_mode: self.hcloud_server.add_to_placement_group(placement_group) @@ -563,9 +566,12 @@ class AnsibleHcloudServer(Hcloud): ).wait_until_finished(timeout) self._mark_as_changed() - if (not self.module.check_mode and - (self.module.params.get("state") == "present" and previous_server_status == Server.STATUS_RUNNING or - self.module.params.get("state") == "started") + if ( + not self.module.check_mode and + ( + self.module.params.get("state") == "present" and previous_server_status == Server.STATUS_RUNNING or + self.module.params.get("state") == "started" + ) ): self.start_server() @@ -619,8 +625,9 @@ class AnsibleHcloudServer(Hcloud): def stop_server_if_forced(self): previous_server_status = self.hcloud_server.status if previous_server_status == Server.STATUS_RUNNING and not self.module.check_mode: - if (self.module.params.get("force_upgrade") or - self.module.params.get("force") or + if ( + self.module.params.get("force_upgrade") or + self.module.params.get("force") or self.module.params.get("state") == "stopped" ): self.stop_server() # Only stopped server can be upgraded diff --git a/plugins/modules/hcloud_server_info.py b/plugins/modules/hcloud_server_info.py index 9a08fc4..f156496 100644 --- a/plugins/modules/hcloud_server_info.py +++ b/plugins/modules/hcloud_server_info.py @@ -97,7 +97,7 @@ hcloud_server_info: type: str returned: always sample: 4711 - version_added: "1.4.5" + version_added: "1.5.0" datacenter: description: Name of the datacenter of the server returned: always diff --git a/tests/integration/targets/hcloud_placement_group/defaults/main.yml b/tests/integration/targets/hcloud_placement_group/defaults/main.yml index 2b9a17b..7557ffb 100644 --- a/tests/integration/targets/hcloud_placement_group/defaults/main.yml +++ b/tests/integration/targets/hcloud_placement_group/defaults/main.yml @@ -2,5 +2,5 @@ # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) --- hcloud_prefix: "tests" -hcloud_placement_group_name: "{{hcloud_prefix}}-integration" -hcloud_server_name: "{{hcloud_prefix}}-integration" +hcloud_placement_group_name: "{{hcloud_prefix}}-i" +hcloud_server_name: "{{hcloud_prefix}}-i"