Support workflow id for cron trigger creation

Change-Id: I59eacf4b8ecc3f777064d51d9660d86f165de8d9
This commit is contained in:
Lingxian Kong 2016-01-22 18:47:28 +13:00
parent aa65d41dfe
commit e1f8fe8dc9
2 changed files with 11 additions and 5 deletions

View File

@ -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)})

View File

@ -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,