21 KiB
21 KiB
[tutorial 028] A conditional disabled family with a variable
Screenshot
Structure
firefox/00-proxy.yml
---
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
firefox/10-manual.yml
---
manual:
description: Manual proxy configuration
disabled:
type: variable
variable: proxy_mode
when_not: 'Manual proxy configuration'
http_proxy:
description: HTTP Proxy
address:
description: HTTP address
type: domainname
params:
allow_ip: true
port:
description: HTTP Port
type: port
default: 8080
Generated documentation
foo@bar:~$ rougail -v 1.1 -m firefox/ -o doc -do github
Variables
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
disabled
Disabled: proxy_mode.
HTTP Proxy
Variable | Description |
---|---|
manual.http_proxy.addressdomainname mandatory |
HTTP address. Validator: the domain name can be an IP |
manual.http_proxy.portport mandatory |
HTTP Port. Default: 8080 |
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
Output in read write mode
foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/01/config.yaml --exporter.read_write
╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┗━━ 📓 proxy_mode: No proxy
Example 2
config/02/config.yaml
---
proxy_mode: Manual proxy configuration
Output
foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/02/config.yaml
🛑 ERRORS ┣━━ The following variables are mandatory but have no value: ┗━━ - manual.http_proxy.address (HTTP address)
Output in read write mode
foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/02/config.yaml --exporter.read_write
🛑 ERRORS ┣━━ The following variables are mandatory but have no value: ┗━━ - manual.http_proxy.address (HTTP address)
Example 3
config/03/config.yaml
---
proxy_mode: Manual proxy configuration
manual:
http_proxy:
address: example.net
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) │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy) ┗━━ 📂 manual ┗━━ 📂 http_proxy ┣━━ 📓 address: example.net ┗━━ 📓 port: 8080
Output in read write mode
foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/03/config.yaml --exporter.read_write
╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy) ┗━━ 📂 manual ┗━━ 📂 http_proxy ┣━━ 📓 address: example.net ┗━━ 📓 port: 8080
Example 4
config/04/config.yaml
---
proxy_mode: Manual proxy configuration
manual:
http_proxy:
address: example.net
port: '3128'
Output
foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/04/config.yaml
╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy) ┗━━ 📂 manual ┗━━ 📂 http_proxy ┣━━ 📓 address: example.net ┗━━ 📓 port: 3128 (8080)
Output in read write mode
foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/04/config.yaml --exporter.read_write
╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy) ┗━━ 📂 manual ┗━━ 📂 http_proxy ┣━━ 📓 address: example.net ┗━━ 📓 port: 3128 (8080)
Example 5
config/05/config.yaml
---
proxy_mode: Manual proxy configuration
manual:
http_proxy:
address: http.proxy.net
port: '3128'
use_for_https: false
https_proxy:
address: https.proxy.net
Output
foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/05/config.yaml
🛑 ERRORS ┣━━ unknown option "use_for_https" in optiondescription "manual" (Manual proxy configuration) ┗━━ unknown option "https_proxy" in optiondescription "manual" (Manual proxy configuration) ╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy) ┗━━ 📂 manual ┗━━ 📂 http_proxy ┣━━ 📓 address: http.proxy.net ┗━━ 📓 port: 3128 (8080)
Output in read write mode
foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/05/config.yaml --exporter.read_write
╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy) ┗━━ 📂 manual ┗━━ 📂 http_proxy ┣━━ 📓 address: http.proxy.net ┗━━ 📓 port: 3128 (8080)