Support workflow id for cron trigger creation
Change-Id: I59eacf4b8ecc3f777064d51d9660d86f165de8d9
This commit is contained in:
parent
aa65d41dfe
commit
e1f8fe8dc9
@ -14,6 +14,8 @@
|
||||
|
||||
import json
|
||||
|
||||
from oslo_utils import uuidutils
|
||||
|
||||
from mistralclient.api import base
|
||||
|
||||
|
||||
@ -24,22 +26,26 @@ class CronTrigger(base.Resource):
|
||||
class CronTriggerManager(base.ResourceManager):
|
||||
resource_class = CronTrigger
|
||||
|
||||
def create(self, name, workflow_name, workflow_input=None,
|
||||
def create(self, name, workflow_identifier, workflow_input=None,
|
||||
workflow_params=None, pattern=None,
|
||||
first_time=None, count=None):
|
||||
self._ensure_not_empty(
|
||||
name=name,
|
||||
workflow_name=workflow_name
|
||||
workflow_identifier=workflow_identifier
|
||||
)
|
||||
|
||||
data = {
|
||||
'name': name,
|
||||
'workflow_name': workflow_name,
|
||||
'pattern': pattern,
|
||||
'first_execution_time': first_time,
|
||||
'remaining_executions': count
|
||||
}
|
||||
|
||||
if uuidutils.is_uuid_like(workflow_identifier):
|
||||
data.update({'workflow_id': workflow_identifier})
|
||||
else:
|
||||
data.update({'workflow_name': workflow_identifier})
|
||||
|
||||
if workflow_input:
|
||||
data.update({'workflow_input': json.dumps(workflow_input)})
|
||||
|
||||
|
@ -105,7 +105,7 @@ class Create(show.ShowOne):
|
||||
parser = super(Create, self).get_parser(prog_name)
|
||||
|
||||
parser.add_argument('name', help='Cron trigger name')
|
||||
parser.add_argument('workflow_name', help='Workflow name')
|
||||
parser.add_argument('workflow_identifier', help='Workflow name or ID')
|
||||
|
||||
parser.add_argument(
|
||||
'workflow_input',
|
||||
@ -157,7 +157,7 @@ class Create(show.ShowOne):
|
||||
|
||||
trigger = mistral_client.cron_triggers.create(
|
||||
parsed_args.name,
|
||||
parsed_args.workflow_name,
|
||||
parsed_args.workflow_identifier,
|
||||
wf_input,
|
||||
wf_params,
|
||||
parsed_args.pattern,
|
||||
|
Loading…
Reference in New Issue
Block a user