예제 #1
0
    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
예제 #2
0
    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
예제 #3
0
    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
예제 #4
0
    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
예제 #5
0
    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
예제 #6
0
    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