11 KiB
11 KiB
[tutorial v1.1_120] Disabled a variable when an other variable are disabled
Read the tutorial "Disabled a variable when an other variable are disabled" 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_120
Structure
.
├── firefox
│ ├── 00-proxy.yml
│ ├── 10-manual.yml
│ ├── 20-manual.yml
│ ├── 30-auto.yml
│ ├── 40-no_proxy.yml
│ ├── 50-prompt_authentication.yml
│ └── 55-proxy_dns_socks5.yml
└── types
└── proxy
└── 00-type.yml
Contents of the firefox/55-proxy_dns_socks5.yml file
%YAML 1.2
---
version: 1.1
proxy_dns_socks5:
description: Use proxy DNS when using SOCKS v5
default: false
disabled:
jinja: |-
{{ _.manual.socks_proxy.version is propertyerror or _.manual.socks_proxy.version == 'v4' }}
return_type: boolean
description: |-
if "_.proxy_mode" is not "Manual proxy configuration"
or "_.manual.socks_proxy.version" is "v4"
...
Let's generate the documentation
rougail -m firefox/ --types types/proxy -o doc
User datas
Example 1
config/01/config.yml
---
Output
rougail -m firefox/ --types types/proxy -u yaml -yf config/01/config.yml
Note
Caption:
- Variable
- Default value
Variables:
- 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy
Example 2
config/02/config.yml
---
proxy_mode: Manual proxy configuration
manual:
http_proxy:
address: http.proxy.net
Output
rougail -m firefox/ --types types/proxy -u yaml -yf config/02/config.yml
Note
Caption:
- Variable
- Unmodifiable variable
- Default value
- Modified value
- (⏳ Original default value)
Variables:
- 📓 proxy_mode (Configure Proxy Access to the Internet): Manual proxy configuration ← loaded from the YAML file "config/02/config.yml" (⏳ No proxy)
- 📂 manual (Manual proxy configuration)
- 📂 http_proxy (HTTP Proxy)
- 📓 address (HTTP proxy address): http.proxy.net ← loaded from the YAML file "config/02/config.yml"
- 📓 port (HTTP proxy port): 8080
- 📓 use_for_https (Also use this proxy for HTTPS): true
- 📂 https_proxy (HTTPS Proxy)
- 📓 address (HTTPS proxy address): http.proxy.net
- 📓 port (HTTPS proxy port): 8080
- 📂 socks_proxy (SOCKS Proxy)
- 📓 address (SOCKS proxy address): http.proxy.net
- 📓 port (SOCKS proxy port): 8080
- 📓 version (SOCKS host version used by proxy): v5
- 📂 http_proxy (HTTP Proxy)
- 📓 no_proxy (Address for which proxy will be desactivated): []
- 📓 prompt_authentication (Prompt for authentication if password is saved): true
- 📓 proxy_dns_socks5 (Use proxy DNS when using SOCKS v5): false
Example 3
config/03/config.yml
---
proxy_mode: Manual proxy configuration
manual:
http_proxy:
address: http.proxy.net
proxy_dns_socks5: true
Output
rougail -m firefox/ --types types/proxy -u yaml -yf config/03/config.yml
Note
Caption:
- Variable
- Unmodifiable variable
- Default value
- Modified value
- (⏳ Original default value)
Variables:
- 📓 proxy_mode (Configure Proxy Access to the Internet): Manual proxy configuration ← loaded from the YAML file "config/03/config.yml" (⏳ No proxy)
- 📂 manual (Manual proxy configuration)
- 📂 http_proxy (HTTP Proxy)
- 📓 address (HTTP proxy address): http.proxy.net ← loaded from the YAML file "config/03/config.yml"
- 📓 port (HTTP proxy port): 8080
- 📓 use_for_https (Also use this proxy for HTTPS): true
- 📂 https_proxy (HTTPS Proxy)
- 📓 address (HTTPS proxy address): http.proxy.net
- 📓 port (HTTPS proxy port): 8080
- 📂 socks_proxy (SOCKS Proxy)
- 📓 address (SOCKS proxy address): http.proxy.net
- 📓 port (SOCKS proxy port): 8080
- 📓 version (SOCKS host version used by proxy): v5
- 📂 http_proxy (HTTP Proxy)
- 📓 no_proxy (Address for which proxy will be desactivated): []
- 📓 prompt_authentication (Prompt for authentication if password is saved): true
- 📓 proxy_dns_socks5 (Use proxy DNS when using SOCKS v5): true ← loaded from the YAML file "config/03/config.yml" (⏳ false)
Example 4
config/04/config.yml
---
proxy_mode: Manual proxy configuration
manual:
http_proxy:
address: http.proxy.net
socks_proxy:
version: v4
Output
rougail -m firefox/ --types types/proxy -u yaml -yf config/04/config.yml
Note
Caption:
- Variable
- Unmodifiable variable
- Default value
- Modified value
- (⏳ Original default value)
Variables:
- 📓 proxy_mode (Configure Proxy Access to the Internet): Manual proxy configuration ← loaded from the YAML file "config/04/config.yml" (⏳ No proxy)
- 📂 manual (Manual proxy configuration)
- 📂 http_proxy (HTTP Proxy)
- 📓 address (HTTP proxy address): http.proxy.net ← loaded from the YAML file "config/04/config.yml"
- 📓 port (HTTP proxy port): 8080
- 📓 use_for_https (Also use this proxy for HTTPS): true
- 📂 https_proxy (HTTPS Proxy)
- 📓 address (HTTPS proxy address): http.proxy.net
- 📓 port (HTTPS proxy port): 8080
- 📂 socks_proxy (SOCKS Proxy)
- 📓 address (SOCKS proxy address): http.proxy.net
- 📓 port (SOCKS proxy port): 8080
- 📓 version (SOCKS host version used by proxy): v4 ← loaded from the YAML file "config/04/config.yml" (⏳ v5)
- 📂 http_proxy (HTTP Proxy)
- 📓 no_proxy (Address for which proxy will be desactivated): []
- 📓 prompt_authentication (Prompt for authentication if password is saved): true