Beispiel #1
0
def update_policies(isamAppliance,
                    name,
                    policies,
                    action,
                    check_mode=False,
                    force=False):
    """
    Update a specified policy set's policies (add/remove/set)

    Note: Please input policies as an array of policy names (it will be converted to id's)
    """
    pol_id, update_required, json_data = _check_policies(
        isamAppliance, name, policies, action)

    if pol_id is None:
        from ibmsecurity.appliance.ibmappliance import IBMError
        raise IBMError(
            "999",
            "Cannot update data for unknown policy set: {0}".format(name))

    if force is True or update_required is True:
        if check_mode is True:
            return isamAppliance.create_return_object(changed=True)
        else:
            return isamAppliance.invoke_put(
                "Update a specified policy set", "{0}/{1}/policies{2}".format(
                    uri, pol_id, tools.create_query_string(action=action)),
                json_data)

    return isamAppliance.create_return_object()
Beispiel #2
0
def get_all(isamAppliance, count=None, start=None, filter=None, check_mode=False, force=False):
    """
    Retrieve a list of federations
    """
    return isamAppliance.invoke_get("Retrieve a list of federations",
                                    "/iam/access/v8/federations/{0}".format(
                                        tools.create_query_string(count=count, start=start, filter=filter)))
Beispiel #3
0
def get_users(isamAppliance, sortBy=None, filter=None, check_mode=False, force=False):
    """
    Get all users that have grants
    """
    return isamAppliance.invoke_get("Get all users that have grants",
                                    "/iam/access/v8/grants/userIds{0}".format(
                                        tools.create_query_string(sortBy=sortBy, filter=filter)))
def update_attachments(isamAppliance,
                       server,
                       resourceUri,
                       attachments,
                       action,
                       check_mode=False,
                       force=False):
    """
    Update the attachments for a resource

    Provide attachemnts like so:
        [{'name': '<policy name>', 'type': 'policy'}, {'name': '<policyset name>', 'type': 'policyset'}]
    """
    ret_obj = get(isamAppliance, server, resourceUri)
    cur_policies = ret_obj['data']['policies']

    if force is True or _check(cur_policies, attachments, action) is True:
        if check_mode is True:
            return isamAppliance.create_return_object(changed=True)
        else:
            new_policies = _convert_policy_name_to_id(isamAppliance,
                                                      attachments)
            return isamAppliance.invoke_put(
                "Update the attachments for a resource",
                "{0}/{1}/policies{2}".format(
                    uri, ret_obj['data']['id'],
                    tools.create_query_string(action=action)), new_policies)
    return isamAppliance.create_return_object()
Beispiel #5
0
def get_all(isamAppliance, filter=None, start=None, count=None, check_mode=False, force=False):
    """
    Retrieve a list of bundles
    """
    return isamAppliance.invoke_get("Retrieve a list of bundles",
                                    "{0}{1}".format(uri,
                                                    tools.create_query_string(filter=filter, start=start, count=count)))
Beispiel #6
0
def get_cpu(isdsAppliance, statistics_duration, check_mode=False, force=False):
    """
    Retrieving the CPU Usage Statistics
    """
    return isdsAppliance.invoke_get(
        "Retrieving the CPU Usage Statistics",
        "/analysis/system_cpu{0}".format(
            tools.create_query_string(timespan=statistics_duration)))
Beispiel #7
0
def get_session(isamAppliance, replica, user="******", max="1024", check_mode=False, force=False):
    """
    Searching for session within a replica set
    """
    return isamAppliance.invoke_get("Searching for session within a replica set",
                                    "{0}/{1}/sessions{2}".format(uri, replica,
                                                                 tools.create_query_string(user=user, max=max)),
                                    requires_modules=requires_modules, requires_version=requires_version,requires_model=requires_model)
Beispiel #8
0
def get_network(isdsAppliance, application_interface, statistics_duration, check_mode=False, force=False):
    """
    Retrieving the Application Interface Statistics
    """
    return isdsAppliance.invoke_get("Retrieving the Application Interface Statistics",
                                    "/analysis/interface_statistics{0}".format(
                                        tools.create_query_string(prefix=application_interface,
                                                                  timespan=statistics_duration)))
Beispiel #9
0
def get_all(isamAppliance, recursive='yes', includeValues='yes', check_mode=False, force=False):
    """
    Retrieve Kerberos Configuration: all Domain to Realm mappings defined
    """
    return isamAppliance.invoke_get("Retrieve Kerberos Configuration: Domains",
                                    "{0}{1}".format(uri, tools.create_query_string(recursive=recursive,
                                                                                   includeValues=includeValues)),
                                    requires_modules=requires_modules, requires_version=requires_version)
Beispiel #10
0
def get_all(isamAppliance, filter=None, sortBy=None, check_mode=False, force=False):
    """
    Retrieve a list of Policy Information Points (PIPs)

    """
    return isamAppliance.invoke_get("Retrieve a list of policy information points (pips)",
                                    "{0}/{1}".format(uri, tools.create_query_string(filter=filter, sortBy=sortBy)),
                                    requires_modules=requires_modules, requires_version=requires_version)
