No description
Find a file
2026-03-12 08:10:24 +01:00
config [tutorial v1.1_031] A variable with type’s parameters (config and doc) 2026-03-12 08:10:24 +01:00
firefox [tutorial v1.1_030] A variable with type "domainname" 2026-03-12 08:10:23 +01:00
firefox.png [tutorial v1.1_020] Creating a new family (config and doc) 2026-03-12 08:10:20 +01:00
foxyproxy.png [init] Discover Rougail 2026-03-12 08:10:13 +01:00
install.txt [init] Discover Rougail 2026-03-12 08:10:13 +01:00
README.md [tutorial v1.1_031] A variable with type’s parameters (config and doc) 2026-03-12 08:10:24 +01:00
tree.html [tutorial v1.1_031] A variable with type’s parameters (config and doc) 2026-03-12 08:10:24 +01:00

[tutorial v1.1_031] A variable with types parameters

Read the tutorial "A variable with types parameters" in the documentation

Screenshot

Firefox Proxy setting

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_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

Manual proxy configuration

Note

Path: manual

HTTP Proxy

Note

Path: manual.http_proxy

Variable Description
manual.http_proxy.address
domainname 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.address
domainname 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"

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"

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"

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