mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-04-01 18:06:25 +00:00
Reformat everything.
This commit is contained in:
parent
3f2213791a
commit
340ff8586d
1008 changed files with 61301 additions and 58309 deletions
|
|
@ -19,7 +19,6 @@ from ansible.module_utils.urls import fetch_url
|
|||
|
||||
|
||||
class UTMModuleConfigurationError(Exception):
|
||||
|
||||
def __init__(self, msg, **args):
|
||||
super().__init__(self, msg)
|
||||
self.msg = msg
|
||||
|
|
@ -37,21 +36,38 @@ class UTMModule(AnsibleModule):
|
|||
See the other modules like utm_aaa_group for example.
|
||||
"""
|
||||
|
||||
def __init__(self, argument_spec, bypass_checks=False, no_log=False,
|
||||
mutually_exclusive=None, required_together=None, required_one_of=None, add_file_common_args=False,
|
||||
supports_check_mode=False, required_if=None):
|
||||
def __init__(
|
||||
self,
|
||||
argument_spec,
|
||||
bypass_checks=False,
|
||||
no_log=False,
|
||||
mutually_exclusive=None,
|
||||
required_together=None,
|
||||
required_one_of=None,
|
||||
add_file_common_args=False,
|
||||
supports_check_mode=False,
|
||||
required_if=None,
|
||||
):
|
||||
default_specs = dict(
|
||||
headers=dict(type='dict', required=False, default={}),
|
||||
utm_host=dict(type='str', required=True),
|
||||
utm_port=dict(type='int', default=4444),
|
||||
utm_token=dict(type='str', required=True, no_log=True),
|
||||
utm_protocol=dict(type='str', required=False, default="https", choices=["https", "http"]),
|
||||
validate_certs=dict(type='bool', required=False, default=True),
|
||||
state=dict(default='present', choices=['present', 'absent'])
|
||||
headers=dict(type="dict", required=False, default={}),
|
||||
utm_host=dict(type="str", required=True),
|
||||
utm_port=dict(type="int", default=4444),
|
||||
utm_token=dict(type="str", required=True, no_log=True),
|
||||
utm_protocol=dict(type="str", required=False, default="https", choices=["https", "http"]),
|
||||
validate_certs=dict(type="bool", required=False, default=True),
|
||||
state=dict(default="present", choices=["present", "absent"]),
|
||||
)
|
||||
super().__init__(
|
||||
self._merge_specs(default_specs, argument_spec),
|
||||
bypass_checks,
|
||||
no_log,
|
||||
mutually_exclusive,
|
||||
required_together,
|
||||
required_one_of,
|
||||
add_file_common_args,
|
||||
supports_check_mode,
|
||||
required_if,
|
||||
)
|
||||
super().__init__(self._merge_specs(default_specs, argument_spec), bypass_checks, no_log,
|
||||
mutually_exclusive, required_together, required_one_of,
|
||||
add_file_common_args, supports_check_mode, required_if)
|
||||
|
||||
def _merge_specs(self, default_specs, custom_specs):
|
||||
result = default_specs.copy()
|
||||
|
|
@ -60,7 +76,6 @@ class UTMModule(AnsibleModule):
|
|||
|
||||
|
||||
class UTM:
|
||||
|
||||
def __init__(self, module, endpoint, change_relevant_keys, info_only=False):
|
||||
"""
|
||||
Initialize UTM Class
|
||||
|
|
@ -71,16 +86,14 @@ class UTM:
|
|||
"""
|
||||
self.info_only = info_only
|
||||
self.module = module
|
||||
self.request_url = (
|
||||
f"{module.params.get('utm_protocol')}://{module.params.get('utm_host')}:{module.params.get('utm_port')}/api/objects/{endpoint}/"
|
||||
)
|
||||
self.request_url = f"{module.params.get('utm_protocol')}://{module.params.get('utm_host')}:{module.params.get('utm_port')}/api/objects/{endpoint}/"
|
||||
|
||||
"""
|
||||
The change_relevant_keys will be checked for changes to determine whether the object needs to be updated
|
||||
"""
|
||||
self.change_relevant_keys = change_relevant_keys
|
||||
self.module.params['url_username'] = 'token'
|
||||
self.module.params['url_password'] = module.params.get('utm_token')
|
||||
self.module.params["url_username"] = "token"
|
||||
self.module.params["url_password"] = module.params.get("utm_token")
|
||||
if all(elem in self.change_relevant_keys for elem in module.params.keys()):
|
||||
raise UTMModuleConfigurationError(
|
||||
f"The keys {self.change_relevant_keys} to check are not in the modules keys:\n{list(module.params.keys())}"
|
||||
|
|
@ -89,9 +102,9 @@ class UTM:
|
|||
def execute(self):
|
||||
try:
|
||||
if not self.info_only:
|
||||
if self.module.params.get('state') == 'present':
|
||||
if self.module.params.get("state") == "present":
|
||||
self._add()
|
||||
elif self.module.params.get('state') == 'absent':
|
||||
elif self.module.params.get("state") == "absent":
|
||||
self._remove()
|
||||
else:
|
||||
self._info()
|
||||
|
|
@ -125,19 +138,23 @@ class UTM:
|
|||
else:
|
||||
data_as_json_string = self.module.jsonify(self.module.params)
|
||||
if result is None:
|
||||
response, info = fetch_url(self.module, self.request_url, method="POST",
|
||||
headers=combined_headers,
|
||||
data=data_as_json_string)
|
||||
response, info = fetch_url(
|
||||
self.module, self.request_url, method="POST", headers=combined_headers, data=data_as_json_string
|
||||
)
|
||||
if info["status"] >= 400:
|
||||
self.module.fail_json(msg=json.loads(info["body"]))
|
||||
is_changed = True
|
||||
result = self._clean_result(json.loads(response.read()))
|
||||
else:
|
||||
if self._is_object_changed(self.change_relevant_keys, self.module, result):
|
||||
response, info = fetch_url(self.module, self.request_url + result['_ref'], method="PUT",
|
||||
headers=combined_headers,
|
||||
data=data_as_json_string)
|
||||
if info['status'] >= 400:
|
||||
response, info = fetch_url(
|
||||
self.module,
|
||||
self.request_url + result["_ref"],
|
||||
method="PUT",
|
||||
headers=combined_headers,
|
||||
data=data_as_json_string,
|
||||
)
|
||||
if info["status"] >= 400:
|
||||
self.module.fail_json(msg=json.loads(info["body"]))
|
||||
is_changed = True
|
||||
result = self._clean_result(json.loads(response.read()))
|
||||
|
|
@ -149,9 +166,9 @@ class UTM:
|
|||
:return: A combined headers dict
|
||||
"""
|
||||
default_headers = {"Accept": "application/json", "Content-type": "application/json"}
|
||||
if self.module.params.get('headers') is not None:
|
||||
if self.module.params.get("headers") is not None:
|
||||
result = default_headers.copy()
|
||||
result.update(self.module.params.get('headers'))
|
||||
result.update(self.module.params.get("headers"))
|
||||
else:
|
||||
result = default_headers
|
||||
return result
|
||||
|
|
@ -163,9 +180,13 @@ class UTM:
|
|||
is_changed = False
|
||||
info, result = self._lookup_entry(self.module, self.request_url)
|
||||
if result is not None:
|
||||
response, info = fetch_url(self.module, self.request_url + result['_ref'], method="DELETE",
|
||||
headers={"Accept": "application/json", "X-Restd-Err-Ack": "all"},
|
||||
data=self.module.jsonify(self.module.params))
|
||||
response, info = fetch_url(
|
||||
self.module,
|
||||
self.request_url + result["_ref"],
|
||||
method="DELETE",
|
||||
headers={"Accept": "application/json", "X-Restd-Err-Ack": "all"},
|
||||
data=self.module.jsonify(self.module.params),
|
||||
)
|
||||
if info["status"] >= 400:
|
||||
self.module.fail_json(msg=json.loads(info["body"]))
|
||||
else:
|
||||
|
|
@ -183,7 +204,7 @@ class UTM:
|
|||
result = None
|
||||
if response is not None:
|
||||
results = json.loads(response.read())
|
||||
result = next((d for d in results if d['name'] == module.params.get('name')), None)
|
||||
result = next((d for d in results if d["name"] == module.params.get("name")), None)
|
||||
return info, result
|
||||
|
||||
def _clean_result(self, result):
|
||||
|
|
@ -192,14 +213,14 @@ class UTM:
|
|||
:param result: The result from the query
|
||||
:return: The modified result
|
||||
"""
|
||||
del result['utm_host']
|
||||
del result['utm_port']
|
||||
del result['utm_token']
|
||||
del result['utm_protocol']
|
||||
del result['validate_certs']
|
||||
del result['url_username']
|
||||
del result['url_password']
|
||||
del result['state']
|
||||
del result["utm_host"]
|
||||
del result["utm_port"]
|
||||
del result["utm_token"]
|
||||
del result["utm_protocol"]
|
||||
del result["validate_certs"]
|
||||
del result["url_username"]
|
||||
del result["url_password"]
|
||||
del result["state"]
|
||||
return result
|
||||
|
||||
def _is_object_changed(self, keys, module, result):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue