Mistral Client / CLI Guide ========================== Mistralclient installation -------------------------- To install ``python-mistralclient``, it is required to have ``pip`` (in most cases). Make sure that ``pip`` is installed. Then type:: pip install python-mistralclient Or, if it is needed to install ``python-mistralclient`` from master branch, type:: pip install git+https://github.com/openstack/python-mistralclient.git After ``python-mistralclient`` is installed you will see command ``mistral`` in your environment. Configure authentication against Keystone ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ If Keystone is used for authentication in Mistral, then the environment should have auth variables:: export OS_AUTH_URL=http://:5000/v2.0 export OS_USERNAME=admin export OS_TENANT_NAME=tenant export OS_PASSWORD=secret export OS_MISTRAL_URL=http://:8989/v2 (optional, by default URL=http://localhost:8989/v2) and in the case when you are authenticating against keystone over https:: export OS_CACERT= .. note:: In client, we can use both Keystone auth versions - v2.0 and v3. But server supports only v3. You can see the list of available commands by typing:: mistral --help To make sure Mistral client works, type:: mistral workbook-list Mistralclient commands ---------------------- Workbooks ^^^^^^^^^ **workbook-create**: :: usage: mistral workbook-create Create new workbook. positional arguments: definition - Workbook definition file **workbook-delete**: :: usage: mistral workbook-delete [ ...] Delete workbook. positional arguments: name - Name of workbook(s). **workbook-get**: :: usage: mistral workbook-get Show specific workbook. positional arguments: name - Workbook name **workbook-get-definition**: :: usage: mistral workbook-get-definition Show workbook definition. positional arguments: name - Workbook name **workbook-list**: :: usage: mistral workbook-list List all workbooks. **workbook-update**: :: usage: mistral workbook-update Update workbook. positional arguments: definition - Workbook definition file **workbook-validate**: :: usage: mistral workbook-validate Validate workbook. positional arguments: definition - Workbook definition file Workflows ^^^^^^^^^ **workflow-create**: :: usage: mistral workflow-create [--public] Create new workflow. positional arguments: definition - Workflow definition file optional arguments: --public - With this flag workflow will be marked as "public". **workflow-delete**: :: usage: mistral workflow-delete [ ...] Delete workflow. positional arguments: name - Name of workflow(s). **workflow-get**: :: usage: mistral workflow-get Show specific workflow. positional arguments: name - Workflow name **workflow-get-definition**: :: usage: mistral workflow-get-definition Show workflow definition. positional arguments: name - Workflow name **workflow-list**: :: usage: mistral workflow-list List all workflows. **workflow-update**: :: usage: mistral workflow-update Update workflow. positional arguments: definition - Workflow definition. **workflow-validate**: :: usage: mistral workflow-validate Validate workflow. positional arguments: definition - Workflow definition file. Actions ^^^^^^^ **action-create**: :: usage: mistral action-create [--public] Create new action. positional arguments: definition - Action definition file optional arguments: --public - With this flag action will be marked as "public". **action-delete**: :: usage: mistral action-delete [ ...] Delete action. positional arguments: name - Name of action(s). **action-get**: :: usage: mistral action-get Show specific action. positional arguments: name - Action name. **action-get-definition**: :: usage: mistral action-get-definition Show action definition. positional arguments: name - Action name. **action-list**: :: usage: mistral action-list List all actions. **action-update**: :: usage: mistral action-update Update action. positional arguments: definition - Action definition file. Workflow executions ^^^^^^^^^^^^^^^^^^^ **execution-create**: :: usage: mistral execution-create [] [] Create new execution. positional arguments: workflow_name - Workflow name. workflow_input - Workflow input. params - Workflow additional parameters. optional arguments: -d DESCRIPTION, --description DESCRIPTION Execution description **execution-delete**: :: usage: mistral execution-delete [ ...] Delete execution. positional arguments: id - Id of execution identifier(s). **execution-get**: :: usage: mistral execution-get Show specific execution. positional arguments: id - Execution identifier **execution-get-input**: :: usage: mistral execution-get-input Show execution input data. positional arguments: id - Execution ID **execution-get-output**: :: usage: mistral execution-get-output Show execution output data. positional arguments: id - Execution ID **execution-list**: :: usage: mistral execution-list List all executions. **execution-update**: :: usage: mistral execution-update (-s {RUNNING,PAUSED,SUCCESS,ERROR} | -d ) Update execution. positional arguments: id - Execution identifier optional arguments: -s {RUNNING,PAUSED,SUCCESS,ERROR}, --state {RUNNING,PAUSED,SUCCESS,ERROR} Execution state -d DESCRIPTION, --description DESCRIPTION Execution description Task executions ^^^^^^^^^^^^^^^ **task-get**: :: usage: mistral task-get Show specific task. positional arguments: id - Task identifier **task-get-published**: :: usage: mistral task-get-published Show task published variables. positional arguments: id - Task ID **task-get-result**: :: usage: mistral task-get-result Show task output data. positional arguments: id - Task ID **task-list**: :: usage: mistral task-list [] List all tasks. positional arguments: workflow_execution-id - Workflow execution ID associated with list of Tasks. Action executions ^^^^^^^^^^^^^^^^^ **action-execution-get**: :: usage: mistral action-execution-get Show specific Action execution. positional arguments: id - Action execution ID. **action-execution-get-input**: :: usage: mistral action-execution-get-input Show Action execution input data. positional arguments: id - Action execution ID. **action-execution-get-output**: :: usage: mistral action-execution-get-output Show Action execution output data. positional arguments: id - Action execution ID. **action-execution-list**: :: usage: mistral action-execution-list [] List all Action executions. positional arguments: task-execution-id - Task execution ID. **action-execution-update**: :: usage: mistral action-execution-update [--state {IDLE,RUNNING,SUCCESS,ERROR}] [--output ] Update specific Action execution. positional arguments: id - Action execution ID. optional arguments: --state {IDLE,RUNNING,SUCCESS,ERROR} Action execution state --output OUTPUT - Action execution output **run-action**: :: usage: mistral run-action [] [-t ] Create new Action execution or just run specific action. positional arguments: name - Action name to execute. input - Action input. optional arguments: -s, --save-result - Save the result into DB. -t TARGET, --target TARGET Action will be executed on executor. Cron-triggers ^^^^^^^^^^^^^ **cron-trigger-create**: :: usage: mistral cron-trigger-create [--params ] [--pattern <* * * * *>] [--first-time ] [--count ] [] Create new trigger. positional arguments: name - Cron trigger name. workflow_name - Workflow name. workflow_input - Workflow input. optional arguments: --params PARAMS - Workflow params. --pattern <* * * * *> Cron trigger pattern. --first-time Date and time of the first execution. --count Number of wanted executions. **cron-trigger-delete**: :: usage: mistral cron-trigger-delete [ ...] Delete trigger. positional arguments: name - Name of cron trigger(s). **cron-trigger-get**: :: usage: mistral cron-trigger-get Show specific cron trigger. positional arguments: name - Cron trigger name. **cron-trigger-list**: :: usage: mistral cron-trigger-list List all cron triggers. Environments ^^^^^^^^^^^^ **environment-create**: :: usage: mistral environment-create Create new environment. positional arguments: file - Environment configuration file in JSON or YAML **environment-delete**: :: usage: mistral environment-delete [ ...] Delete environment. positional arguments: name - Name of environment(s). **environment-get**: :: usage: mistral environment-get Show specific environment. positional arguments: name - Environment name **environment-list**: :: usage: mistral environment-list List all environments. **environment-update**: :: usage: mistral environment-update Update environment. positional arguments: file - Environment configuration file in JSON or YAML