def get(isamAppliance, file_path, length=None, start=None, check_mode=False, force=False):
    """
    Retrieving the contents of a file from the application log files area
    """
    return isamAppliance.invoke_get("Retrieving the contents of a file from the application log files area",
                                    "{0}/{1}{2}".format(uri, file_path,
                                                        tools.create_query_string(
                                                            length=length,
                                                            start=start)))
Beispiel #12
0
def get_all(isamAppliance, count=None, start=None, filter=None, check_mode=False, force=False):
    """
    Retrieve a list of federations
    """
    return isamAppliance.invoke_get("Retrieve a list of federations",
                                    "{0}/{1}".format(uri, tools.create_query_string(count=count, start=start,
                                                                                    filter=filter)),
                                    requires_modules=requires_modules,
                                    requires_version=requires_version)
Beispiel #13
0
def get_cpu(isamAppliance, statistics_duration, check_mode=False, force=False):
    """
    Retrieving the CPU Usage Statistics
    """
    return isamAppliance.invoke_get(
        "Retrieving the CPU Usage Statistics",
        "/statistics/systems/cpu.json{0}".format(
            tools.create_query_string(timespan=statistics_duration)),
        requires_model=requires_model)
Beispiel #14
0
def get_all(isamAppliance, recursive='yes', includeValues='yes', addParent='yes', check_mode=False, force=False):
    """
    Retrieve Kerberos Configuration: CA Paths
    """
    return isamAppliance.invoke_get("Retrieve Kerberos Configuration: CA Paths",
                                    "{0}{1}".format(uri, tools.create_query_string(recursive=recursive,
                                                                                   includeValues=includeValues,
                                                                                   addParent=addParent)),
                                    requires_modules=requires_modules, requires_version=requires_version)
Beispiel #15
0
def get(isamAppliance, instance_id, component_id, file_id, options=None, size=None, start=None, check_mode=False, force=False):
    """
    Retrieving snippet of a trace log file for a component - Reverse Proxy
    """
    return isamAppliance.invoke_get("Retrieving snippet of a trace log file - Reverse Proxy",
                                    "{0}/{1}/tracing/{2}/trace_files/{3}".format(uri,
                                                                             instance_id,
                                                                             component_id,
                                                                             file_id,
                                                                             tools.create_query_string(
                                                options=options, start=start, size=size)))
def get_all(isamAppliance, file_path='', recursive='yes', flat_details=None, check_mode=False, force=False):
    """
    Retrieving the contents of a directory from the application log files area

    flat_details - takes 'yes' or 'no'
    """
    return isamAppliance.invoke_get("Retrieving the contents of a directory from the application log files area",
                                    "{0}/{1}/{2}".format(uri, file_path,
                                                         tools.create_query_string(
                                                             recursive=recursive,
                                                             flat_details=flat_details)))
def get_all(isamAppliance,
            filter=None,
            sortBy=None,
            check_mode=False,
            force=False):
    """
    Retrieve a list of configured resources
    """
    return isamAppliance.invoke_get(
        "Retrieve a list of configured resources", "{0}{1}".format(
            uri, tools.create_query_string(filter=filter, sortBy=sortBy)))
Beispiel #18
0
def get_storage(isamAppliance,
                statistics_duration,
                check_mode=False,
                force=False):
    """
    Retrieving the Storage Usage Statistics
    """
    return isamAppliance.invoke_get(
        "Retrieving the Storage Usage Statistics",
        "/statistics/systems/storage.json{0}".format(
            tools.create_query_string(timespan=statistics_duration)))
Beispiel #19
0
def download(isdsAppliance, filename, id, check_mode=False, force=False):
    """
    Download snapshot file(s) to a zip file.
    Note: id can be a list or a single value
    """
    if force is True or (_check(isdsAppliance, id=id) is True and os.path.exists(filename) is False):
        if check_mode is False:  # No point downloading a file if in check_mode
            if isinstance(id, list):
                id = ','.join(id)
            uri_download = "{0}/download{1}".format(uri, tools.create_query_string(record_ids=id))
            return isdsAppliance.invoke_get_file("Downloading snapshots", uri_download, filename)

    return isdsAppliance.create_return_object()
Beispiel #20
0
def get_rp_throughput(isamAppliance,
                      instance,
                      date,
                      duration,
                      check_mode=False,
                      force=False):
    """
    Retrieving throughput records for a specific Reverse Proxy instance
    """
    return isamAppliance.invoke_get(
        "Retrieving throughput records for a specific Reverse Proxy instance",
        "/analysis/reverse_proxy_traffic/throughput/{0}{1}".format(
            instance, tools.create_query_string(date=date, duration=duration)))
