summaryrefslogtreecommitdiffstats
path: root/ansible_collections/ibm/qradar/plugins/action
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-05 16:18:34 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-05 16:18:34 +0000
commit3667197efb7b18ec842efd504785965911f8ac4b (patch)
tree0b986a4bc6879d080b100666a97cdabbc9ca1f28 /ansible_collections/ibm/qradar/plugins/action
parentAdding upstream version 9.5.1+dfsg. (diff)
downloadansible-upstream/10.0.0+dfsg.tar.xz
ansible-upstream/10.0.0+dfsg.zip
Adding upstream version 10.0.0+dfsg.upstream/10.0.0+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ansible_collections/ibm/qradar/plugins/action')
-rw-r--r--ansible_collections/ibm/qradar/plugins/action/qradar_analytics_rules.py63
-rw-r--r--ansible_collections/ibm/qradar/plugins/action/qradar_log_sources_management.py81
2 files changed, 75 insertions, 69 deletions
diff --git a/ansible_collections/ibm/qradar/plugins/action/qradar_analytics_rules.py b/ansible_collections/ibm/qradar/plugins/action/qradar_analytics_rules.py
index 906cbc9e5..559869c6f 100644
--- a/ansible_collections/ibm/qradar/plugins/action/qradar_analytics_rules.py
+++ b/ansible_collections/ibm/qradar/plugins/action/qradar_analytics_rules.py
@@ -23,27 +23,25 @@ The module file for qradar_analytics_rules
from __future__ import absolute_import, division, print_function
+
__metaclass__ = type
import json
-from ansible.plugins.action import ActionBase
-from ansible.module_utils.connection import Connection
+
from ansible.module_utils._text import to_text
+from ansible.module_utils.connection import Connection
from ansible.module_utils.six.moves.urllib.parse import quote
-
-from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import (
- utils,
+from ansible.plugins.action import ActionBase
+from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils
+from ansible_collections.ansible.utils.plugins.module_utils.common.argspec_validate import (
+ AnsibleArgSpecValidator,
)
+
from ansible_collections.ibm.qradar.plugins.module_utils.qradar import (
QRadarRequest,
remove_unsupported_keys_from_payload_dict,
)
-from ansible_collections.ansible.utils.plugins.module_utils.common.argspec_validate import (
- AnsibleArgSpecValidator,
-)
-from ansible_collections.ibm.qradar.plugins.modules.qradar_analytics_rules import (
- DOCUMENTATION,
-)
+from ansible_collections.ibm.qradar.plugins.modules.qradar_analytics_rules import DOCUMENTATION
class ActionModule(ActionBase):
@@ -86,13 +84,13 @@ class ActionModule(ActionBase):
"""
if search_for_resource.get("id"):
api_obj_url = self.api_object + "/{0}".format(
- search_for_resource["id"]
+ search_for_resource["id"],
)
elif search_for_resource.get("name"):
api_obj_url = self.api_object + "?filter={0}".format(
quote(
- 'name="{0}"'.format(to_text(search_for_resource["name"]))
- )
+ 'name="{0}"'.format(to_text(search_for_resource["name"])),
+ ),
)
elif search_for_resource.get("range"):
api_obj_url = self.api_object
@@ -104,10 +102,7 @@ class ActionModule(ActionBase):
if (
rule_source_exists
and len(rule_source_exists) == 1
- and (
- search_for_resource.get("name")
- and not search_for_resource.get("id")
- )
+ and (search_for_resource.get("name") and not search_for_resource.get("id"))
):
rule_source_exists = rule_source_exists[0]
return rule_source_exists
@@ -124,13 +119,14 @@ class ActionModule(ActionBase):
after = {}
changed = False
rule_exists = self.search_for_resource(
- qradar_request, module_config_params
+ qradar_request,
+ module_config_params,
)
if rule_exists:
changed = True
before = rule_exists
code, qradar_return_data = qradar_request.delete(
- self.api_object + "/{0}".format(rule_exists["id"])
+ self.api_object + "/{0}".format(rule_exists["id"]),
)
config.update({"before": before, "after": after})
else:
@@ -149,7 +145,8 @@ class ActionModule(ActionBase):
changed = False
rule_exists = self.search_for_resource(
- qradar_request, module_config_params
+ qradar_request,
+ module_config_params,
)
if rule_exists:
if isinstance(rule_exists, list):
@@ -168,7 +165,7 @@ class ActionModule(ActionBase):
)
if qradar_return_data[0] >= 200:
config.update(
- {"before": before, "after": qradar_return_data[1]}
+ {"before": before, "after": qradar_return_data[1]},
)
else:
config.update({"before": before})
@@ -179,10 +176,9 @@ class ActionModule(ActionBase):
self._result = super(ActionModule, self).run(tmp, task_vars)
headers = None
if self._task.args.get("config"):
- self._task.args[
- "config"
- ] = remove_unsupported_keys_from_payload_dict(
- self._task.args["config"], self.supported_params
+ self._task.args["config"] = remove_unsupported_keys_from_payload_dict(
+ self._task.args["config"],
+ self.supported_params,
)
self._check_argspec()
if self._result.get("failed"):
@@ -191,20 +187,23 @@ class ActionModule(ActionBase):
headers = {
"Content-Type": "application/json",
"Range": "items={0}".format(
- self._task.args["config"]["range"]
+ self._task.args["config"]["range"],
),
}
conn = Connection(self._connection.socket_path)
if headers:
conn_request = QRadarRequest(
- connection=conn, headers=headers, task_vars=task_vars
+ connection=conn,
+ headers=headers,
+ task_vars=task_vars,
)
else:
conn_request = QRadarRequest(connection=conn, task_vars=task_vars)
if self._task.args["state"] == "gathered":
if self._task.args.get("config"):
self._result["gathered"] = self.search_for_resource(
- conn_request, self._task.args["config"]
+ conn_request,
+ self._task.args["config"],
)
elif self._task.args["state"] == "merged":
if self._task.args.get("config"):
@@ -212,7 +211,8 @@ class ActionModule(ActionBase):
self._result[self.module_return],
self._result["changed"],
) = self.configure_module_api(
- conn_request, self._task.args["config"]
+ conn_request,
+ self._task.args["config"],
)
elif self._task.args["state"] == "deleted":
if self._task.args.get("config"):
@@ -220,7 +220,8 @@ class ActionModule(ActionBase):
self._result[self.module_return],
self._result["changed"],
) = self.delete_module_api_config(
- conn_request, self._task.args["config"]
+ conn_request,
+ self._task.args["config"],
)
return self._result
diff --git a/ansible_collections/ibm/qradar/plugins/action/qradar_log_sources_management.py b/ansible_collections/ibm/qradar/plugins/action/qradar_log_sources_management.py
index 5d5efcd5e..c09c32227 100644
--- a/ansible_collections/ibm/qradar/plugins/action/qradar_log_sources_management.py
+++ b/ansible_collections/ibm/qradar/plugins/action/qradar_log_sources_management.py
@@ -23,27 +23,28 @@ The module file for qradar_log_sources_management
from __future__ import absolute_import, division, print_function
+
__metaclass__ = type
-from copy import copy
import json
-from ansible.plugins.action import ActionBase
+
+from copy import copy
+
from ansible.errors import AnsibleActionFail
from ansible.module_utils.connection import Connection
from ansible.module_utils.six.moves.urllib.parse import quote
-
-from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import (
- utils,
+from ansible.plugins.action import ActionBase
+from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils
+from ansible_collections.ansible.utils.plugins.module_utils.common.argspec_validate import (
+ AnsibleArgSpecValidator,
)
+
from ansible_collections.ibm.qradar.plugins.module_utils.qradar import (
QRadarRequest,
find_dict_in_list,
list_to_dict,
remove_unsupported_keys_from_payload_dict,
)
-from ansible_collections.ansible.utils.plugins.module_utils.common.argspec_validate import (
- AnsibleArgSpecValidator,
-)
from ansible_collections.ibm.qradar.plugins.modules.qradar_log_sources_management import (
DOCUMENTATION,
)
@@ -55,11 +56,13 @@ class ActionModule(ActionBase):
def __init__(self, *args, **kwargs):
super(ActionModule, self).__init__(*args, **kwargs)
self._result = None
- self.api_object = (
- "/api/config/event_sources/log_source_management/log_sources"
+ self.api_object = "/api/config/event_sources/log_source_management/log_sources"
+ self.api_object_types = (
+ "/api/config/event_sources/log_source_management/log_source_types?filter="
+ )
+ self.api_object_search = (
+ "/api/config/event_sources/log_source_management/log_sources?filter="
)
- self.api_object_types = "/api/config/event_sources/log_source_management/log_source_types?filter="
- self.api_object_search = "/api/config/event_sources/log_source_management/log_sources?filter="
self.api_return = "log_sources_management"
self.module_return = "qradar_log_sources_management"
self.supported_params = [
@@ -98,9 +101,8 @@ class ActionModule(ActionBase):
def set_log_source_values(self, qradar_request, config_params):
# find log source types details
if config_params.get("type_name"):
-
api_object = self.api_object_types + "{0}".format(
- quote('name="{0}"'.format(config_params["type_name"]))
+ quote('name="{0}"'.format(config_params["type_name"])),
)
code, log_source_type_found = qradar_request.get(api_object)
if config_params.get("type_id"):
@@ -112,7 +114,7 @@ class ActionModule(ActionBase):
config_params.pop("type_name")
else:
raise AnsibleActionFail(
- "Incompatible type provided, please consult QRadar Documentation for Log Source Types!"
+ "Incompatible type provided, please consult QRadar Documentation for Log Source Types!",
)
if log_source_type_found:
@@ -124,7 +126,7 @@ class ActionModule(ActionBase):
)
if not found_dict_in_list:
config_params.fail_json(
- msg="Incompatible protocol_type_id provided, please consult QRadar Documentation for Log Source Types"
+ msg="Incompatible protocol_type_id provided, please consult QRadar Documentation for Log Source Types",
)
elif log_source_type_found[0].get("protocol_types"):
# Set it to the default as provided by the QRadar Instance
@@ -142,27 +144,29 @@ class ActionModule(ActionBase):
"id": config_params["protocol_type_id"],
"name": "identifier",
"value": config_params["identifier"],
- }
+ },
]
config_params.pop("identifier")
return config_params
def search_for_resource_name(
- self, qradar_request, search_resource_by_names=None
+ self,
+ qradar_request,
+ search_resource_by_names=None,
):
search_result = []
if isinstance(search_resource_by_names, list):
for each in search_resource_by_names:
each = utils.remove_empties(each)
query_api_object = self.api_object_search + "{0}".format(
- quote('name="{0}"'.format(each["name"]))
+ quote('name="{0}"'.format(each["name"])),
)
code, log_source_exists = qradar_request.get(query_api_object)
if log_source_exists and (code >= 200 and code < 300):
search_result.append(log_source_exists[0])
elif isinstance(search_resource_by_names, str):
query_api_object = self.api_object_search + "{0}".format(
- quote('name="{0}"'.format(search_resource_by_names))
+ quote('name="{0}"'.format(search_resource_by_names)),
)
code, log_source_exists = qradar_request.get(query_api_object)
if log_source_exists and (code >= 200 and code < 300):
@@ -182,12 +186,13 @@ class ActionModule(ActionBase):
for each in module_config_params:
each = utils.remove_empties(each)
log_source_exists = self.search_for_resource_name(
- qradar_request, each["name"]
+ qradar_request,
+ each["name"],
)
if log_source_exists:
before.append(log_source_exists)
query_object = self.api_object + "/{0}".format(
- log_source_exists["id"]
+ log_source_exists["id"],
)
code, qradar_return_data = qradar_request.delete(query_object)
if code >= 200 and code < 300:
@@ -207,7 +212,8 @@ class ActionModule(ActionBase):
each = utils.remove_empties(each)
each = self.set_log_source_values(conn_request, each)
search_result = self.search_for_resource_name(
- conn_request, each["name"]
+ conn_request,
+ each["name"],
)
if search_result:
if search_result["name"] == each["name"]:
@@ -219,15 +225,15 @@ class ActionModule(ActionBase):
if diff:
if self._task.args["state"] == "merged":
each = utils.remove_empties(
- utils.dict_merge(search_result, each)
+ utils.dict_merge(search_result, each),
)
temp_request_param.append(each)
elif self._task.args["state"] == "replaced":
query_object = self.api_object + "/{0}".format(
- search_result["id"]
+ search_result["id"],
)
code, qradar_return_data = conn_request.delete(
- query_object
+ query_object,
)
temp_request_param.append(each)
else:
@@ -254,7 +260,7 @@ class ActionModule(ActionBase):
"Failed with http_response: {0} and message: {1}".format(
response["http_response"]["message"],
response["message"],
- )
+ ),
)
config.update({"before": before, "after": after})
else:
@@ -266,10 +272,9 @@ class ActionModule(ActionBase):
self._supports_check_mode = True
self._result = super(ActionModule, self).run(tmp, task_vars)
if self._task.args.get("config"):
- self._task.args[
- "config"
- ] = remove_unsupported_keys_from_payload_dict(
- self._task.args["config"], self.supported_params
+ self._task.args["config"] = remove_unsupported_keys_from_payload_dict(
+ self._task.args["config"],
+ self.supported_params,
)
self._check_argspec()
if self._result.get("failed"):
@@ -279,20 +284,19 @@ class ActionModule(ActionBase):
if self._task.args["state"] == "gathered":
if self._task.args.get("config"):
self._result["gathered"] = self.search_for_resource_name(
- conn_request, self._task.args["config"]
+ conn_request,
+ self._task.args["config"],
)
else:
self._result["gathered"] = conn_request.get(self.api_object)
- elif (
- self._task.args["state"] == "merged"
- or self._task.args["state"] == "replaced"
- ):
+ elif self._task.args["state"] == "merged" or self._task.args["state"] == "replaced":
if self._task.args.get("config"):
(
self._result[self.module_return],
self._result["changed"],
) = self.configure_module_api(
- conn_request, self._task.args["config"]
+ conn_request,
+ self._task.args["config"],
)
elif self._task.args["state"] == "deleted":
if self._task.args.get("config"):
@@ -300,7 +304,8 @@ class ActionModule(ActionBase):
self._result[self.module_return],
self._result["changed"],
) = self.delete_module_api_config(
- conn_request, self._task.args["config"]
+ conn_request,
+ self._task.args["config"],
)
return self._result