mirror of
https://github.com/ansible-collections/hetzner.hcloud
synced 2024-11-10 06:34:13 +00:00
refactor: add future annotations imports (#398)
##### SUMMARY This adds future annotations imports to benefit from the modern python typing system.
This commit is contained in:
parent
9905bd0e01
commit
df8c3b6a59
43 changed files with 275 additions and 126 deletions
|
@ -24,3 +24,4 @@ exclude_paths:
|
||||||
|
|
||||||
warn_list:
|
warn_list:
|
||||||
- internal-error
|
- internal-error
|
||||||
|
- sanity[cannot-ignore]
|
||||||
|
|
|
@ -7,6 +7,7 @@ Keep in mind that Azure Pipelines does not enforce unique job display names (onl
|
||||||
It is up to pipeline authors to avoid name collisions when deviating from the recommended format.
|
It is up to pipeline authors to avoid name collisions when deviating from the recommended format.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
"""Prepends a relative timestamp to each input line from stdin and writes it to stdout."""
|
"""Prepends a relative timestamp to each input line from stdin and writes it to stdout."""
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
|
|
|
@ -2,6 +2,9 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
|
||||||
class ModuleDocFragment:
|
class ModuleDocFragment:
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
options:
|
options:
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
# Copyright (c) 2019 Hetzner Cloud GmbH <info@hetzner-cloud.de>
|
# 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)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = r"""
|
DOCUMENTATION = r"""
|
||||||
name: hcloud
|
name: hcloud
|
||||||
short_description: Ansible dynamic inventory plugin for the Hetzner Cloud.
|
short_description: Ansible dynamic inventory plugin for the Hetzner Cloud.
|
||||||
|
@ -135,7 +137,6 @@ keyed_groups:
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
from ipaddress import IPv6Network
|
from ipaddress import IPv6Network
|
||||||
from typing import List, Optional, Tuple
|
|
||||||
|
|
||||||
from ansible.errors import AnsibleError
|
from ansible.errors import AnsibleError
|
||||||
from ansible.inventory.manager import InventoryData
|
from ansible.inventory.manager import InventoryData
|
||||||
|
@ -391,7 +392,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
||||||
"""Return the possibly of a file being consumable by this plugin."""
|
"""Return the possibly of a file being consumable by this plugin."""
|
||||||
return super().verify_file(path) and path.endswith(("hcloud.yaml", "hcloud.yml"))
|
return super().verify_file(path) and path.endswith(("hcloud.yaml", "hcloud.yml"))
|
||||||
|
|
||||||
def _get_cached_result(self, path, cache) -> Tuple[List[Optional[InventoryServer]], bool]:
|
def _get_cached_result(self, path, cache) -> tuple[list[InventoryServer | None], bool]:
|
||||||
# false when refresh_cache or --flush-cache is used
|
# false when refresh_cache or --flush-cache is used
|
||||||
if not cache:
|
if not cache:
|
||||||
return None, False
|
return None, False
|
||||||
|
@ -409,7 +410,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
||||||
|
|
||||||
return cached_result, True
|
return cached_result, True
|
||||||
|
|
||||||
def _update_cached_result(self, path, cache, result: List[InventoryServer]):
|
def _update_cached_result(self, path, cache, result: list[InventoryServer]):
|
||||||
if not self.get_option("cache"):
|
if not self.get_option("cache"):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,10 @@
|
||||||
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
|
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
import traceback
|
import traceback
|
||||||
from typing import Any, Dict, Optional, Union
|
from typing import Any
|
||||||
|
|
||||||
from ansible.module_utils.basic import (
|
from ansible.module_utils.basic import (
|
||||||
AnsibleModule as AnsibleModuleBase,
|
AnsibleModule as AnsibleModuleBase,
|
||||||
|
@ -56,7 +58,7 @@ class AnsibleHCloud:
|
||||||
def fail_json_hcloud(
|
def fail_json_hcloud(
|
||||||
self,
|
self,
|
||||||
exception: HCloudException,
|
exception: HCloudException,
|
||||||
msg: Optional[str] = None,
|
msg: str | None = None,
|
||||||
params: Any = None,
|
params: Any = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
) -> None:
|
) -> None:
|
||||||
|
@ -91,7 +93,7 @@ class AnsibleHCloud:
|
||||||
application_version=version,
|
application_version=version,
|
||||||
)
|
)
|
||||||
|
|
||||||
def _client_get_by_name_or_id(self, resource: str, param: Union[str, int]):
|
def _client_get_by_name_or_id(self, resource: str, param: str | int):
|
||||||
"""
|
"""
|
||||||
Get a resource by name, and if not found by its ID.
|
Get a resource by name, and if not found by its ID.
|
||||||
|
|
||||||
|
@ -132,11 +134,11 @@ class AnsibleHCloud:
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
def _prepare_result(self) -> Dict[str, Any]:
|
def _prepare_result(self) -> dict[str, Any]:
|
||||||
"""Prepare the result for every module"""
|
"""Prepare the result for every module"""
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
def get_result(self) -> Dict[str, Any]:
|
def get_result(self) -> dict[str, Any]:
|
||||||
if getattr(self, self.represent) is not None:
|
if getattr(self, self.represent) is not None:
|
||||||
self.result[self.represent] = self._prepare_result()
|
self.result[self.represent] = self._prepare_result()
|
||||||
return self.result
|
return self.result
|
||||||
|
|
|
@ -1 +1,3 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
version = "2.3.0" # x-release-please-version
|
version = "2.3.0" # x-release-please-version
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: certificate
|
module: certificate
|
||||||
|
@ -143,8 +145,6 @@ hcloud_certificate:
|
||||||
type: dict
|
type: dict
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@ from ..module_utils.vendor.hcloud.certificates import BoundCertificate
|
||||||
class AnsibleHCloudCertificate(AnsibleHCloud):
|
class AnsibleHCloudCertificate(AnsibleHCloud):
|
||||||
represent = "hcloud_certificate"
|
represent = "hcloud_certificate"
|
||||||
|
|
||||||
hcloud_certificate: Optional[BoundCertificate] = None
|
hcloud_certificate: BoundCertificate | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
return {
|
return {
|
||||||
|
@ -264,7 +264,7 @@ class AnsibleHCloudCertificate(AnsibleHCloud):
|
||||||
"choices": ["absent", "present"],
|
"choices": ["absent", "present"],
|
||||||
"default": "present",
|
"default": "present",
|
||||||
},
|
},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
required_one_of=[["id", "name"]],
|
required_one_of=[["id", "name"]],
|
||||||
required_if=[["state", "present", ["name"]]],
|
required_if=[["state", "present", ["name"]]],
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: certificate_info
|
module: certificate_info
|
||||||
|
@ -83,7 +85,6 @@ hcloud_certificate_info:
|
||||||
returned: always
|
returned: always
|
||||||
type: dict
|
type: dict
|
||||||
"""
|
"""
|
||||||
from typing import List, Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
@ -96,7 +97,7 @@ from ..module_utils.vendor.hcloud.certificates import BoundCertificate
|
||||||
class AnsibleHCloudCertificateInfo(AnsibleHCloud):
|
class AnsibleHCloudCertificateInfo(AnsibleHCloud):
|
||||||
represent = "hcloud_certificate_info"
|
represent = "hcloud_certificate_info"
|
||||||
|
|
||||||
hcloud_certificate_info: Optional[List[BoundCertificate]] = None
|
hcloud_certificate_info: list[BoundCertificate] | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
certificates = []
|
certificates = []
|
||||||
|
@ -140,7 +141,7 @@ class AnsibleHCloudCertificateInfo(AnsibleHCloud):
|
||||||
id={"type": "int"},
|
id={"type": "int"},
|
||||||
name={"type": "str"},
|
name={"type": "str"},
|
||||||
label_selector={"type": "str"},
|
label_selector={"type": "str"},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
)
|
)
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: datacenter_info
|
module: datacenter_info
|
||||||
|
@ -115,8 +117,6 @@ hcloud_datacenter_info:
|
||||||
sample: [1, 2, 3]
|
sample: [1, 2, 3]
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import List, Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -128,7 +128,7 @@ from ..module_utils.vendor.hcloud.datacenters import BoundDatacenter
|
||||||
class AnsibleHCloudDatacenterInfo(AnsibleHCloud):
|
class AnsibleHCloudDatacenterInfo(AnsibleHCloud):
|
||||||
represent = "hcloud_datacenter_info"
|
represent = "hcloud_datacenter_info"
|
||||||
|
|
||||||
hcloud_datacenter_info: Optional[List[BoundDatacenter]] = None
|
hcloud_datacenter_info: list[BoundDatacenter] | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
tmp = []
|
tmp = []
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: firewall
|
module: firewall
|
||||||
|
@ -167,7 +169,6 @@ hcloud_firewall:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import time
|
import time
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
@ -180,7 +181,7 @@ from ..module_utils.vendor.hcloud.firewalls import BoundFirewall, FirewallRule
|
||||||
class AnsibleHCloudFirewall(AnsibleHCloud):
|
class AnsibleHCloudFirewall(AnsibleHCloud):
|
||||||
represent = "hcloud_firewall"
|
represent = "hcloud_firewall"
|
||||||
|
|
||||||
hcloud_firewall: Optional[BoundFirewall] = None
|
hcloud_firewall: BoundFirewall | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
return {
|
return {
|
||||||
|
@ -324,7 +325,7 @@ class AnsibleHCloudFirewall(AnsibleHCloud):
|
||||||
"choices": ["absent", "present"],
|
"choices": ["absent", "present"],
|
||||||
"default": "present",
|
"default": "present",
|
||||||
},
|
},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
required_one_of=[["id", "name"]],
|
required_one_of=[["id", "name"]],
|
||||||
required_if=[["state", "present", ["name"]]],
|
required_if=[["state", "present", ["name"]]],
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: floating_ip
|
module: floating_ip
|
||||||
|
@ -157,8 +159,6 @@ hcloud_floating_ip:
|
||||||
mylabel: 123
|
mylabel: 123
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -170,7 +170,7 @@ from ..module_utils.vendor.hcloud.floating_ips import BoundFloatingIP
|
||||||
class AnsibleHCloudFloatingIP(AnsibleHCloud):
|
class AnsibleHCloudFloatingIP(AnsibleHCloud):
|
||||||
represent = "hcloud_floating_ip"
|
represent = "hcloud_floating_ip"
|
||||||
|
|
||||||
hcloud_floating_ip: Optional[BoundFloatingIP] = None
|
hcloud_floating_ip: BoundFloatingIP | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
server = None
|
server = None
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: floating_ip_info
|
module: floating_ip_info
|
||||||
|
@ -97,8 +99,6 @@ hcloud_floating_ip_info:
|
||||||
type: dict
|
type: dict
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import List, Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ from ..module_utils.vendor.hcloud.floating_ips import BoundFloatingIP
|
||||||
class AnsibleHCloudFloatingIPInfo(AnsibleHCloud):
|
class AnsibleHCloudFloatingIPInfo(AnsibleHCloud):
|
||||||
represent = "hcloud_floating_ip_info"
|
represent = "hcloud_floating_ip_info"
|
||||||
|
|
||||||
hcloud_floating_ip_info: Optional[List[BoundFloatingIP]] = None
|
hcloud_floating_ip_info: list[BoundFloatingIP] | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
tmp = []
|
tmp = []
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: image_info
|
module: image_info
|
||||||
|
@ -109,8 +111,6 @@ hcloud_image_info:
|
||||||
type: dict
|
type: dict
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import List, Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ from ..module_utils.vendor.hcloud.images import BoundImage
|
||||||
class AnsibleHCloudImageInfo(AnsibleHCloud):
|
class AnsibleHCloudImageInfo(AnsibleHCloud):
|
||||||
represent = "hcloud_image_info"
|
represent = "hcloud_image_info"
|
||||||
|
|
||||||
hcloud_image_info: Optional[List[BoundImage]] = None
|
hcloud_image_info: list[BoundImage] | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
tmp = []
|
tmp = []
|
||||||
|
@ -188,7 +188,7 @@ class AnsibleHCloudImageInfo(AnsibleHCloud):
|
||||||
label_selector={"type": "str"},
|
label_selector={"type": "str"},
|
||||||
type={"choices": ["system", "snapshot", "backup"], "default": "system", "type": "str"},
|
type={"choices": ["system", "snapshot", "backup"], "default": "system", "type": "str"},
|
||||||
architecture={"choices": ["x86", "arm"], "type": "str"},
|
architecture={"choices": ["x86", "arm"], "type": "str"},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
)
|
)
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: iso_info
|
module: iso_info
|
||||||
|
@ -119,8 +121,6 @@ hcloud_iso_info:
|
||||||
sample: "2021-12-01T00:00:00+00:00"
|
sample: "2021-12-01T00:00:00+00:00"
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import List, Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -132,7 +132,7 @@ from ..module_utils.vendor.hcloud.isos import BoundIso
|
||||||
class AnsibleHCloudIsoInfo(AnsibleHCloud):
|
class AnsibleHCloudIsoInfo(AnsibleHCloud):
|
||||||
represent = "hcloud_iso_info"
|
represent = "hcloud_iso_info"
|
||||||
|
|
||||||
hcloud_iso_info: Optional[List[BoundIso]] = None
|
hcloud_iso_info: list[BoundIso] | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
tmp = []
|
tmp = []
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: load_balancer
|
module: load_balancer
|
||||||
|
@ -149,8 +151,6 @@ hcloud_load_balancer:
|
||||||
sample: false
|
sample: false
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@ from ..module_utils.vendor.hcloud.load_balancers import (
|
||||||
class AnsibleHCloudLoadBalancer(AnsibleHCloud):
|
class AnsibleHCloudLoadBalancer(AnsibleHCloud):
|
||||||
represent = "hcloud_load_balancer"
|
represent = "hcloud_load_balancer"
|
||||||
|
|
||||||
hcloud_load_balancer: Optional[BoundLoadBalancer] = None
|
hcloud_load_balancer: BoundLoadBalancer | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
private_ipv4_address = (
|
private_ipv4_address = (
|
||||||
|
@ -315,7 +315,7 @@ class AnsibleHCloudLoadBalancer(AnsibleHCloud):
|
||||||
"choices": ["absent", "present"],
|
"choices": ["absent", "present"],
|
||||||
"default": "present",
|
"default": "present",
|
||||||
},
|
},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
required_one_of=[["id", "name"]],
|
required_one_of=[["id", "name"]],
|
||||||
mutually_exclusive=[["location", "network_zone"]],
|
mutually_exclusive=[["location", "network_zone"]],
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: load_balancer_info
|
module: load_balancer_info
|
||||||
|
@ -274,8 +276,6 @@ hcloud_load_balancer_info:
|
||||||
sample: false
|
sample: false
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import List, Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -287,7 +287,7 @@ from ..module_utils.vendor.hcloud.load_balancers import BoundLoadBalancer
|
||||||
class AnsibleHCloudLoadBalancerInfo(AnsibleHCloud):
|
class AnsibleHCloudLoadBalancerInfo(AnsibleHCloud):
|
||||||
represent = "hcloud_load_balancer_info"
|
represent = "hcloud_load_balancer_info"
|
||||||
|
|
||||||
hcloud_load_balancer_info: Optional[List[BoundLoadBalancer]] = None
|
hcloud_load_balancer_info: list[BoundLoadBalancer] | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
tmp = []
|
tmp = []
|
||||||
|
@ -403,7 +403,7 @@ class AnsibleHCloudLoadBalancerInfo(AnsibleHCloud):
|
||||||
id={"type": "int"},
|
id={"type": "int"},
|
||||||
name={"type": "str"},
|
name={"type": "str"},
|
||||||
label_selector={"type": "str"},
|
label_selector={"type": "str"},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
)
|
)
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: load_balancer_network
|
module: load_balancer_network
|
||||||
|
@ -87,8 +89,6 @@ hcloud_load_balancer_network:
|
||||||
sample: 10.0.0.8
|
sample: 10.0.0.8
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -101,9 +101,9 @@ from ..module_utils.vendor.hcloud.networks import BoundNetwork
|
||||||
class AnsibleHCloudLoadBalancerNetwork(AnsibleHCloud):
|
class AnsibleHCloudLoadBalancerNetwork(AnsibleHCloud):
|
||||||
represent = "hcloud_load_balancer_network"
|
represent = "hcloud_load_balancer_network"
|
||||||
|
|
||||||
hcloud_network: Optional[BoundNetwork] = None
|
hcloud_network: BoundNetwork | None = None
|
||||||
hcloud_load_balancer: Optional[BoundLoadBalancer] = None
|
hcloud_load_balancer: BoundLoadBalancer | None = None
|
||||||
hcloud_load_balancer_network: Optional[PrivateNet] = None
|
hcloud_load_balancer_network: PrivateNet | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: load_balancer_service
|
module: load_balancer_service
|
||||||
|
@ -276,8 +278,6 @@ hcloud_load_balancer_service:
|
||||||
sample: false
|
sample: false
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -295,8 +295,8 @@ from ..module_utils.vendor.hcloud.load_balancers import (
|
||||||
class AnsibleHCloudLoadBalancerService(AnsibleHCloud):
|
class AnsibleHCloudLoadBalancerService(AnsibleHCloud):
|
||||||
represent = "hcloud_load_balancer_service"
|
represent = "hcloud_load_balancer_service"
|
||||||
|
|
||||||
hcloud_load_balancer: Optional[BoundLoadBalancer] = None
|
hcloud_load_balancer: BoundLoadBalancer | None = None
|
||||||
hcloud_load_balancer_service: Optional[LoadBalancerService] = None
|
hcloud_load_balancer_service: LoadBalancerService | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
http = None
|
http = None
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: load_balancer_target
|
module: load_balancer_target
|
||||||
|
@ -131,8 +133,6 @@ hcloud_load_balancer_target:
|
||||||
returned: always
|
returned: always
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -150,9 +150,9 @@ from ..module_utils.vendor.hcloud.servers import BoundServer
|
||||||
class AnsibleHCloudLoadBalancerTarget(AnsibleHCloud):
|
class AnsibleHCloudLoadBalancerTarget(AnsibleHCloud):
|
||||||
represent = "hcloud_load_balancer_target"
|
represent = "hcloud_load_balancer_target"
|
||||||
|
|
||||||
hcloud_load_balancer: Optional[BoundLoadBalancer] = None
|
hcloud_load_balancer: BoundLoadBalancer | None = None
|
||||||
hcloud_load_balancer_target: Optional[LoadBalancerTarget] = None
|
hcloud_load_balancer_target: LoadBalancerTarget | None = None
|
||||||
hcloud_server: Optional[BoundServer] = None
|
hcloud_server: BoundServer | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
result = {
|
result = {
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: load_balancer_type_info
|
module: load_balancer_type_info
|
||||||
|
@ -85,8 +87,6 @@ hcloud_load_balancer_type_info:
|
||||||
sample: 5
|
sample: 5
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import List, Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ from ..module_utils.vendor.hcloud.load_balancer_types import BoundLoadBalancerTy
|
||||||
class AnsibleHCloudLoadBalancerTypeInfo(AnsibleHCloud):
|
class AnsibleHCloudLoadBalancerTypeInfo(AnsibleHCloud):
|
||||||
represent = "hcloud_load_balancer_type_info"
|
represent = "hcloud_load_balancer_type_info"
|
||||||
|
|
||||||
hcloud_load_balancer_type_info: Optional[List[BoundLoadBalancerType]] = None
|
hcloud_load_balancer_type_info: list[BoundLoadBalancerType] | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
tmp = []
|
tmp = []
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: location_info
|
module: location_info
|
||||||
|
@ -75,8 +77,6 @@ hcloud_location_info:
|
||||||
sample: Falkenstein
|
sample: Falkenstein
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import List, Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ from ..module_utils.vendor.hcloud.locations import BoundLocation
|
||||||
class AnsibleHCloudLocationInfo(AnsibleHCloud):
|
class AnsibleHCloudLocationInfo(AnsibleHCloud):
|
||||||
represent = "hcloud_location_info"
|
represent = "hcloud_location_info"
|
||||||
|
|
||||||
hcloud_location_info: Optional[List[BoundLocation]] = None
|
hcloud_location_info: list[BoundLocation] | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
tmp = []
|
tmp = []
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: network
|
module: network
|
||||||
|
@ -112,8 +114,6 @@ hcloud_network:
|
||||||
mylabel: 123
|
mylabel: 123
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -125,7 +125,7 @@ from ..module_utils.vendor.hcloud.networks import BoundNetwork
|
||||||
class AnsibleHCloudNetwork(AnsibleHCloud):
|
class AnsibleHCloudNetwork(AnsibleHCloud):
|
||||||
represent = "hcloud_network"
|
represent = "hcloud_network"
|
||||||
|
|
||||||
hcloud_network: Optional[BoundNetwork] = None
|
hcloud_network: BoundNetwork | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
return {
|
return {
|
||||||
|
@ -235,7 +235,7 @@ class AnsibleHCloudNetwork(AnsibleHCloud):
|
||||||
"choices": ["absent", "present"],
|
"choices": ["absent", "present"],
|
||||||
"default": "present",
|
"default": "present",
|
||||||
},
|
},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
required_one_of=[["id", "name"]],
|
required_one_of=[["id", "name"]],
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: network_info
|
module: network_info
|
||||||
|
@ -182,8 +184,6 @@ hcloud_network_info:
|
||||||
type: dict
|
type: dict
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import List, Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -195,7 +195,7 @@ from ..module_utils.vendor.hcloud.networks import BoundNetwork
|
||||||
class AnsibleHCloudNetworkInfo(AnsibleHCloud):
|
class AnsibleHCloudNetworkInfo(AnsibleHCloud):
|
||||||
represent = "hcloud_network_info"
|
represent = "hcloud_network_info"
|
||||||
|
|
||||||
hcloud_network_info: Optional[List[BoundNetwork]] = None
|
hcloud_network_info: list[BoundNetwork] | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
tmp = []
|
tmp = []
|
||||||
|
@ -275,7 +275,7 @@ class AnsibleHCloudNetworkInfo(AnsibleHCloud):
|
||||||
id={"type": "int"},
|
id={"type": "int"},
|
||||||
name={"type": "str"},
|
name={"type": "str"},
|
||||||
label_selector={"type": "str"},
|
label_selector={"type": "str"},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
)
|
)
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: placement_group
|
module: placement_group
|
||||||
|
@ -104,8 +106,6 @@ hcloud_placement_group:
|
||||||
- 4712
|
- 4712
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -117,7 +117,7 @@ from ..module_utils.vendor.hcloud.placement_groups import BoundPlacementGroup
|
||||||
class AnsibleHCloudPlacementGroup(AnsibleHCloud):
|
class AnsibleHCloudPlacementGroup(AnsibleHCloud):
|
||||||
represent = "hcloud_placement_group"
|
represent = "hcloud_placement_group"
|
||||||
|
|
||||||
hcloud_placement_group: Optional[BoundPlacementGroup] = None
|
hcloud_placement_group: BoundPlacementGroup | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
return {
|
return {
|
||||||
|
@ -195,7 +195,7 @@ class AnsibleHCloudPlacementGroup(AnsibleHCloud):
|
||||||
"choices": ["absent", "present"],
|
"choices": ["absent", "present"],
|
||||||
"default": "present",
|
"default": "present",
|
||||||
},
|
},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
required_one_of=[["id", "name"]],
|
required_one_of=[["id", "name"]],
|
||||||
required_if=[["state", "present", ["name"]]],
|
required_if=[["state", "present", ["name"]]],
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: primary_ip
|
module: primary_ip
|
||||||
|
@ -127,8 +129,6 @@ hcloud_primary_ip:
|
||||||
mylabel: 123
|
mylabel: 123
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -140,7 +140,7 @@ from ..module_utils.vendor.hcloud.primary_ips import BoundPrimaryIP
|
||||||
class AnsibleHCloudPrimaryIP(AnsibleHCloud):
|
class AnsibleHCloudPrimaryIP(AnsibleHCloud):
|
||||||
represent = "hcloud_primary_ip"
|
represent = "hcloud_primary_ip"
|
||||||
|
|
||||||
hcloud_primary_ip: Optional[BoundPrimaryIP] = None
|
hcloud_primary_ip: BoundPrimaryIP | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
return {
|
return {
|
||||||
|
@ -236,7 +236,7 @@ class AnsibleHCloudPrimaryIP(AnsibleHCloud):
|
||||||
"choices": ["absent", "present"],
|
"choices": ["absent", "present"],
|
||||||
"default": "present",
|
"default": "present",
|
||||||
},
|
},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
required_one_of=[["id", "name"]],
|
required_one_of=[["id", "name"]],
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: primary_ip_info
|
module: primary_ip_info
|
||||||
|
@ -117,8 +119,6 @@ hcloud_primary_ip_info:
|
||||||
type: bool
|
type: bool
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import List, Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ from ..module_utils.vendor.hcloud.primary_ips import BoundPrimaryIP
|
||||||
class AnsibleHCloudPrimaryIPInfo(AnsibleHCloud):
|
class AnsibleHCloudPrimaryIPInfo(AnsibleHCloud):
|
||||||
represent = "hcloud_primary_ip_info"
|
represent = "hcloud_primary_ip_info"
|
||||||
|
|
||||||
hcloud_primary_ip_info: Optional[List[BoundPrimaryIP]] = None
|
hcloud_primary_ip_info: list[BoundPrimaryIP] | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
tmp = []
|
tmp = []
|
||||||
|
@ -182,7 +182,7 @@ class AnsibleHCloudPrimaryIPInfo(AnsibleHCloud):
|
||||||
id={"type": "int"},
|
id={"type": "int"},
|
||||||
label_selector={"type": "str"},
|
label_selector={"type": "str"},
|
||||||
name={"type": "str"},
|
name={"type": "str"},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
)
|
)
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: rdns
|
module: rdns
|
||||||
|
@ -130,7 +132,7 @@ hcloud_rdns:
|
||||||
sample: example.com
|
sample: example.com
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import Any, Dict, Optional, Union
|
from typing import Any
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
@ -149,8 +151,8 @@ from ..module_utils.vendor.hcloud.servers import BoundServer
|
||||||
class AnsibleHCloudReverseDNS(AnsibleHCloud):
|
class AnsibleHCloudReverseDNS(AnsibleHCloud):
|
||||||
represent = "hcloud_rdns"
|
represent = "hcloud_rdns"
|
||||||
|
|
||||||
hcloud_resource: Optional[Union[BoundServer, BoundFloatingIP, BoundLoadBalancer, BoundPrimaryIP]] = None
|
hcloud_resource: BoundServer | BoundFloatingIP | BoundLoadBalancer | BoundPrimaryIP | None = None
|
||||||
hcloud_rdns: Optional[Dict[str, Any]] = None
|
hcloud_rdns: dict[str, Any] | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
result = {
|
result = {
|
||||||
|
@ -331,7 +333,7 @@ class AnsibleHCloudReverseDNS(AnsibleHCloud):
|
||||||
"choices": ["absent", "present"],
|
"choices": ["absent", "present"],
|
||||||
"default": "present",
|
"default": "present",
|
||||||
},
|
},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
required_one_of=[["server", "floating_ip", "load_balancer", "primary_ip"]],
|
required_one_of=[["server", "floating_ip", "load_balancer", "primary_ip"]],
|
||||||
mutually_exclusive=[["server", "floating_ip", "load_balancer", "primary_ip"]],
|
mutually_exclusive=[["server", "floating_ip", "load_balancer", "primary_ip"]],
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: route
|
module: route
|
||||||
|
@ -83,8 +85,6 @@ hcloud_route:
|
||||||
sample: 10.0.0.1
|
sample: 10.0.0.1
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -96,8 +96,8 @@ from ..module_utils.vendor.hcloud.networks import BoundNetwork, NetworkRoute
|
||||||
class AnsibleHCloudRoute(AnsibleHCloud):
|
class AnsibleHCloudRoute(AnsibleHCloud):
|
||||||
represent = "hcloud_route"
|
represent = "hcloud_route"
|
||||||
|
|
||||||
hcloud_network: Optional[BoundNetwork] = None
|
hcloud_network: BoundNetwork | None = None
|
||||||
hcloud_route: Optional[NetworkRoute] = None
|
hcloud_route: NetworkRoute | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
return {
|
return {
|
||||||
|
@ -167,7 +167,7 @@ class AnsibleHCloudRoute(AnsibleHCloud):
|
||||||
"choices": ["absent", "present"],
|
"choices": ["absent", "present"],
|
||||||
"default": "present",
|
"default": "present",
|
||||||
},
|
},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
)
|
)
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: server
|
module: server
|
||||||
|
@ -334,7 +336,6 @@ hcloud_server:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from datetime import datetime, timedelta, timezone
|
from datetime import datetime, timedelta, timezone
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
@ -354,7 +355,7 @@ from ..module_utils.vendor.hcloud.volumes import Volume
|
||||||
class AnsibleHCloudServer(AnsibleHCloud):
|
class AnsibleHCloudServer(AnsibleHCloud):
|
||||||
represent = "hcloud_server"
|
represent = "hcloud_server"
|
||||||
|
|
||||||
hcloud_server: Optional[BoundServer] = None
|
hcloud_server: BoundServer | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
image = None if self.hcloud_server.image is None else to_native(self.hcloud_server.image.name)
|
image = None if self.hcloud_server.image is None else to_native(self.hcloud_server.image.name)
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: server_info
|
module: server_info
|
||||||
|
@ -143,8 +145,6 @@ hcloud_server_info:
|
||||||
version_added: "0.1.0"
|
version_added: "0.1.0"
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import List, Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@ from ..module_utils.vendor.hcloud.servers import BoundServer
|
||||||
class AnsibleHCloudServerInfo(AnsibleHCloud):
|
class AnsibleHCloudServerInfo(AnsibleHCloud):
|
||||||
represent = "hcloud_server_info"
|
represent = "hcloud_server_info"
|
||||||
|
|
||||||
hcloud_server_info: Optional[List[BoundServer]] = None
|
hcloud_server_info: list[BoundServer] | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
tmp = []
|
tmp = []
|
||||||
|
@ -217,7 +217,7 @@ class AnsibleHCloudServerInfo(AnsibleHCloud):
|
||||||
id={"type": "int"},
|
id={"type": "int"},
|
||||||
name={"type": "str"},
|
name={"type": "str"},
|
||||||
label_selector={"type": "str"},
|
label_selector={"type": "str"},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
)
|
)
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: server_network
|
module: server_network
|
||||||
|
@ -108,8 +110,6 @@ hcloud_server_network:
|
||||||
sample: [10.1.0.1, ...]
|
sample: [10.1.0.1, ...]
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -122,9 +122,9 @@ from ..module_utils.vendor.hcloud.servers import BoundServer, PrivateNet
|
||||||
class AnsibleHCloudServerNetwork(AnsibleHCloud):
|
class AnsibleHCloudServerNetwork(AnsibleHCloud):
|
||||||
represent = "hcloud_server_network"
|
represent = "hcloud_server_network"
|
||||||
|
|
||||||
hcloud_network: Optional[BoundNetwork] = None
|
hcloud_network: BoundNetwork | None = None
|
||||||
hcloud_server: Optional[BoundServer] = None
|
hcloud_server: BoundServer | None = None
|
||||||
hcloud_server_network: Optional[PrivateNet] = None
|
hcloud_server_network: PrivateNet | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
return {
|
return {
|
||||||
|
@ -223,7 +223,7 @@ class AnsibleHCloudServerNetwork(AnsibleHCloud):
|
||||||
"choices": ["absent", "present"],
|
"choices": ["absent", "present"],
|
||||||
"default": "present",
|
"default": "present",
|
||||||
},
|
},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
)
|
)
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: server_type_info
|
module: server_type_info
|
||||||
|
@ -121,8 +123,6 @@ hcloud_server_type_info:
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import List, Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -134,7 +134,7 @@ from ..module_utils.vendor.hcloud.server_types import BoundServerType
|
||||||
class AnsibleHCloudServerTypeInfo(AnsibleHCloud):
|
class AnsibleHCloudServerTypeInfo(AnsibleHCloud):
|
||||||
represent = "hcloud_server_type_info"
|
represent = "hcloud_server_type_info"
|
||||||
|
|
||||||
hcloud_server_type_info: Optional[List[BoundServerType]] = None
|
hcloud_server_type_info: list[BoundServerType] | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
tmp = []
|
tmp = []
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: ssh_key
|
module: ssh_key
|
||||||
|
@ -110,8 +112,6 @@ hcloud_ssh_key:
|
||||||
mylabel: 123
|
mylabel: 123
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ from ..module_utils.vendor.hcloud.ssh_keys import BoundSSHKey
|
||||||
class AnsibleHCloudSSHKey(AnsibleHCloud):
|
class AnsibleHCloudSSHKey(AnsibleHCloud):
|
||||||
represent = "hcloud_ssh_key"
|
represent = "hcloud_ssh_key"
|
||||||
|
|
||||||
hcloud_ssh_key: Optional[BoundSSHKey] = None
|
hcloud_ssh_key: BoundSSHKey | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
return {
|
return {
|
||||||
|
@ -209,7 +209,7 @@ class AnsibleHCloudSSHKey(AnsibleHCloud):
|
||||||
"choices": ["absent", "present"],
|
"choices": ["absent", "present"],
|
||||||
"default": "present",
|
"default": "present",
|
||||||
},
|
},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
required_one_of=[["id", "name", "fingerprint"]],
|
required_one_of=[["id", "name", "fingerprint"]],
|
||||||
required_if=[["state", "present", ["name"]]],
|
required_if=[["state", "present", ["name"]]],
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: ssh_key_info
|
module: ssh_key_info
|
||||||
|
@ -75,7 +77,6 @@ hcloud_ssh_key_info:
|
||||||
returned: always
|
returned: always
|
||||||
type: dict
|
type: dict
|
||||||
"""
|
"""
|
||||||
from typing import List, Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
@ -88,7 +89,7 @@ from ..module_utils.vendor.hcloud.ssh_keys import BoundSSHKey
|
||||||
class AnsibleHCloudSSHKeyInfo(AnsibleHCloud):
|
class AnsibleHCloudSSHKeyInfo(AnsibleHCloud):
|
||||||
represent = "hcloud_ssh_key_info"
|
represent = "hcloud_ssh_key_info"
|
||||||
|
|
||||||
hcloud_ssh_key_info: Optional[List[BoundSSHKey]] = None
|
hcloud_ssh_key_info: list[BoundSSHKey] | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
ssh_keys = []
|
ssh_keys = []
|
||||||
|
@ -134,7 +135,7 @@ class AnsibleHCloudSSHKeyInfo(AnsibleHCloud):
|
||||||
name={"type": "str"},
|
name={"type": "str"},
|
||||||
fingerprint={"type": "str"},
|
fingerprint={"type": "str"},
|
||||||
label_selector={"type": "str"},
|
label_selector={"type": "str"},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
)
|
)
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: subnetwork
|
module: subnetwork
|
||||||
|
@ -120,8 +122,6 @@ hcloud_subnetwork:
|
||||||
sample: 10.0.0.1
|
sample: 10.0.0.1
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -133,8 +133,8 @@ from ..module_utils.vendor.hcloud.networks import BoundNetwork, NetworkSubnet
|
||||||
class AnsibleHCloudSubnetwork(AnsibleHCloud):
|
class AnsibleHCloudSubnetwork(AnsibleHCloud):
|
||||||
represent = "hcloud_subnetwork"
|
represent = "hcloud_subnetwork"
|
||||||
|
|
||||||
hcloud_network: Optional[BoundNetwork] = None
|
hcloud_network: BoundNetwork | None = None
|
||||||
hcloud_subnetwork: Optional[NetworkSubnet] = None
|
hcloud_subnetwork: NetworkSubnet | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
return {
|
return {
|
||||||
|
@ -213,7 +213,7 @@ class AnsibleHCloudSubnetwork(AnsibleHCloud):
|
||||||
"choices": ["absent", "present"],
|
"choices": ["absent", "present"],
|
||||||
"default": "present",
|
"default": "present",
|
||||||
},
|
},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
)
|
)
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: volume
|
module: volume
|
||||||
|
@ -157,8 +159,6 @@ hcloud_volume:
|
||||||
version_added: "0.1.0"
|
version_added: "0.1.0"
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -170,7 +170,7 @@ from ..module_utils.vendor.hcloud.volumes import BoundVolume
|
||||||
class AnsibleHCloudVolume(AnsibleHCloud):
|
class AnsibleHCloudVolume(AnsibleHCloud):
|
||||||
represent = "hcloud_volume"
|
represent = "hcloud_volume"
|
||||||
|
|
||||||
hcloud_volume: Optional[BoundVolume] = None
|
hcloud_volume: BoundVolume | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
server_name = None
|
server_name = None
|
||||||
|
@ -305,7 +305,7 @@ class AnsibleHCloudVolume(AnsibleHCloud):
|
||||||
"choices": ["absent", "present"],
|
"choices": ["absent", "present"],
|
||||||
"default": "present",
|
"default": "present",
|
||||||
},
|
},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
required_one_of=[["id", "name"]],
|
required_one_of=[["id", "name"]],
|
||||||
mutually_exclusive=[["location", "server"]],
|
mutually_exclusive=[["location", "server"]],
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
DOCUMENTATION = """
|
DOCUMENTATION = """
|
||||||
---
|
---
|
||||||
module: volume_info
|
module: volume_info
|
||||||
|
@ -92,8 +94,6 @@ hcloud_volume_info:
|
||||||
type: dict
|
type: dict
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import List, Optional
|
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
from ansible.module_utils.common.text.converters import to_native
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ from ..module_utils.vendor.hcloud.volumes import BoundVolume
|
||||||
class AnsibleHCloudVolumeInfo(AnsibleHCloud):
|
class AnsibleHCloudVolumeInfo(AnsibleHCloud):
|
||||||
represent = "hcloud_volume_info"
|
represent = "hcloud_volume_info"
|
||||||
|
|
||||||
hcloud_volume_info: Optional[List[BoundVolume]] = None
|
hcloud_volume_info: list[BoundVolume] | None = None
|
||||||
|
|
||||||
def _prepare_result(self):
|
def _prepare_result(self):
|
||||||
tmp = []
|
tmp = []
|
||||||
|
@ -153,7 +153,7 @@ class AnsibleHCloudVolumeInfo(AnsibleHCloud):
|
||||||
id={"type": "int"},
|
id={"type": "int"},
|
||||||
name={"type": "str"},
|
name={"type": "str"},
|
||||||
label_selector={"type": "str"},
|
label_selector={"type": "str"},
|
||||||
**super().base_module_arguments()
|
**super().base_module_arguments(),
|
||||||
),
|
),
|
||||||
supports_check_mode=True,
|
supports_check_mode=True,
|
||||||
)
|
)
|
||||||
|
|
|
@ -4,6 +4,7 @@ line-length = 120
|
||||||
[tool.isort]
|
[tool.isort]
|
||||||
profile = "black"
|
profile = "black"
|
||||||
combine_as_imports = true
|
combine_as_imports = true
|
||||||
|
add_imports = ["from __future__ import annotations"]
|
||||||
|
|
||||||
[tool.pylint.main]
|
[tool.pylint.main]
|
||||||
py-version = "3.8"
|
py-version = "3.8"
|
||||||
|
|
|
@ -8,6 +8,8 @@ Fetch the desired version `HCLOUD_VERSION` from https://github.com/hetznercloud/
|
||||||
move the modified files at the vendor location `HCLOUD_VENDOR_PATH`.
|
move the modified files at the vendor location `HCLOUD_VENDOR_PATH`.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
from argparse import ArgumentParser
|
from argparse import ArgumentParser
|
||||||
|
|
64
tests/sanity/ignore-2.13.txt
Normal file
64
tests/sanity/ignore-2.13.txt
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
plugins/inventory/hcloud.py validate-modules:illegal-future-imports
|
||||||
|
plugins/inventory/hcloud.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/certificate_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/certificate_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/certificate.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/certificate.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/datacenter_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/datacenter_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/firewall.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/firewall.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/floating_ip_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/floating_ip_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/floating_ip.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/floating_ip.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/image_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/image_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/iso_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/iso_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/load_balancer_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/load_balancer_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/load_balancer_network.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/load_balancer_network.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/load_balancer_service.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/load_balancer_service.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/load_balancer_target.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/load_balancer_target.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/load_balancer_type_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/load_balancer_type_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/load_balancer.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/load_balancer.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/location_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/location_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/network_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/network_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/network.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/network.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/placement_group.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/placement_group.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/primary_ip_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/primary_ip_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/primary_ip.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/primary_ip.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/rdns.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/rdns.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/route.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/route.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/server_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/server_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/server_network.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/server_network.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/server_type_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/server_type_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/server.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/server.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/ssh_key_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/ssh_key_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/ssh_key.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/ssh_key.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/subnetwork.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/subnetwork.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/volume_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/volume_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/volume.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/volume.py validate-modules:import-before-documentation
|
63
tests/sanity/ignore-2.14.txt
Normal file
63
tests/sanity/ignore-2.14.txt
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
plugins/inventory/hcloud.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/certificate_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/certificate_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/certificate.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/certificate.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/datacenter_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/datacenter_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/firewall.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/firewall.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/floating_ip_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/floating_ip_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/floating_ip.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/floating_ip.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/image_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/image_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/iso_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/iso_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/load_balancer_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/load_balancer_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/load_balancer_network.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/load_balancer_network.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/load_balancer_service.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/load_balancer_service.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/load_balancer_target.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/load_balancer_target.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/load_balancer_type_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/load_balancer_type_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/load_balancer.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/load_balancer.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/location_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/location_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/network_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/network_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/network.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/network.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/placement_group.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/placement_group.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/primary_ip_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/primary_ip_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/primary_ip.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/primary_ip.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/rdns.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/rdns.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/route.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/route.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/server_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/server_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/server_network.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/server_network.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/server_type_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/server_type_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/server.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/server.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/ssh_key_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/ssh_key_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/ssh_key.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/ssh_key.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/subnetwork.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/subnetwork.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/volume_info.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/volume_info.py validate-modules:import-before-documentation
|
||||||
|
plugins/modules/volume.py validate-modules:illegal-future-imports
|
||||||
|
plugins/modules/volume.py validate-modules:import-before-documentation
|
|
@ -1,3 +1,5 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
import traceback
|
import traceback
|
||||||
from datetime import datetime, timezone
|
from datetime import datetime, timezone
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
Loading…
Reference in a new issue