mirror of
https://github.com/OliveTin/OliveTin
synced 2026-08-25 20:16:30 +00:00
86 lines
2.2 KiB
Plaintext
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"
|
|
----
|