9.1 KiB
9.1 KiB
[tutorial v1.1_031] A variable with type’s parameters
Read the tutorial "A variable with type’s parameters" in the documentation
Screenshot
Clone and install
To test this tutorial, you need to download this repository and install Rougail:
git clone -b 1.1 https://forge.cloud.silique.fr/stove/rougail-tutorials.git
cd rougail-tutorials
python -m venv venv_rougail
. venv_rougail/bin/activate
pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user-data-yaml
Then switch to the tutorial page:
git switch --detach v1.1_031
Structure
.
└── firefox
├── 00-proxy.yml
└── 10-manual.yml
Contents of the firefox/10-manual.yml file
%YAML 1.2
---
version: 1.1
manual: # Manual proxy configuration
http_proxy: # HTTP Proxy
address:
description: HTTP address
type: domainname
params:
allow_ip: true
...
Let's generate the documentation
rougail -m firefox/ -o doc
| Variable | Description |
|---|---|
proxy_modechoice 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 |
Manual proxy configuration
Note
Path: manual
HTTP Proxy
Note
Path: manual.http_proxy
| Variable | Description |
|---|---|
manual.http_proxy.addressdomainname mandatory |
HTTP address. Validators: • type domainname • the domain name can be an IP |
Let's generate the changelog
rougail -m firefox/ -o doc --doc.contents changelog --doc.changelog.previous_json_file previous.yml
Modified variable
| Variable | Description |
|---|---|
manual.http_proxy.addressdomainname mandatory |
HTTP address. Validators: • type domainname • the domain name can be an IP |
User datas
Example 1
config/01/config.yml
---
manual:
http_proxy:
address: example.net
Output
rougail -m firefox/ -u yaml -yf config/01/config.yml
Note
Caption:
- Variable
- Default value
- Modified value
Variables:
- 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy
- 📂 manual (Manual proxy configuration)
- 📂 http_proxy (HTTP Proxy)
- 📓 address (HTTP address): example.net ← loaded from the YAML file "config/01/config.yml"
- 📂 http_proxy (HTTP Proxy)
Example 2
config/02/config.yml
---
manual:
http_proxy:
address: 192.168.0.1
Output
rougail -m firefox/ -u yaml -yf config/02/config.yml
Note
Caption:
- Variable
- Default value
- Modified value
Variables:
- 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy
- 📂 manual (Manual proxy configuration)
- 📂 http_proxy (HTTP Proxy)
- 📓 address (HTTP address): 192.168.0.1 ← loaded from the YAML file "config/02/config.yml"
- 📂 http_proxy (HTTP Proxy)
Output when invalid user data is an error
rougail -m firefox/ -u yaml -yf config/02/config.yml --cli.invalid_user_data_error
Note
Caption:
- Variable
- Default value
- Modified value
Variables:
- 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy
- 📂 manual (Manual proxy configuration)
- 📂 http_proxy (HTTP Proxy)
- 📓 address (HTTP address): 192.168.0.1 ← loaded from the YAML file "config/02/config.yml"
- 📂 http_proxy (HTTP Proxy)
Example 3
config/03/config.yml
---
manual:
http_proxy:
address: not a valid domain name.com
Output
rougail -m firefox/ -u yaml -yf config/03/config.yml
Caution
- manual (Manual proxy configuration)
- http_proxy (HTTP Proxy)
- address (HTTP address)
- 🔔 the value "not a valid domain name.com" is an invalid domain name, could be a IP, otherwise must start with lowercase characters followed by lowercase characters, number, "-" and "." characters are allowed, it will be ignored when loading from the YAML file "config/03/config.yml"
- 🛑 mandatory variable but has no value
Output when invalid user data is an error
rougail -m firefox/ -u yaml -yf config/03/config.yml --cli.invalid_user_data_error
Caution
- manual (Manual proxy configuration)
- http_proxy (HTTP Proxy)
- address (HTTP address)
- 🛑 the value "not a valid domain name.com" is an invalid domain name, could be a IP, otherwise must start with lowercase characters followed by lowercase characters, number, "-" and "." characters are allowed, it has been loading from the YAML file "config/03/config.yml"
- 🛑 mandatory variable but has no value