Пример #1
0
    def update_route(self,
                     uuid,
                     enabled=None,
                     address=None,
                     mask_or_prefix=None,
                     gateway=None,
                     interface_uuid=None,
                     metric=0,
                     comment=None,
                     table=None):

        data = DataObject()
        data.add_value_string("address", address)
        data.add_value_string("maskOrPrefix", mask_or_prefix)
        data.add_value("enabled", enabled)
        data.add_value("metric", metric)
        data.add_value_string("gateway", gateway)
        data.add_value_string("interfaceUUID", interface_uuid)
        data.add_value_string("metric", metric)
        data.add_value_string("comment", comment)
        data.add_value_string("table", table)

        url = ROUTES + '/' + uuid

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

        return response
Пример #2
0
    def create_smtp(
            self, name=None, description=None,connect_timeout=None, 
            connection_host_name=None, connection_host_port=None,
            connection_ssl=None, connection_user=None, connection_password=None):
        connection_data = DataObject()
        connection_data.add_value_string("hostName", connection_host_name)
        connection_data.add_value("hostPort", connection_host_port)
        connection_data.add_value("ssl", connection_ssl)
        connection_data.add_value("user", connection_user)
        connection_data.add_value("password", connection_password)

        manager_data = DataObject()
        manager_data.add_value("connectTimeout", connect_timeout)

        data = DataObject()
        data.add_value_string("name", name)
        data.add_value_string("description", description)
        data.add_value_string("type", "smtp")
        data.add_value_not_empty("connection", connection_data.data)
        data.add_value_not_empty("connectionManager", manager_data.data)

        endpoint = SERVER_CONNECTION_SMTP + "/v1"

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

        return response
Пример #3
0
    def configure_fed(self,
                      webseal_id,
                      federation_id=None,
                      reuse_certs=False,
                      reuse_acls=False,
                      runtime_hostname=None,
                      runtime_port=None,
                      runtime_username=None,
                      runtime_password=None):

        data = DataObject()
        data.add_value_string("federation_id", federation_id)
        data.add_value("reuse_certs", reuse_certs)
        data.add_value("reuse_acls", reuse_acls)

        runtime_data = DataObject()
        runtime_data.add_value_string("hostname", runtime_hostname)
        runtime_data.add_value_string("port", runtime_port)
        runtime_data.add_value_string("username", runtime_username)
        runtime_data.add_value_string("password", runtime_password)

        data.add_value_not_empty("runtime", runtime_data.data)

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

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

        return response
Пример #4
0
    def create_ldap(
            self, name=None, description=None, locked=None,
            connection_host_name=None, connection_bind_dn=None,
            connection_bind_pwd=None, connection_ssl_truststore=None,
            connection_ssl_auth_key=None, connection_host_port=None,
            connection_ssl=None, connect_timeout=None, servers=None):
        connection_data = DataObject()
        connection_data.add_value_string("hostName", connection_host_name)
        connection_data.add_value_string("bindDN", connection_bind_dn)
        connection_data.add_value_string("bindPwd", connection_bind_pwd)
        connection_data.add_value_string(
            "sslTruststore", connection_ssl_truststore)
        connection_data.add_value_string("sslAuthKey", connection_ssl_auth_key)
        connection_data.add_value("hostPort", connection_host_port)
        connection_data.add_value("ssl", connection_ssl)

        manager_data = DataObject()
        manager_data.add_value("connectTimeout", connect_timeout)

        data = DataObject()
        data.add_value_string("name", name)
        data.add_value_string("description", description)
        data.add_value_string("type", "ldap")
        data.add_value("locked", locked)
        data.add_value("servers", servers)
        data.add_value_not_empty("connection", connection_data.data)
        data.add_value_not_empty("connectionManager", manager_data.data)

        endpoint = SERVER_CONNECTION_LDAP + "/v1"

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

        return response
Пример #5
0
    def create_web_service(
            self, name=None, description=None, locked=None, connection_url=None,
            connection_user=None, connection_password=None,
            connection_ssl_truststore=None, connection_ssl_auth_key=None,
            connection_ssl=None):
        connection_data = DataObject()
        connection_data.add_value_string("url", connection_url)
        connection_data.add_value_string("user", connection_user)
        connection_data.add_value_string("password", connection_password)
        connection_data.add_value_string(
            "sslTruststore", connection_ssl_truststore)
        connection_data.add_value_string("sslAuthKey", connection_ssl_auth_key)
        connection_data.add_value("ssl", connection_ssl)

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

        endpoint = SERVER_CONNECTION_WEB_SERVICE + "/v1"

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

        return response
