81 lines
3.4 KiB
ReStructuredText
81 lines
3.4 KiB
ReStructuredText
Variable with multiple values
|
|
================================
|
|
|
|
.. objectives:: Objectives
|
|
|
|
After creating another variable for the needs of our use case, we will introduce the concept of multiple type variable.
|
|
|
|
.. prerequisites:: Prerequisites
|
|
|
|
- We assume that Rougail's library is :ref:`installed <installation>` on your computer.
|
|
|
|
- It is possible to retrieve the current state of the various Rougail files manipulated in this tutorial step
|
|
by checking out the corresponding tag of the `rougail-tutorials` git repository.
|
|
Each tag corresponds to a stage of progress in the tutorial.
|
|
Of course, you can also decide to copy/paste or download the tutorial files contents while following the tutorial steps.
|
|
|
|
If you want to follow this tutorial with the help of the corresponding :tutorial:`rougail-tutorials git repository <src/branch/v1.1>`,
|
|
this workshop page corresponds to the tags :tutorial:`v1.1_100 <src/tag/v1.1_100/README.md>` to :tutorial:`v1.1_111 <src/tag/v1.1_111/README.md>`
|
|
in the repository.
|
|
|
|
::
|
|
|
|
git clone https://forge.cloud.silique.fr/stove/rougail-tutorials.git
|
|
git switch --detach v1.1_100
|
|
|
|
.. type-along:: A web_address variable
|
|
|
|
A conditional disabled variable with type web_address
|
|
-------------------------------------------------------------
|
|
|
|
First we need to add a variable as part of our use case with a type we haven't used yet, the `web_address` type.
|
|
It is related to the automatic proxy configuration situation.
|
|
Let's put it in the new :file:`firefox/30-auto.yml` :term:`structure file`.
|
|
Note that this variable has a :term:`disabled` property defined:
|
|
|
|
.. extinclude:: https://forge.cloud.silique.fr/stove/rougail-tutorials/raw/commit/v1.1_100/firefox/30-auto.yml
|
|
:language: yaml
|
|
:caption: The :file:`firefox/30-auto.yml` structure definition file with the `auto` variable
|
|
|
|
..
|
|
%YAML 1.2
|
|
---
|
|
version: 1.1
|
|
|
|
auto:
|
|
description: Automatic proxy configuration URL
|
|
type: web_address
|
|
disabled:
|
|
variable: _.proxy_mode
|
|
when_not: Automatic proxy configuration URL
|
|
...
|
|
|
|
If the `proxy_mode` variable has the `"Automatic proxy configuration URL"` value, this `auto` variable is enabled.
|
|
It is :term:`disabled` otherwise.
|
|
|
|
Let's launch the Rougail CLI on this :term:`user data file <user data>`:
|
|
|
|
.. extinclude:: https://forge.cloud.silique.fr/stove/rougail-tutorials/raw/commit/v1.1_100/config/03/config.yml
|
|
:language: yaml
|
|
:caption: The :file:`config/03/config.yml` user data file
|
|
|
|
..
|
|
---
|
|
proxy_mode: Automatic proxy configuration URL
|
|
auto: https://auto.proxy.net/wpad.dat
|
|
|
|
we have this output:
|
|
|
|
.. raw:: html
|
|
:url: https://forge.cloud.silique.fr/stove/rougail-tutorials/raw/commit/v1.1_100/config/03/output_ro.html
|
|
:class: output
|
|
|
|
..
|
|
╭────────────── Caption ───────────────╮
|
|
│ Variable Modified value │
|
|
│ (⏳ Original default value) │
|
|
╰──────────────────────────────────────╯
|
|
Variables:
|
|
┣━━ 📓 Configure Proxy Access to the Internet: Automatic proxy configuration URL ◀ loaded from the YAML file "config/03/config.yml" (⏳ No proxy)
|
|
┗━━ 📓 Automatic proxy configuration URL: https://auto.proxy.net/wpad.dat ◀ loaded from the YAML file "config/03/config.yml"
|
|
|