- [Summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/branch/1.1/README.md)
- [[tutorial v1.1_012] Set a default value](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_012/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_012~1..v1.1_012))
# [tutorial v1.1_013)] Limits the possible values for the variable
[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_013~1..v1.1_013)
## Screenshot
## Structure
### firefox/00-proxy.yml
```yml
%YAML 1.2
---
version: 1.1
proxy_mode:
description: Configure Proxy Access to the Internet
choices:
- No proxy
- Auto-detect proxy settings for this network
- Use system proxy settings
- Manual proxy configuration
- Automatic proxy configuration URL
default: No proxy
...
```
### Let's generate the documentation
```console
foo@bar:~$ git switch --detach v1.1_013
foo@bar:~$ rougail -m firefox/ -o doc
```
| Variable | Description |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **proxy_mode**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `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 |
### Let's generate the changelog
```console
foo@bar:~$ git switch --detach v1.1_013
foo@bar:~$ rougail -m firefox/ -o doc --doc.contents changelog
```
#### Modified variable
| Variable | Description |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **proxy_mode**
~~`string`~~ [`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `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 datas
### Example 1
#### config/01/config.yaml
```yml
---
```
#### Output
```console
foo@bar:~$ git switch --detach v1.1_013
foo@bar:~$ rougail -m firefox/ -u yaml -ff config/01/config.yaml
```
╭─────── Caption ────────╮ │ Variable Default value │ ╰────────────────────────╯ Variables: ┗━━ 📓 Configure Proxy Access to the Internet: No proxy### Example 2 #### config/02/config.yaml ```yml --- proxy_mode: No proxy ``` #### Output ```console foo@bar:~$ git switch --detach v1.1_013 foo@bar:~$ rougail -m firefox/ -u yaml -ff config/02/config.yaml ```
╭────────────── Caption ───────────────╮ │ Variable Modified value │ │ (⏳ Original default value) │ ╰──────────────────────────────────────╯ Variables: ┗━━ 📓 Configure Proxy Access to the Internet: No proxy ◀ loaded from the YAML file "config/02/config.yaml" (⏳ No proxy)### Example 3 #### config/03/config.yaml ```yml --- proxy_mode: Manual proxy configuration ``` #### Output ```console foo@bar:~$ git switch --detach v1.1_013 foo@bar:~$ rougail -m firefox/ -u yaml -ff config/03/config.yaml ```
╭────────────── Caption ───────────────╮ │ Variable Modified value │ │ (⏳ Original default value) │ ╰──────────────────────────────────────╯ Variables: ┗━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration ◀ loaded from the YAML file "config/03/config.yaml" (⏳ No proxy)### Example 4 #### config/04/config.yaml ```yml --- proxy_mode: foo ``` #### Output ```console foo@bar:~$ git switch --detach v1.1_013 foo@bar:~$ rougail -m firefox/ -u yaml -ff config/04/config.yaml ```
🔔 WARNINGS ┗━━ the value "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, it will be ignored when loading from the YAML file "config/04/config.yaml" ╭─────── Caption ────────╮ │ Variable Default value │ ╰────────────────────────╯ Variables: ┗━━ 📓 Configure Proxy Access to the Internet: No proxy### Example 5 #### config/05/config.yaml ```yml --- proxy_mode: 1 ``` #### Output ```console foo@bar:~$ git switch --detach v1.1_013 foo@bar:~$ rougail -m firefox/ -u yaml -ff config/05/config.yaml ```
🔔 WARNINGS ┗━━ the value "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, it will be ignored when loading from the YAML file "config/05/config.yaml" ╭─────── Caption ────────╮ │ Variable Default value │ ╰────────────────────────╯ Variables: ┗━━ 📓 Configure Proxy Access to the Internet: No proxy- [[tutorial v1.1_020] Creating a new family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_020/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_020~1..v1.1_020))