Пример #6
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
Пример #7
0
    def configure(
            self, ps_mode=None, user_registry=None, admin_password=None,
            ldap_password=None, admin_cert_lifetime=None, ssl_compliance=None,
            ldap_host=None, ldap_port=None, isam_domain=None, ldap_dn=None,
            ldap_suffix=None, ldap_ssl_db=None, ldap_ssl_label=None,
            isam_host=None, isam_port=None, clean_ldap=None):
        data = DataObject()
        data.add_value_string("ps_mode", ps_mode)
        data.add_value_string("user_registry", user_registry)
        data.add_value_string("admin_cert_lifetime", admin_cert_lifetime)
        data.add_value_string("ssl_compliance", ssl_compliance)
        data.add_value_string("admin_pwd", admin_password)
        data.add_value_string("ldap_pwd", ldap_password)
        data.add_value_string("ldap_host", ldap_host)
        data.add_value_string("domain", isam_domain)
        data.add_value_string("ldap_dn", ldap_dn)
        data.add_value_string("ldap_suffix", ldap_suffix)
        data.add_value_string("clean_ldap", clean_ldap)
        if ldap_ssl_db is not None:
            data.add_value_string("ldap_ssl_db", ldap_ssl_db if ldap_ssl_db.endswith(".kdb") else ldap_ssl_db+".kdb")
            data.add_value_string("usessl", "on")
        data.add_value_string("ldap_ssl_label", ldap_ssl_label)
        data.add_value_string("isam_host", isam_host)
        data.add_value("ldap_port", ldap_port)
        data.add_value("isam_port", isam_port)

        logger.info(data.data)
        response = self.client.post_json(RUNTIME_COMPONENT, data.data)

        response.success = response.status_code == 200

        return response
Пример #8
0
    def create_client(
            self, name=None, redirect_uri=None, company_name=None,
            company_url=None, contact_person=None, contact_type=None,
            email=None, phone=None, other_info=None, definition=None,
            client_id=None, client_secret=None, require_pkce_verification=None,
            jwks_uri=None, encryption_db=None, encryption_cert=None):
        data = DataObject()
        data.add_value_string("name", name)
        data.add_value("redirectUri", redirect_uri)
        data.add_value_string("companyName", company_name)
        data.add_value_string("companyUrl", company_url)
        data.add_value_string("contactPerson", contact_person)
        data.add_value_string("contactType", contact_type)
        data.add_value_string("email", email)
        data.add_value_string("phone", phone)
        data.add_value_string("otherInfo", other_info)
        data.add_value_string("definition", definition)
        data.add_value_string("clientId", client_id)
        data.add_value_string("clientSecret", client_secret)
        data.add_value_boolean("requirePkce", require_pkce_verification)
        data.add_value_string("jwksUri", jwks_uri)
        data.add_value_string("encryptionDb", encryption_db)
        data.add_value_string("encryptioncert", encryption_cert)

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

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

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

        return response
Пример #11
0
    def set_sla_status(self, accept=True):
        data = DataObject()
        data.add_value("accepted", accept)

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

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

        return response
Пример #13
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
Пример #14
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
Пример #15
0
    def update(self, parameter, value=None):
        data = DataObject()
        data.add_value("value", value)

        endpoint = "%s/%s/v1" % (RUNTIME_TUNING, parameter)

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

        return response
Пример #16
0
    def set_current_profile(self, profile_id):
        data = DataObject()

        data.add_value('currentProfileId', profile_id)

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

        return response
Пример #17
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
Пример #18
0
    def create_oidc_rp_federation(self,
                                  name=None,
                                  redirect_uri_prefix=None,
                                  response_types=None,
                                  active_delegate_id=None,
                                  identity_mapping_rule_reference=None,
                                  advanced_configuration_active_delegate=None,
                                  advanced_configuration_rule_id=None):

        data = DataObject()
        data.add_value_string("name", name)
        data.add_value_string("protocol", "OIDC10")
        data.add_value_string("role", 'rp')

        attributeMapping = DataObject()

        identityMapping = DataObject()
        identityMapping.add_value_string("activeDelegateId",
                                         active_delegate_id)
        properties = DataObject()
        properties.add_value_string("identityMappingRuleReference",
                                    identity_mapping_rule_reference)
        identityMapping.add_value_not_empty("properties", properties.data)

        advancedConfiguration = DataObject()
        if advanced_configuration_active_delegate == None:
            advancedConfiguration.add_value_string("activeDelegateId",
                                                   'skip-advance-map')
        else:
            advancedConfiguration.add_value_string(
                "activeDelegateId", advanced_configuration_active_delegate)
            properties = DataObject()
            properties.add_value_string("advanceMappingRuleReference",
                                        advanced_configuration_rule_id)
            advancedConfiguration.add_value_not_empty("properties",
                                                      properties.data)

        configuration = DataObject()
        configuration.add_value_string("redirectUriPrefix",
                                       redirect_uri_prefix)
        configuration.add_value("responseTypes", response_types)
        configuration.add_value_not_empty("advanceConfiguration",
                                          advancedConfiguration.data)
        configuration.add_value_not_empty("identityMapping",
                                          identityMapping.data)
        configuration.add_value_not_empty("attributeMapping",
                                          attributeMapping.data)

        data.add_value_not_empty("configuration", configuration.data)

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

        return response
Пример #19
0
    def update(self, id, value=None, sensitive=False):
        data = DataObject()
        data.add_value_string("value", value)
        data.add_value("sensitive", sensitive)

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

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

        return response
Пример #20
0
    def create_parameter(self, key=None, value=None, comment=None):
        data = DataObject()
        data.add_value_string("key", key)
        data.add_value_string("value", value)
        data.add_value_string("comment", comment)
        data.add_value("_isNew", True)

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

        return response
Пример #21
0
    def get_directory(self, path, recursive=None):
        parameters = DataObject()
        parameters.add_value("recursive", recursive)

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

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

        if response.success and isinstance(response.json, dict):
            response.json = response.json.get("contents", [])

        return response
Пример #22
0
    def load_signer(self, kdb_id, server=None, port=None, label=None):
        data = DataObject()
        data.add_value_string("operation", "load")
        data.add_value_string("label", label)
        data.add_value_string("server", server)
        data.add_value("port", port)

        endpoint = ("%s/%s/signer_cert" % (SSL_CERTIFICATES, kdb_id))

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

        return response
Пример #23
0
    def create_user(self, user=None, password=None, groups=[]):
        data = DataObject()
        data.add_value_string('id', user)
        data.add_value_string('password', password)
        if groups:
            groups_data = DataObject()
            for group in groups:
                groups_data.add_value('id', group)
            data.add_value_not_empty('groups', groups_data.data)
        endpoint = SYSACCOUNT_USERS + '/v1'
        response = self.client.post_json(endpoint, data.data)
        response.success = response.status_code == 200

        return response
Пример #24
0
    def update(self,
               enable_ntp=True,
               ntp_servers=None,
               time_zone=None,
               date_time="0000-00-00 00:00:00"):
        data = DataObject()
        data.add_value_string("dateTime", date_time)
        data.add_value_string("ntpServers", ntp_servers)
        data.add_value_string("timeZone", time_zone)
        data.add_value("enableNtp", enable_ntp)

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

        return response
Пример #25
0
    def update(self, enforce_config=False, roles=[]):
        auth_config = DataObject()
        auth_config.add_value_boolean("enforcing", enforce_config)

        auth_roles = DataObject()
        auth_roles.add_value_not_empty("roles", roles)

        data = DataObject()
        data.add_value("config", auth_config.data)
        data.add_value_not_empty("roles", auth_roles.data)
        endpoint = MANAGEMENT_AUTHORIZATION + '/v1'
        response = self.client.post_json(endpoint, data.data)
        response.success = response.status_code == 200

        return response
Пример #26
0
    def create_mechanism(
            self, description=None, name=None, uri=None, type_id=None,
            properties=None, attributes=None):
        data = DataObject()
        data.add_value_string("description", description)
        data.add_value_string("name", name)
        data.add_value_string("uri", uri)
        data.add_value_string("typeId", type_id)
        data.add_value("properties", properties)
        data.add_value("attributes", attributes)

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

        return response
Пример #27
0
    def update_isam_user(self,
                         ldap_connection=None,
                         isam_domain=None,
                         update_native_users=None):
        data = DataObject()
        data.add_value_string("ldap_connection", ldap_connection)
        data.add_value_string("isam_domain", isam_domain)
        data.add_value("update_native_users", update_native_users)

        endpoint = ("%s/%s" % (SCIM_CONFIGURATION, SCHEMA_ISAM_USER))

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

        return response
Пример #28
0
    def create_attribute_source(self,
                                attribute_name=None,
                                attribute_type=None,
                                attribute_value=True,
                                properties=None):

        data = DataObject()
        data.add_value_string("name", attribute_name)
        data.add_value_string("type", attribute_type)
        data.add_value_string("value", attribute_value)
        data.add_value("properties", properties)

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

        return response
Пример #29
0
    def configure_resource(self,
                           server=None,
                           resource_uri=None,
                           policy_combining_algorithm=None,
                           policies=None):
        data = DataObject()
        data.add_value_string("server", server)
        data.add_value_string("resourceUri", resource_uri)
        data.add_value_string("policyCombiningAlgorithm",
                              policy_combining_algorithm)
        data.add_value("policies", policies)

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

        return response
Пример #30
0
    def update(self, name, allowed_origins=[], allow_credentials=None, exposed_headers=[],
            handle_preflight=None, allowed_methods=[], allowed_headers=[], max_age=None):
        data = DataObject()
        data.add_value_not_empty("allowed_origins", allowed_origins)
        data.add_value_boolean("allow_credentials", allow_credentials)
        data.add_value_not_empty("exposed_headers", exposed_headers)
        data.add_value_boolean("handle_preflight", handle_preflight)
        data.add_value_not_empty("alowed_methods", allowed_methods)
        data.add_value_not_empty("alowed_headers", allowed_headers)
        data.add_value("max_age", max_age)

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

        return response