No description
Find a file
Emmanuel Garette b497508f33 [tutorial 013] A variable with type "choice"
"Foo" should not be an option to the "proxy_mode" variable.

Now the "proxy_mode" type is "choice", that means that there is a list of available values that can be selected.

We say that the "proxy_mode" variable is constrained (by choices): this variable accept, in fact, only a list of choices.
2024-11-02 14:58:14 +01:00
config [tutorial 013] A variable with type "choice" (config and doc) 2024-11-02 14:58:14 +01:00
firefox [tutorial 013] A variable with type "choice" 2024-11-02 14:58:14 +01:00
firefox.png [tutorial 010] A first variable with only a name (config and doc) 2024-11-02 14:58:12 +01:00
foxyproxy.png [init] Discover Rougail 2024-11-02 14:58:09 +01:00
README.md [tutorial 013] A variable with type "choice" (config and doc) 2024-11-02 14:58:14 +01:00

[tutorial 013] A variable with type "choice"

View the diff

Screenshot

Firefox Proxy setting

Structure

firefox/00-proxy.yml

---
proxy_mode:
  description: Configure Proxy Access to the Internet
  type: choice
  choices:
    - No proxy
    - Auto-detect proxy settings for this network
    - Use system proxy settings
    - Manual proxy configuration
    - Automatic proxy configuration URL
  default: No proxy

Generated documentation

foo@bar:~$ rougail -v 1.1 -m firefox/ -o doc -do github

Variables

Variable                                                                                                                                                                                             Description                                                                                                                                                                                         
proxy_mode
choice mandatory
Configure Proxy Access to the Internet.
Choices:
- No proxy ← (default)
- Auto-detect proxy settings for this network
- Use system proxy settings
- Manual proxy configuration
- Automatic proxy configuration URL

User data

Example 1

config/01/config.yaml

---

Output

foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/01/config.yaml
╭────────────────────────── Caption ──────────────────────────╮
│ Variable                           Default value            │
│ Undocumented variable              Modified value           │
│ Undocumented but modified variable (Original default value) │
│ Unmodifiable variable                                       │
╰─────────────────────────────────────────────────────────────╯
Variables:
┗━━ 📓 proxy_mode: No proxy

Example 2

config/02/config.yaml

---
proxy_mode: No proxy

Output

foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/02/config.yaml
╭────────────────────────── Caption ──────────────────────────╮
│ Variable                           Default value            │
│ Undocumented variable              Modified value           │
│ Undocumented but modified variable (Original default value) │
│ Unmodifiable variable                                       │
╰─────────────────────────────────────────────────────────────╯
Variables:
┗━━ 📓 proxy_mode: No proxy (No proxy)

Example 3

config/03/config.yaml

---
proxy_mode: Manual proxy configuration

Output

foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/03/config.yaml
╭────────────────────────── Caption ──────────────────────────╮
│ Variable                           Default value            │
│ Undocumented variable              Modified value           │
│ Undocumented but modified variable (Original default value) │
│ Unmodifiable variable                                       │
╰─────────────────────────────────────────────────────────────╯
Variables:
┗━━ 📓 proxy_mode: Manual proxy configuration (No proxy)

Example 4

config/04/config.yaml

---
proxy_mode: foo

Output

foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/04/config.yaml
🛑 ERRORS
┗━━ "foo" is an invalid choice for "proxy_mode (Configure Proxy Access to the Internet)", only 
    "Auto-detect proxy settings for this network", "Automatic proxy configuration URL", "Manual proxy 
    configuration", "No proxy" and "Use system proxy settings" are allowed
╭────────────────────────── Caption ──────────────────────────╮
│ Variable                           Default value            │
│ Undocumented variable              Modified value           │
│ Undocumented but modified variable (Original default value) │
│ Unmodifiable variable                                       │
╰─────────────────────────────────────────────────────────────╯
Variables:
┗━━ 📓 proxy_mode: No proxy

Example 5

config/05/config.yaml

---
proxy_mode: 1

Output

foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/05/config.yaml
🛑 ERRORS
┗━━ "1" is an invalid choice for "proxy_mode (Configure Proxy Access to the Internet)", only "Auto-detect
    proxy settings for this network", "Automatic proxy configuration URL", "Manual proxy configuration", 
    "No proxy" and "Use system proxy settings" are allowed
╭────────────────────────── Caption ──────────────────────────╮
│ Variable                           Default value            │
│ Undocumented variable              Modified value           │
│ Undocumented but modified variable (Original default value) │
│ Unmodifiable variable                                       │
╰─────────────────────────────────────────────────────────────╯
Variables:
┗━━ 📓 proxy_mode: No proxy