Files

86 lines
2.2 KiB
Plaintext

[#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::args/dropdown/dropdown.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/dropdown/dropdown-logs-list.png[]
In the logs, you can then click on the log entry link to open the results;
image::args/dropdown/dropdown-logs-detail.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/dropdown/dropdown-entities.png[]
IMPORTANT: Arguments with `entity` must define **exactly one** choice template. Multiple static choices combined with `entity` is invalid configuration and is rejected on startup.
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"
----