Пример #1
0
    def configure_api_protection(self,
                                 webseal_id,
                                 hostname=None,
                                 port=None,
                                 username=None,
                                 password=None,
                                 reuse_certs=None,
                                 reuse_acls=None,
                                 api=None,
                                 browser=None,
                                 junction=None):
        data = DataObject()
        data.add_value_string("hostname", hostname)
        data.add_value_string("username", username)
        data.add_value_string("password", password)
        data.add_value("port", port)
        data.add_value("junction", junction if junction != None else "/mga")

        data.add_value_boolean("reuse_certs", reuse_certs)
        data.add_value_boolean("reuse_acls", reuse_acls)
        data.add_value_boolean("api", api)
        data.add_value_boolean("browser", browser)

        endpoint = "%s/%s/oauth_config" % (REVERSEPROXY, webseal_id)

        response = self.client.post_json(endpoint, data.data)
        response.success = response.status_code == 204
        return response
Пример #2
0
    def create_ci(
            self, name=None, description=None, locked=None,
            connection_host_name=None, connection_client_id=None,
            connection_client_secret=None, connection_ssl_truststore=None):
        connection_data = DataObject()
        connection_data.add_value_string("adminHost", connection_host_name)
        connection_data.add_value("clientId", connection_client_id)
        connection_data.add_value("clientSecret", connection_client_secret)
        connection_data.add_value("ssl", True)
        connection_data.add_value("sslTruststore", connection_ssl_truststore)
        connection_data.add_value("usersEndpoint", "/v2.0/Users")
        # yes, I know this is a token endpoint. The parameter name was poorly selected
        connection_data.add_value("authorizeEndpoint", "/v1.0/endpoint/default/token")
        connection_data.add_value("authenticatorsEndpoint", "/v1.0/authenticators")
        connection_data.add_value("authnmethodsEndpoint", "/v1.0/authnmethods")

        data = DataObject()
        data.add_value_string("name", name)
        data.add_value_string("description", description)
        data.add_value_string("type", "ci")
        data.add_value_string("locked", locked)
        data.add_value_not_empty("connection", connection_data.data)

        endpoint = SERVER_CONNECTION_CI + "/v1"

        response = self.client.post_json(endpoint, data.data)
        response.success = response.status_code == 201

        return response
Пример #3
0
    def create_rule(self,
                    file_name=None,
                    rule_name=None,
                    category=None,
                    content=None):
        response = Response()
        try:
            data = DataObject()
            data.add_value_string("fileName",
                                  ("%s_%s.js" % (category, rule_name)))
            data.add_value_string("category", category)
            data.add_value_string("name", rule_name)
            if content == None:
                with open(file_name, 'rb') as content:
                    data.add_value_string("content",
                                          content.read().decode('utf-8'))
            else:
                data.add_value_string("content", content)
            endpoint = MAPPING_RULES

            response = self.client.post_json(endpoint, data.data)
            response.success = response.status_code == 201

        except IOError as e:
            logger.error(e)
            response.success = False

        return response
Пример #4
0
    def update_embedded_ldap_password(self, password):
        data = DataObject()
        data.add_value_string("password", password)

        response = self.client.post_json(EMBEDDED_LDAP_PASSWORD, data.data)
        response.success = response.status_code == 200

        return response
Пример #5
0
    def create_group(self, group=None):
        data = DataObject()
        data.add_value_string("id", group)
        endpoint = SYSACCOUNT_GROUPS +'/v1'
        response = self.client.post_json(endpoint, data.data)
        response.success = response.status_code == 200

        return response
Пример #6
0
    def update(self, _id=None, content=None):
        data = DataObject()
        data.add_value("content", content)
        data.add_value_string("id", _id)
        endpoint = CLIENT_CERT_CDAS + "/{}".format(_id)
        response = self.client.put_json(endpoint, data.data)
        response.success = response.status_code == 204

        return response
Пример #7
0
    def list_resources(self, sort_by=None, filter=None):
        parameters = DataObject()
        parameters.add_value_string("sortBy", sort_by)
        parameters.add_value_string("filter", filter)

        response = self.client.get_json(POLICY_ATTACHMENTS, parameters.data)
        response.success = response.status_code == 200

        return response
Пример #8
0
    def list_obligations(self, sort_by=None, filter=None):
        parameters = DataObject()
        parameters.add_value_string("sortBy", sort_by)
        parameters.add_value_string("filter", filter)

        response = self.client.get_json(OBLIGATIONS, parameters.data)
        response.success = response.status_code == 200

        return response
Пример #9
0
    def create(self, name=None, content=None):
        data = DataObject()
        data.add_value_string("name", name)
        data.add_value_string("content", dynurl_config_data)

        response = self.client.post_json(USER_MAP_CDAS, data.data)
        response.success = response.status_code == 200

        return response
Пример #10
0
    def update_user(self, user, password=None):
        data = DataObject()
        data.add_value_string('password', password)

        endpoint = SYSACCOUNT_USERS + '/' + user + '/v1'
        response = self.client.put_json(endpoint, data.data)
        response.success = response.status_code == 204

        return response
Пример #11
0
    def update_admin_password(self, old_password=None, password=None):
        endpoint = SYSACCOUNT_GROUPS + '/self/v1'
        data = DataObject()
        data.add_value_string('old_password', old_password)
        data.add_value_string('password', password)
        response.self.client.put_json(endpoint, data.data)
        response.success = response.status_code == 204

        return response
