Input: Dropdowns
Predefined choices are normally the safest type of arguments, because users are limited to only enter values that you specify.
actions:
- title: Print a message
icon: smile
shell: echo "{{ message }}"
arguments:
- name: message
description: The message you want to print out.
choices:
- title: Hello
value: Hello there!
- title: Goodbye
value: Aww, goodbye. :-(
Note that when predefined choices are used, the argument type is ignored.
This is what it looks like in the web interface;

Then finally, when you execute this command, it would look something like this (remember that this is just a basic "echo" command).

In the logs, you can then click on the log entry link to open the results;

Using Entities in Dropdowns
Dropdowns can also be populated with a list of entities, like this;
config.yaml
actions:
- title: restart container
shell: 'docker restart {{ containerToRestart }}'
arguments:
- name: containerToRestart
entity: container
title: 'Select Container'
choices:
- value: '{{ container.Names }}'
title: '{{ container.Names }}'
entities:
- file: entities/containers.json
name: container
This is what it looks like in the web interface;

Rejecting empty values (null)
actions:
- shell: echo "Hello {{ name }}!"
arguments:
- name: name
rejectNull: true`
Default values
Dropdown arguments can also have default values. This is done by adding a default
key to the argument definition.
config.yaml
actions:
- title: "Print your favorite movie"
shell: echo '{{ movie }} is amazing'
arguments:
- name: movie
choices:
- value: "Star Wars"
- value: "Star Trek"
- value: "The Matrix"
default: "Star Trek"