Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 18 additions & 4 deletions ibmsecurity/isam/web/reverse_proxy/junctions.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ def add(isamAppliance, reverseproxy_id, junction_point, server_hostname, server_
username=None, password=None, server_uuid=None, local_ip=None, ltpa_keyfile_password=None,
delegation_support=None, scripting_support=None, insert_ltpa_cookies=None, check_mode=False, force=False,
http2_junction=None, http2_proxy=None, sni_name=None, description=None,
priority=None, server_cn=None, silent=None,
priority=None, server_cn=None, silent=None, vhost_aliases=None,
warnings=[]):
"""
Creating a standard or virtual junction
Expand Down Expand Up @@ -271,6 +271,13 @@ def add(isamAppliance, reverseproxy_id, junction_point, server_hostname, server_
isamAppliance.facts["version"], sni_name))
else:
jct_json['sni_name'] = sni_name
if vhost_aliases is not None and vhost_aliases != '':
if tools.version_compare(isamAppliance.facts["version"], "10.0.4.0") < 0:
warnings.append(
"Appliance at version: {0}, vhost_aliases: {1} is not supported. Needs 10.0.4.0 or higher. Ignoring vhost_aliases for this call.".format(
isamAppliance.facts["version"], vhost_aliases))
else:
jct_json['vhost_aliases'] = vhost_aliases
if description is not None:
if tools.version_compare(isamAppliance.facts["version"], "9.0.7.0") < 0:
warnings.append(
Expand Down Expand Up @@ -337,8 +344,8 @@ def set(isamAppliance, reverseproxy_id, junction_point, server_hostname, server_
client_ip_http=None, version_two_cookies=None, ltpa_keyfile=None, authz_rules=None, fsso_config_file=None,
username=None, password=None, server_uuid=None, local_ip=None, ltpa_keyfile_password=None,
delegation_support=None, scripting_support=None, insert_ltpa_cookies=None, check_mode=False, force=False,
http2_junction=None, http2_proxy=None, sni_name=None, description=None,
priority=None, server_cn=None, silent=None):
http2_junction=None, http2_proxy=None, sni_name=None, description=None,
priority=None, server_cn=None, silent=None, vhost_aliases=None):
"""
Setting a standard or virtual junction - compares with existing junction and replaces if changes are detected
TODO: Compare all the parameters in the function - LTPA, BA are some that are not being compared
Expand Down Expand Up @@ -577,6 +584,13 @@ def set(isamAppliance, reverseproxy_id, junction_point, server_hostname, server_
sni_name = None
else:
jct_json['sni_name'] = sni_name
if vhost_aliases is not None and vhost_aliases != '':
if tools.version_compare(isamAppliance.facts["version"], "10.0.4.0") < 0:
warnings.append(
"Appliance at version: {0}, vhost_aliases: {1} is not supported. Needs 10.0.4.0 or higher. Ignoring vhost_aliases for this call.".format(
isamAppliance.facts["version"], vhost_aliases))
else:
jct_json['vhost_aliases'] = vhost_aliases
if description is not None:
if tools.version_compare(isamAppliance.facts["version"], "9.0.7.0") < 0:
warnings.append(
Expand Down Expand Up @@ -645,7 +659,7 @@ def set(isamAppliance, reverseproxy_id, junction_point, server_hostname, server_
delegation_support=delegation_support, scripting_support=scripting_support,
insert_ltpa_cookies=insert_ltpa_cookies, check_mode=check_mode, force=True,
http2_junction=http2_junction, http2_proxy=http2_proxy, sni_name=sni_name, description=description,
priority=priority, server_cn=server_cn, silent=silent,
priority=priority, server_cn=server_cn, silent=silent, vhost_aliases=vhost_aliases,
warnings=warnings)

return isamAppliance.create_return_object()
Expand Down
16 changes: 9 additions & 7 deletions ibmsecurity/isam/web/runtime/federated_directories/stanza.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,19 @@ def get(isamAppliance, id, check_mode=False, force=False):
"/isam/runtime_components/federated_directories/{0}/v1".format(id))


def set(isamAppliance, id, hostname, port, bind_dn, bind_pwd, suffix, use_ssl=False, client_cert_label=None,
def set(isamAppliance, id, hostname, port, bind_dn, bind_pwd, suffix, use_ssl=False, client_cert_label=None, ignore_if_down=False,
check_mode=False, force=False):
if _exists(isamAppliance, id) is False:
return add(isamAppliance, id=id, hostname=hostname, port=port, bind_dn=bind_dn, bind_pwd=bind_pwd,
suffix=suffix, use_ssl=use_ssl, client_cert_label=client_cert_label, check_mode=check_mode,
suffix=suffix, use_ssl=use_ssl, client_cert_label=client_cert_label, ignore_if_down=ignore_if_down, check_mode=check_mode,
force=True)
else:
return update(isamAppliance, id=id, hostname=hostname, port=port, bind_dn=bind_dn, bind_pwd=bind_pwd,
suffix=suffix, use_ssl=use_ssl, client_cert_label=client_cert_label, check_mode=check_mode,
suffix=suffix, use_ssl=use_ssl, client_cert_label=client_cert_label, ignore_if_down=ignore_if_down, check_mode=check_mode,
force=force)


def add(isamAppliance, id, hostname, port, bind_dn, bind_pwd, suffix, use_ssl=False, client_cert_label=None,
def add(isamAppliance, id, hostname, port, bind_dn, bind_pwd, suffix, use_ssl=False, client_cert_label=None, ignore_if_down=False,
check_mode=False, force=False):
"""
Create a new federated directory
Expand All @@ -57,7 +57,8 @@ def add(isamAppliance, id, hostname, port, bind_dn, bind_pwd, suffix, use_ssl=Fa
'bind_dn': bind_dn,
'bind_pwd': bind_pwd,
'use_ssl': use_ssl,
'suffix': suffix
'suffix': suffix,
'ignore_if_down': ignore_if_down
}
# Do not pass if there is no value - call fails otherwise
if client_cert_label is not None:
Expand All @@ -69,7 +70,7 @@ def add(isamAppliance, id, hostname, port, bind_dn, bind_pwd, suffix, use_ssl=Fa
return isamAppliance.create_return_object()


def update(isamAppliance, id, hostname, port, bind_dn, bind_pwd, suffix, use_ssl=False, client_cert_label=None,
def update(isamAppliance, id, hostname, port, bind_dn, bind_pwd, suffix, use_ssl=False, client_cert_label=None, ignore_if_down=False,
check_mode=False, force=False):
"""
Update an existing federated directory
Expand All @@ -86,7 +87,8 @@ def update(isamAppliance, id, hostname, port, bind_dn, bind_pwd, suffix, use_ssl
'bind_dn': bind_dn,
'bind_pwd': bind_pwd,
'use_ssl': use_ssl,
'suffix': suffix
'suffix': suffix,
'ignore_if_down': ignore_if_down
}
# Do not pass if there is no value - call fails otherwise
if client_cert_label is not None:
Expand Down