[#arg-dropdowns] = Input: Dropdowns Predefined choices are normally the safest type of arguments, because users are limited to only enter values that you specify. [source,yaml] ---- 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; image::args4.png[] Then finally, when you execute this command, it would look something like this (remember that this is just a basic "echo" command). image::args-choices-exec.png[] In the logs, you can then click on the log entry link to open the results; image::args3.png[] [#args-dropdown-entities] == Using Entities in Dropdowns Dropdowns can also be populated with a list of entities, like this; [source,yaml] .`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; image::args-choices-entities.png[] include::partial$args/reject-null.adoc[] == Default values Dropdown arguments can also have default values. This is done by adding a `default` key to the argument definition. include::partial$config-start.adoc[] ---- 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" ----