def create(self, data): """Create a new app.""" db_obj = objects.registry.App() db_obj.id = str(uuid.uuid4()) db_obj.user_id = self.context.user db_obj.project_id = self.context.tenant db_obj.deleted = False # create a delegation trust_id\token, if required db_obj.trust_id = keystone_utils.create_delegation_token(self.context) db_obj.trust_user = self.context.user_name db_obj.name = data.get('name') db_obj.description = data.get('description') db_obj.languagepack = data.get('languagepack') db_obj.stack_id = data.get('stack_id') db_obj.ports = data.get('ports') db_obj.source = data.get('source') db_obj.workflow_config = data.get('workflow_config') db_obj.trigger_uuid = str(uuid.uuid4()) db_obj.trigger_actions = data.get('trigger_actions') db_obj.raw_content = data.get('raw_content') db_obj.create(self.context) return db_obj
def create(self, data): """Create a new app.""" db_obj = objects.registry.App() db_obj.id = uuidutils.generate_uuid() db_obj.user_id = self.context.user db_obj.project_id = self.context.tenant db_obj.deleted = False # create a delegation trust_id\token, if required db_obj.trust_id = keystone_utils.create_delegation_token(self.context) db_obj.trust_user = self.context.user_name db_obj.name = data.get('name') db_obj.description = data.get('description') db_obj.languagepack = data.get('languagepack') db_obj.stack_id = data.get('stack_id') db_obj.ports = data.get('ports') db_obj.source = data.get('source') db_obj.workflow_config = data.get('workflow_config') db_obj.trigger_uuid = uuidutils.generate_uuid() db_obj.trigger_actions = data.get('trigger_actions') raw_content = data.get('raw_content') raw_content_json = json.loads(raw_content) raw_content_json['username'] = self.context.user_name raw_content_json['user_id'] = self.context.user encrypted_password = utils.encrypt(self.context.password) # encrypted_password contains encoded characters that cannot # be json dumped which is required in order to save it to db. # So we need to decode it first. decoded_password = encrypted_password.decode('ISO-8859-1') raw_content_json['password'] = decoded_password raw_content_json['auth_url'] = self.context.auth_url raw_content_json['tenant'] = self.context.tenant raw_content_json['tenant_name'] = self.context.tenant_name db_obj.raw_content = json.dumps(raw_content_json) common.check_url(db_obj.source['repository']) db_obj.create(self.context) return db_obj
def create(self, data): """Create a new plan.""" db_obj = objects.registry.Plan() if "name" in data: db_obj.name = data["name"] db_obj.uuid = str(uuid.uuid4()) db_obj.user_id = self.context.user db_obj.project_id = self.context.tenant db_obj.trigger_id = str(uuid.uuid4()) # create a delegation trust_id\token, if required db_obj.trust_id = keystone_utils.create_delegation_token(self.context) db_obj.username = self.context.user_name sys_params = self._generate_sys_params(db_obj, data) user_params = data.get("parameters", {}) self._process_ports(user_params, data) db_obj.raw_content = dict((k, v) for k, v in data.items() if k != "parameters") db_obj.create(self.context) if user_params or sys_params: self._create_params(db_obj.id, user_params, sys_params) return db_obj
def create(self, data): """Create a new plan.""" db_obj = objects.registry.Plan() if 'name' in data: db_obj.name = data['name'] db_obj.uuid = str(uuid.uuid4()) db_obj.user_id = self.context.user db_obj.project_id = self.context.tenant db_obj.trigger_id = str(uuid.uuid4()) # create a delegation trust_id\token, if required db_obj.trust_id = keystone_utils.create_delegation_token(self.context) db_obj.username = self.context.user_name sys_params = self._generate_sys_params(db_obj, data) user_params = data.get('parameters', {}) self._process_ports(user_params, data) db_obj.raw_content = dict((k, v) for k, v in data.items() if k != 'parameters') db_obj.create(self.context) if user_params or sys_params: self._create_params(db_obj.id, user_params, sys_params) return db_obj