3.4 KiB
Paramètre de type "variable"
Il est possible de spécifier le nom d'une variable qui peut ne pas exister :
---
version: '1.0'
my_variable:
default:
type: jinja
jinja: |+
{% if value %}
value
{% endif %}
params:
value:
type: variable
variable: rougail.unknown_variable
optional: true
La variable "rougail.unknown_variable" n'existant, value sera égal à None et la valeur de la variable "rougail.my_variable" sera aussi égale à None.
Si "rougail.unknown_variable" est créé dans un autre dictionnaire, sa valeur sera ainsi copié.
Paramètre avec variable potentiellement désactivée
Si une variable est désactivé, l'utilisation de cette variable peut poser problème.
Il est possible de ne pas générer d'erreur si une variable est désactivé en utilisant le paramètre "propertyerror" :
---
version: '1.0'
disabled_variable:
disabled: true
my_variable:
default:
type: jinja
jinja: |+
{% if value is defined and value %}
value
{% endif %}
params:
value:
type: variable
variable: rougail.disabled_variable
propertyerror: false
Dans ce cas, si la variable est désactivé, le paramètre n'est jamais donnée à la fonction de destination.
Paramètre avec variable dynamique
Il est possible de faire un calcul avec comme paramètre une variable d'une famille dynamique mais pour une suffix particulier.
Par exemple :
---
version: '1.0'
varname:
multi: true
default:
- val1
- val2
my_dyn_family_:
type: dynamic
variable: rougail.varname
description: 'Describe '
my_dyn_var_:
type: string
default: "val"
my_variable:
multi: true
unique: false
default:
type: jinja
jinja: |+
{% for val in value %}
{{ val }}
{% endfor %}
params:
value:
type: variable
variable: rougail.my_dyn_family_.my_dyn_var_
---
version: '1.0'
varname:
multi: true
default:
- val1
- val2
my_dyn_family_:
type: dynamic
variable: rougail.varname
description: 'Describe '
my_dyn_var_:
type: string
default: "val"
my_variable:
default:
type: jinja
jinja: |+
{% if value is defined and value %}
{{ value }}
{% endif %}
params:
value:
type: variable
variable: rougail.my_dyn_family_val1.my_dyn_var_val1
---
version: '1.0'
varname:
multi: true
default:
- val1
- val2
my_dyn_family_:
type: dynamic
variable: rougail.varname
description: 'Describe '
my_dyn_var_:
type: string
default:
type: jinja
jinja: '{{ value }}'
params:
value:
type: suffix
PAS LE BON FICHIER :
---
version: '1.0'
varname:
multi: true
default:
- val1
- val2
my_dyn_family_:
type: dynamic
variable: rougail.varname
description: 'Describe '
my_dyn_var_:
type: string
default:
type: suffix
Dans ce cas, la valeur du paramètre de la fonction sera la valeur de la variable "vardyn" pour la famille ayant le suffix "val1".
Il peut être utile de récupérer la valeur du suffix dans la fonction, pour cela il suffit de mettre un paramètre de type suffix :
<param type="suffix"/>
En YAML :
param:
- type: suffix
Dans l'exemple précédent la valeur de ce paramètre sera "val1".