Source code for config.create_application_with_agent_credentials

from indykite_sdk.model.create_application import CreateApplication
from indykite_sdk.model.create_application_agent import CreateApplicationAgent
from indykite_sdk.model.register_application_agent_credential import RegisterApplicationAgentCredential
from indykite_sdk.model.key_type import KeyType
import sys
import indykite_sdk.utils.logger as logger
from indykite_sdk.config import helper
from datetime import datetime


[docs]def create_application_with_agent_credentials(self, app_space_id, default_tenant_id, application_name, application_agent_name, application_agent_credentials_name, public_key_type, public_key=None, expire_time=None): """ create application, application agent and application credentials for a tenant in an appSpace :param self: :param app_space_id: string :param default_tenant_id: string :param application_name: string :param application_agent_name: string :param application_agent_credentials_name: string :param public_key_type: jwk | pem :param public_key: bytes | None :param expire_time: int (number of seconds from now) | None :return: """ sys.excepthook = logger.handle_excepthook try: application_name_id = helper.change_display_to_name(str(application_name)) response_application = self.create_application(app_space_id, application_name_id, str(application_name), str(application_name), []) if isinstance(response_application, CreateApplication): application_agent_name_id = helper.change_display_to_name(str(application_agent_name)) response_application_agent = self.create_application_agent(response_application.id, application_agent_name_id, str(application_agent_name), str(application_agent_name), []) if isinstance(response_application_agent, CreateApplicationAgent): key_types = [k.value for k in KeyType] if public_key_type not in key_types: raise TypeError("public_key_type must be a member of KeyType: jwk, pem") response_application_agent_credentials = None t = datetime.now().timestamp() if expire_time: expire_time = int(t) + int(expire_time) else: expire_time = int(t) + 3600 if public_key_type == 'jwk': response_application_agent_credentials = self.register_application_agent_credential_jwk( response_application_agent.id, application_agent_credentials_name, public_key, expire_time, str(default_tenant_id), []) elif public_key_type == 'pem': response_application_agent_credentials = self.register_application_agent_credential_pem( response_application_agent.id, application_agent_credentials_name, public_key, expire_time, str(default_tenant_id), []) if isinstance(response_application_agent_credentials, RegisterApplicationAgentCredential): response = {"response_application": response_application, "response_application_agent": response_application_agent, "response_application_agent_credentials": response_application_agent_credentials} return response return None except Exception as exception: return logger.logger_error(exception)