Beispiel #21
0
def get_all(isamAppliance,
            count=None,
            start=None,
            check_mode=False,
            force=False):
    """
    Retrieve a list of attributes for all users
    """
    return isamAppliance.invoke_get(
        "Retrieve a list of access policies",
        "{0}/{1}".format(uri,
                         tools.create_query_string(count=count, start=start)),
        requires_modules=requires_modules,
        requires_version=requires_version)
Beispiel #22
0
def get_rp_junction(isamAppliance,
                    instance,
                    date,
                    duration,
                    check_mode=False,
                    force=False):
    """
    Retrieving junction average response times for a Reverse Proxy instance
    """
    return isamAppliance.invoke_get(
        "Retrieving junction average response times for a Reverse Proxy instance",
        "/analysis/reverse_proxy_traffic/reqtime{0}".format(
            tools.create_query_string(date=date,
                                      duration=duration,
                                      instance=instance)))
Beispiel #23
0
def get_all(isamAppliance,
            filter=None,
            sortBy=None,
            check_mode=False,
            force=False):
    """
    Retrieve a list of devices fingerprints
    """
    return isamAppliance.invoke_get("Retrieve a list of Device Fingerprints",
                                    "{0}/{1}".format(
                                        uri,
                                        tools.create_query_string(
                                            filter=filter, sortBy=sortBy)),
                                    requires_modules=requires_modules,
                                    requires_version=requires_version)
Beispiel #24
0
def delete(isdsAppliance, id, check_mode=False, force=False):
    """
    Deleting a support file
    """
    if force is True or _check(isdsAppliance, id=id) is True:
        if check_mode is True:
            return isdsAppliance.create_return_object(changed=True)
        else:
            if isinstance(id, list):
                del_uri = "{0}/multi_destroy{1}".format(uri, tools.create_query_string(record_ids=','.join(id)))
            else:
                del_uri = "{0}/{1}".format(uri, id)
            return isdsAppliance.invoke_delete("Deleting a support file", del_uri)

    return isdsAppliance.create_return_object()
Beispiel #25
0
def get_all(isamAppliance,
            filter=None,
            sortBy=None,
            check_mode=False,
            force=False):
    """
    Retrieve a list of attribute matchers
    """
    return isamAppliance.invoke_get("Retrieve a list of Attribute Matchers",
                                    "{0}/{1}".format(
                                        am_uri,
                                        tools.create_query_string(
                                            filter=filter, sortBy=sortBy)),
                                    requires_modules=requires_modules,
                                    requires_version=requires_version)
Beispiel #26
0
def get(isamAppliance,
        file_id,
        options=None,
        size=None,
        start=None,
        check_mode=False,
        force=False):
    """
    Retrieving a snippet of a common log file
    """
    return isamAppliance.invoke_get(
        "Retrieving a snippet of a common log file", "{0}/{1}{2}".format(
            uri, file_id,
            tools.create_query_string(options=options, start=start,
                                      size=size)))
Beispiel #27
0
def get_rp_traffic_detail_aspect(isamAppliance,
                                 instance,
                                 date,
                                 duration,
                                 aspect,
                                 aspect_identifier,
                                 check_mode=False,
                                 force=False):
    """
    Retrieving detailed traffic records for a specific User-Agent on a specific junction in a Reverse Proxy instance
    """
    return isamAppliance.invoke_get(
        "Retrieving detailed traffic records for a specific User-Agent on a specific junction in a Reverse Proxy instance",
        "/analysis/reverse_proxy_traffic/traffic/instance/{0}/{1}/{2}/{1}/{2}{3}"
        .format(instance, aspect, aspect_identifier,
                tools.create_query_string(date=date, duration=duration)))
Beispiel #28
0
def get(isamAppliance,
        sortBy=None,
        count=None,
        start=None,
        filter=None,
        check_mode=False,
        force=False):
    """
    Retrieve alias associations
    """
    return isamAppliance.invoke_get(
        "Retrieve alias associations",
        "/iam/access/v8/alias_service{0}".format(
            tools.create_query_string(sortBy=sortBy,
                                      count=count,
                                      start=start,
                                      filter=filter)))
def get_all(isamAppliance,
            start=None,
            count=None,
            filter=None,
            sortBy=None,
            check_mode=False,
            force=False):
    """
    Retrieve a list of Obligation types
    """
    return isamAppliance.invoke_get(
        "Retrieve a list of {0}", "{1}/{2}".format(
            artifact_type, uri,
            tools.create_query_string(start=start,
                                      count=count,
                                      filter=filter,
                                      sortBy=sortBy)))
Beispiel #30
0
def get_all(isamAppliance,
            start=None,
            count=None,
            filter=None,
            sortBy=None,
            check_mode=False,
            force=False):
    """
    Retrieve a list of authentication mechanisms types
    """
    return isamAppliance.invoke_get(
        "Retrieve a list of authentication mechanisms types",
        "/iam/access/v8/authentication/mechanism/types{0}".format(
            tools.create_query_string(start=start,
                                      count=count,
                                      filter=filter,
                                      sortBy=sortBy)))