Пример #12
0
    def list_attribute_matchers(self, sort_by=None, filter=None):
        parameters = DataObject()
        parameters.add_value_string("sortBy", sort_by)
        parameters.add_value_string("filter", filter)

        response = self.client.get_json(ATTRIBUTE_MATCHERS, parameters.data)
        response.success = response.status_code == 200

        return response
Пример #13
0
    def create(self, name=None, content=None):
        data = DataObject()
        data.add_value_string("name", name)
        data.add_value_string("content", content)

        response = self.client.post_json(RATELIMIT, data.data)
        response.success = response.status_code == 200

        return response
Пример #14
0
    def create(self, name=None, fsso_config_data=None):
        data = DataObject()
        data.add_value_string("name", name)
        data.add_value_string("fsso_config_data", fsso_config_data)

        response = self.client.post_json(FSSO_CONFIG, data.data)
        response.success = response.status_code == 200

        return response
Пример #15
0
    def create(self, name=None, content=None):
        data = DataObject()
        data.add_value_string("name", name)
        data.add_value_not_empty("content", content)

        response = self.client.post_json(PASSWORD_STRENGTH, data.data)
        response.success = response.status_code == 200

        return response
Пример #16
0
    def update(self, _id=None, value=None):
        data = DataObject()
        data.add_value_string("value", value)

        endpoint = KERBEROS_CONFIG + "/{}".format(_id)
        response = self.client.put_json(endpoint, data.data)
        response.success = response.stauts_code == 200

        return response
Пример #17
0
    def combine_keytab(self, new_name=None, keytab_files=[]):
        data = DataObject()
        data.add_value_string("new_name", new_name)
        data.add_value_not_empty("keytab_files", keytab_files)

        response = self.client.put_json(KERBEROS_KEYTAB, data.data)
        response.success = response.status_code == 200

        return response
Пример #18
0
    def verify_keytab(self, _id=None, name=None):
        data = DataObject()
        data.add_value_string("name", name)

        endpoint = KERBEROS_KEYTAB + "/{}".format(_id)
        response = self.client.put_json(endpoint, data.data)
        response.success = response.status_code == 200

        return response
Пример #19
0
    def create(self, name=None, dynurl_config_data=None):
        data = DataObject()
        data.add_value_string("name", name)
        data.add_value_string("dynurl_config_data", dynurl_config_data)

        response = self.client.post_json(URL_MAPPING, data.data)
        response.success = response.status_code == 200

        return response
Пример #20
0
    def create(self, name=None, template=None, contents=None):
        data = DataObject()
        data.add_value_string("name", name)
        data.add_value_string("template", template)
        data.add_value_string("contents", contents)

        response = self.client.post_json(HTTP_TRANSFORM, data.data)
        response.success = response.status_code == 200
        return response
Пример #21
0
    def run(
            self, command=None,input_array=None):
        data = DataObject()
        data.add_value_string("command", command)
        data.add_value("input", input_array)
        
        response = self.client.post_json(CLI_COMMAND, data.data)
        response.success = response.status_code == 200

        return response
Пример #22
0
    def activate_module(self, code):
        data = DataObject()
        data.add_value_string("code", code)

        endpoint = CAPABILITIES + "/v1"

        response = self.client.post_json(endpoint, data.data)
        response.success = response.status_code == 200

        return response
Пример #23
0
    def restart_instance(self, id):
        data = DataObject()
        data.add_value_string("operation", "restart")

        endpoint = "%s/%s" % (REVERSEPROXY, id)

        response = self.client.put_json(endpoint, data.data)
        response.success = response.status_code == 200

        return response
Пример #24
0
    def test(self, username=None, password=None):
        endpoint = RSA_CONFIG + "/test"

        data = DataObject()
        data.add_value_string("username", username)
        data.add_value_string("password", password)
        response = self.client.post_json(endpoint, data.data)
        response.success = response.status_code == 204

        return response
Пример #25
0
    def create(self, name=None, groups=[], attributes=[]):
        data = DataObject()
        data.add_value_string("name", name)
        data.add_value_not_empty("group", grups)
        data.add_value_not_empty("attributes", attributes)

        response = self.client.post_json(POLICY, data.data)
        response.success = response.status_code == 200

        return response
Пример #26
0
    def execute(self, admin_id, admin_pwd, commands):
        data = DataObject()
        data.add_value_string("admin_id", admin_id)
        data.add_value_string("admin_pwd", admin_pwd)
        data.add_value("commands", commands)

        response = self.client.post_json(PDADMIN, data.data)
        response.success = response.status_code == 200

        return response
Пример #27
0
    def add_hostname(self, address, hostname=None):
        data = DataObject()
        data.add_value_string("name", hostname)

        endpoint = "%s/%s/hostnames" % (HOST_RECORDS, address)

        response = self.client.post_json(endpoint, data.data)
        response.success = response.status_code == 200

        return response
Пример #28
0
    def update_user_password(self, username, password=None):
        data = DataObject()
        data.add_value_string("password", password)

        endpoint = "%s/users/%s/v1" % (USER_REGISTRY, username)

        response = self.client.put_json(endpoint, data.data)
        response.success = response.status_code == 204

        return response
Пример #29
0
    def test(self, username=None, password=None):
        data = DataObject()
        data.add_value_string("username", username)
        data.add_value_string("password", password)

        endpoint = "/wga/kerberos/test"
        response = self.client.post_json(endpoint, data.data)
        response.success = response.status_code == 200

        return response
Пример #30
0
    def get_application_log(self, path):
        parameters = DataObject()
        parameters.add_value_string("type", "File")

        endpoint = "%s/%s" % (APPLICATION_LOGS, path)

        response = self.client.get_json(endpoint, parameters.data)
        response.success = response.status_code == 200

        return response