mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-26 04:11:25 -07:00
New module: manage Citrix Netscaler SSL certificate keys (network/netscaler/netscaler_ssl_certkey)) (#27641)
* Add netscaler_ssl_certkey * Fix options * Lowercase enabled, disabled option values * Add fixes in netscaler module utils needed for unit test success
This commit is contained in:
parent
7f8aaf97de
commit
cd865be987
10 changed files with 1130 additions and 3 deletions
|
@ -30,6 +30,7 @@
|
|||
|
||||
import json
|
||||
import re
|
||||
import sys
|
||||
|
||||
from ansible.module_utils.basic import env_fallback
|
||||
from ansible.module_utils.six import binary_type, text_type
|
||||
|
@ -57,12 +58,20 @@ class ConfigProxy(object):
|
|||
|
||||
self.attribute_values_processed = {}
|
||||
for attribute, value in self.attribute_values_dict.items():
|
||||
if value is None:
|
||||
continue
|
||||
if attribute in transforms:
|
||||
for transform in self.transforms[attribute]:
|
||||
if transform == 'bool_yes_no':
|
||||
value = 'YES' if value is True else 'NO'
|
||||
if value is True:
|
||||
value = 'YES'
|
||||
elif value is False:
|
||||
value = 'NO'
|
||||
elif transform == 'bool_on_off':
|
||||
value = 'ON' if value is True else 'OFF'
|
||||
if value is True:
|
||||
value = 'ON'
|
||||
elif value is False:
|
||||
value = 'OFF'
|
||||
elif callable(transform):
|
||||
value = transform(value)
|
||||
else:
|
||||
|
@ -130,7 +139,7 @@ class ConfigProxy(object):
|
|||
|
||||
# Compare values
|
||||
param_type = self.attribute_values_processed[attribute].__class__
|
||||
if param_type(attribute_value) != self.attribute_values_processed[attribute]:
|
||||
if attribute_value is None or param_type(attribute_value) != self.attribute_values_processed[attribute]:
|
||||
str_tuple = (
|
||||
type(self.attribute_values_processed[attribute]),
|
||||
self.attribute_values_processed[attribute],
|
||||
|
@ -180,6 +189,10 @@ def get_immutables_intersection(config_proxy, keys):
|
|||
|
||||
def ensure_feature_is_enabled(client, feature_str):
|
||||
enabled_features = client.get_enabled_features()
|
||||
|
||||
if enabled_features is None:
|
||||
enabled_features = []
|
||||
|
||||
if feature_str not in enabled_features:
|
||||
client.enable_features(feature_str)
|
||||
client.save_config()
|
||||
|
@ -257,6 +270,12 @@ def get_ns_version(client):
|
|||
return int(m.group(1)), int(m.group(2))
|
||||
|
||||
|
||||
def get_ns_hardware(client):
|
||||
from nssrc.com.citrix.netscaler.nitro.resource.config.ns.nshardware import nshardware
|
||||
result = nshardware.get(client)
|
||||
return result
|
||||
|
||||
|
||||
def monkey_patch_nitro_api():
|
||||
|
||||
from nssrc.com.citrix.netscaler.nitro.resource.base.Json import Json
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue