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