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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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