create_process(self, service, agent=None, title=None, mode=None, service_version=None, **kwargs)

        Registers a new process or processes

        :Parameters:
        * *service* (`string`) -- Service which process will be started
        * *agent* (`string`) -- The service identifier (e.g shell_command)
        * *title* (`string`) -- Title for the process
        * *mode* (`string`) -- production/development
        * *service_version* (`string`) -- Version of the service to execute

        :Keywords args:
        Json value map containing the process input properties

        :return: process id

        :Example:
        .. code-block:: python

           process_properties = {"my_input_param" : "1"}
           pid = opereto_client.create_process(service='simple_shell_command', title='Test simple shell command service', agent=opereto_client.input['opereto_agent'], **process_properties)

def create_process(self, service, agent=None, title=None, mode=None, service_version=None, **kwargs):
        '''
        create_process(self, service, agent=None, title=None, mode=None, service_version=None, **kwargs)

        Registers a new process or processes

        :Parameters:
        * *service* (`string`) -- Service which process will be started
        * *agent* (`string`) -- The service identifier (e.g shell_command)
        * *title* (`string`) -- Title for the process
        * *mode* (`string`) -- production/development
        * *service_version* (`string`) -- Version of the service to execute

        :Keywords args:
        Json value map containing the process input properties

        :return: process id

        :Example:
        .. code-block:: python

           process_properties = {"my_input_param" : "1"}
           pid = opereto_client.create_process(service='simple_shell_command', title='Test simple shell command service', agent=opereto_client.input['opereto_agent'], **process_properties)

        '''
        if not agent:
            agent = self.input.get('opereto_agent')

        if not mode:
            mode=self.input.get('opereto_execution_mode') or 'production'
        if not service_version:
            service_version=self.input.get('opereto_service_version')

        request_data = {'service_id': service, 'agents': agent, 'mode': mode, 's_version':service_version}
        if title:
            request_data['name']=title

        if self.input.get('pid'):
            request_data['pflow_id']=self.input.get('pid')

        request_data.update(**kwargs)
        ret_data= self._call_rest_api('post', '/processes', data=request_data, error='Failed to create a new process')

        if not isinstance(ret_data, list):
            raise OperetoClientError(str(ret_data))

        pid = ret_data[0]
        message = 'New process created for service [%s] [pid = %s] '%(service, pid)
        if agent:
            message += ' [agent = %s]'%agent
        else:
            message += ' [agent = any ]'
        self.logger.info(message)
        return str(pid)