end jinja
This commit is contained in:
parent
480b5dbafb
commit
7b5c7b80ec
1 changed files with 38 additions and 65 deletions
|
|
@ -185,9 +185,10 @@ then we have a warning:
|
||||||
|
|
||||||
What is interesting here is to launch the Rougail CLI in the :term:`read write mode`:
|
What is interesting here is to launch the Rougail CLI in the :term:`read write mode`:
|
||||||
|
|
||||||
::
|
.. code-block:: bash
|
||||||
|
:class: terminal
|
||||||
rougail -m firefox/ --cli.root manual.https_proxy -u yaml environment \
|
|
||||||
|
rougail -m firefox/ --cli.root manual.https_proxy -u yaml \
|
||||||
-yf config/01/config.yml --cli.read_write
|
-yf config/01/config.yml --cli.read_write
|
||||||
|
|
||||||
Then we have an error:
|
Then we have an error:
|
||||||
|
|
@ -345,9 +346,6 @@ As for the `https_proxy` with the `hidden` property, we have this:
|
||||||
We can see that the hidden explanation for the `manual.https_proxy` family
|
We can see that the hidden explanation for the `manual.https_proxy` family
|
||||||
is the `hidden` property's description.
|
is the `hidden` property's description.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Jinja with a parameter
|
Jinja with a parameter
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
|
|
@ -432,78 +430,53 @@ that is only in the case where the identifier is `HTTPS`.
|
||||||
In this Jinja code, we can understand that only the `https_proxy` dynamic family
|
In this Jinja code, we can understand that only the `https_proxy` dynamic family
|
||||||
will be hidden when the `_.use_for_https` variable is set to `true`.
|
will be hidden when the `_.use_for_https` variable is set to `true`.
|
||||||
|
|
||||||
FIXME
|
Let's set the `_.use_for_https` variable to `true`.
|
||||||
|
We have a warning:
|
||||||
|
|
||||||
::
|
.. code-block:: text
|
||||||
|
|
||||||
rougail -m firefox/ -u yaml -yf config/01/config.yml
|
|
||||||
╭────────────── Caption ───────────────╮
|
|
||||||
│ Variable Default value │
|
|
||||||
│ Modified value │
|
|
||||||
│ (⏳ Original default value) │
|
|
||||||
╰──────────────────────────────────────╯
|
|
||||||
Variables:
|
|
||||||
┣━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration ◀ loaded from the YAML
|
|
||||||
┃ file "config/01/config.yml" (⏳ No proxy)
|
|
||||||
┗━━ 📂 Manual proxy configuration
|
|
||||||
┣━━ 📂 HTTP Proxy
|
|
||||||
┃ ┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/01/config.yml"
|
|
||||||
┃ ┗━━ 📓 HTTP Port: 3128 ◀ loaded from the YAML file "config/01/config.yml" (⏳ 8080)
|
|
||||||
┣━━ 📓 Also use this proxy for HTTPS: false ◀ loaded from the YAML file "config/01/config.yml"
|
|
||||||
┃ (⏳ true)
|
|
||||||
┣━━ 📂 HTTPS Proxy
|
|
||||||
┃ ┣━━ 📓 HTTPS address: https.proxy.net ◀ loaded from the YAML file "config/01/config.yml" (⏳
|
|
||||||
┃ ┃ http.proxy.net)
|
|
||||||
┃ ┗━━ 📓 HTTPS port: 3128
|
|
||||||
┗━━ 📂 SOCKS Proxy
|
|
||||||
┣━━ 📓 SOCKS address: http.proxy.net
|
|
||||||
┣━━ 📓 SOCKS port: 3128
|
|
||||||
┗━━ 📓 SOCKS host version used by proxy: v5
|
|
||||||
|
|
||||||
si on met à true, on a un warning :
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
🔔 Warning
|
🔔 Warning
|
||||||
┗━━ Manual proxy configuration
|
┗━━ Manual proxy configuration
|
||||||
┗━━ HTTPS Proxy
|
┗━━ HTTPS Proxy
|
||||||
┗━━ HTTPS address: 🔔 family "HTTPS Proxy" has property hidden, so cannot access to "HTTPS
|
┗━━ HTTPS address: 🔔 family "HTTPS Proxy" has property hidden,
|
||||||
address", it will be ignored when loading from the YAML file "config/01/config.yml"
|
so cannot access to "HTTPS address", it will be ignored
|
||||||
|
when loading from the YAML file "config/01/config.yml"
|
||||||
|
|
||||||
╭───────────────────── Caption ─────────────────────╮
|
It's helpful to run this command in read/write mode:
|
||||||
│ Variable Default value │
|
|
||||||
│ Unmodifiable variable Modified value │
|
|
||||||
│ (⏳ Original default value) │
|
|
||||||
╰───────────────────────────────────────────────────╯
|
|
||||||
Variables:
|
|
||||||
┣━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration ◀ loaded from the YAML
|
|
||||||
┃ file "config/01/config.yml" (⏳ No proxy)
|
|
||||||
┗━━ 📂 Manual proxy configuration
|
|
||||||
┣━━ 📂 HTTP Proxy
|
|
||||||
┃ ┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/01/config.yml"
|
|
||||||
┃ ┗━━ 📓 HTTP Port: 3128 ◀ loaded from the YAML file "config/01/config.yml" (⏳ 8080)
|
|
||||||
┣━━ 📓 Also use this proxy for HTTPS: true ◀ loaded from the YAML file "config/01/config.yml"
|
|
||||||
┃ (⏳ true)
|
|
||||||
┣━━ 📂 HTTPS Proxy
|
|
||||||
┃ ┣━━ 📓 HTTPS address: http.proxy.net
|
|
||||||
┃ ┗━━ 📓 HTTPS port: 3128
|
|
||||||
┗━━ 📂 SOCKS Proxy
|
|
||||||
┣━━ 📓 SOCKS address: http.proxy.net
|
|
||||||
┣━━ 📓 SOCKS port: 3128
|
|
||||||
┗━━ 📓 SOCKS host version used by proxy: v5
|
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
:class: terminal
|
||||||
|
|
||||||
|
rougail -m firefox/ --cli.root manual.https_proxy -u yaml \
|
||||||
|
-yf config/01/config.yml --cli.read_write
|
||||||
|
|
||||||
|
because at that moment we get an error:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
:class: output
|
||||||
|
|
||||||
|
ERROR: cannot access to optiondescription "HTTPS Proxy"
|
||||||
|
because has property "hidden" (HTTPS is same has HTTP)
|
||||||
|
|
||||||
|
So the Jinja code worked well since the `https_proxy` family is hidden only when
|
||||||
|
the `use_for_https` variable is set to `true` and the identifier is HTTPS
|
||||||
|
(the `socks_proxy` family, however, is not hidden).
|
||||||
|
|
||||||
.. keypoints:: Key points
|
.. keypoints:: Key points
|
||||||
|
|
||||||
**keywords**
|
|
||||||
|
|
||||||
- calculation with a jinja type calculation
|
|
||||||
- calculation with a `when` or `when_not` parameter
|
|
||||||
- defining a jinja internal variable in a jinja calculation
|
|
||||||
|
|
||||||
**progress**
|
**progress**
|
||||||
|
|
||||||
|
- calculation with a jinja type calculation: we can hide a family
|
||||||
|
- we know how to describe a calcuation
|
||||||
|
- we know how to output some documentation (in markdown or in html) of the :term:`configuration`
|
||||||
|
- we can calculate with a dynamic family identifer
|
||||||
|
|
||||||
|
**keywords**
|
||||||
|
|
||||||
|
- jinja type calcuation for a hidden property
|
||||||
|
- jinja calcuation's description
|
||||||
|
- identifier type parameter
|
||||||
|
|
||||||
Here we have come to the possibility of making any kind of calculations based on the state of the :term:`configuration`.
|
Here we have come to the possibility of making any kind of calculations based on the state of the :term:`configuration`.
|
||||||
This is an important feature to manage the stateful aspect of a configuration.
|
This is an important feature to manage the stateful aspect of a configuration.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue