fix: new tests
This commit is contained in:
parent
4a1b9ef5a5
commit
fcafa64ff5
35 changed files with 447 additions and 15 deletions
Binary file not shown.
|
|
@ -32,7 +32,7 @@ def get_rougail_config(test_dir, namespace=False):
|
||||||
extras = list(test_dir.iterdir())
|
extras = list(test_dir.iterdir())
|
||||||
extras.sort()
|
extras.sort()
|
||||||
for extra in extras:
|
for extra in extras:
|
||||||
if extra.name in ['rougail', 'rougail2']:
|
if extra.name in ['rougail', 'rougail2', 'file']:
|
||||||
continue
|
continue
|
||||||
if extra.is_dir():
|
if extra.is_dir():
|
||||||
extra_dictionaries[extra.name] = [str(extra)]
|
extra_dictionaries[extra.name] = [str(extra)]
|
||||||
|
|
@ -47,19 +47,23 @@ def get_rougail_config(test_dir, namespace=False):
|
||||||
return rougailconfig
|
return rougailconfig
|
||||||
|
|
||||||
|
|
||||||
def get_values_for_config(config, specify_dynamic_id=True, level="all"):
|
def get_values_for_config(config, specify_dynamic_id=True, level="all", use_unrestraint=True):
|
||||||
# level is "all" or "mandatories"
|
# level is "all" or "mandatories"
|
||||||
|
|
||||||
|
if use_unrestraint:
|
||||||
|
uconfig = config.unrestraint
|
||||||
|
else:
|
||||||
|
uconfig = config
|
||||||
excludes = []
|
excludes = []
|
||||||
get_excludes(config.unrestraint, excludes)
|
get_excludes(uconfig, excludes)
|
||||||
config.property.read_only()
|
config.property.read_only()
|
||||||
root_config = config.unrestraint
|
root_config = uconfig
|
||||||
if level == 'all':
|
if level == 'all':
|
||||||
only = False
|
only = False
|
||||||
else:
|
else:
|
||||||
only = True
|
only = True
|
||||||
values = {}
|
values = {}
|
||||||
get_variables(root_config, root_config, values, only, excludes, specify_dynamic_id)
|
get_variables(root_config, root_config, values, only, excludes, specify_dynamic_id, use_unrestraint)
|
||||||
if not specify_dynamic_id:
|
if not specify_dynamic_id:
|
||||||
for exclude in excludes:
|
for exclude in excludes:
|
||||||
_values = values
|
_values = values
|
||||||
|
|
@ -85,7 +89,7 @@ def get_excludes(config, excludes):
|
||||||
get_excludes(option, excludes)
|
get_excludes(option, excludes)
|
||||||
|
|
||||||
|
|
||||||
def get_value(variable, index, excludes):
|
def get_value(variable, index, excludes, config, use_unrestraint):
|
||||||
if 'force_store_value' in variable.property.get():
|
if 'force_store_value' in variable.property.get():
|
||||||
return variable.value.get()
|
return variable.value.get()
|
||||||
tests = variable.information.get('test', None)
|
tests = variable.information.get('test', None)
|
||||||
|
|
@ -118,13 +122,31 @@ def get_value(variable, index, excludes):
|
||||||
tests = ['192.168.1.6/32', '10.0.10.0/24']
|
tests = ['192.168.1.6/32', '10.0.10.0/24']
|
||||||
else:
|
else:
|
||||||
tests = ['192.168.1.6', '10.0.10.10']
|
tests = ['192.168.1.6', '10.0.10.10']
|
||||||
|
elif variable.type() == 'email address':
|
||||||
|
tests = ["user1@domain1.lan", "user2@domain1.lan"]
|
||||||
|
elif variable.type() == 'file name':
|
||||||
|
tests = ["/directory1/file.txt", "/directory2/file.txt"]
|
||||||
|
elif variable.type() == 'URL':
|
||||||
|
tests = ['http://domain1.lan', 'https://domain2.lan']
|
||||||
|
elif variable.type() == 'password':
|
||||||
|
password = 'onE7vaLues_len1'
|
||||||
|
if variable.extra('max_len'):
|
||||||
|
password = password[:variable.extra('max_len')]
|
||||||
|
tests = [password]
|
||||||
else:
|
else:
|
||||||
tests = ['string1', 'string2', 'string3']
|
tests = ['string1', 'string2', 'string3']
|
||||||
if not variable.ismulti():
|
if not variable.ismulti():
|
||||||
tests = tests[0]
|
tests = tests[0]
|
||||||
elif index is not None and variable.isfollower() and variable.issubmulti() is False:
|
elif index is not None and variable.isfollower() and variable.issubmulti() is False:
|
||||||
tests = tests[index]
|
if len(tests) > index:
|
||||||
|
tests = tests[index]
|
||||||
|
else:
|
||||||
|
tests = tests[0]
|
||||||
|
if not use_unrestraint:
|
||||||
|
config.property.read_write()
|
||||||
variable.value.set(tests)
|
variable.value.set(tests)
|
||||||
|
if not use_unrestraint:
|
||||||
|
config.property.read_only()
|
||||||
# if tests == None:
|
# if tests == None:
|
||||||
# tests = ""
|
# tests = ""
|
||||||
if index is not None and variable.isleader():
|
if index is not None and variable.isleader():
|
||||||
|
|
@ -132,8 +154,10 @@ def get_value(variable, index, excludes):
|
||||||
return tests
|
return tests
|
||||||
|
|
||||||
|
|
||||||
def get_variables(root_config, config, values, only, excludes, specify_dynamic_id, *, index=None, leader_is_mandatory=False):
|
def get_variables(root_config, config, values, only, excludes, specify_dynamic_id, use_unrestraint, *, index=None, leader_is_mandatory=False):
|
||||||
for idx, key in enumerate(config):
|
for idx, key in enumerate(config):
|
||||||
|
if not use_unrestraint and 'hidden' in key.property.get():
|
||||||
|
continue
|
||||||
if key.isoptiondescription():
|
if key.isoptiondescription():
|
||||||
if key.isleadership():
|
if key.isleadership():
|
||||||
value = []
|
value = []
|
||||||
|
|
@ -142,16 +166,19 @@ def get_variables(root_config, config, values, only, excludes, specify_dynamic_i
|
||||||
leader_value = leader.value.get()
|
leader_value = leader.value.get()
|
||||||
leader_is_mandatory = False
|
leader_is_mandatory = False
|
||||||
else:
|
else:
|
||||||
leader_value = get_value(leader, None, excludes)
|
leader_value = get_value(leader, None, excludes, root_config, use_unrestraint)
|
||||||
leader_is_mandatory = True
|
leader_is_mandatory = True
|
||||||
|
has_value = False
|
||||||
for idx_, val in enumerate(leader_value):
|
for idx_, val in enumerate(leader_value):
|
||||||
value.append({})
|
value.append({})
|
||||||
get_variables(root_config, key, value[-1], only, excludes, specify_dynamic_id, index=idx_, leader_is_mandatory=leader_is_mandatory)
|
get_variables(root_config, key, value[-1], only, excludes, specify_dynamic_id, use_unrestraint, index=idx_, leader_is_mandatory=leader_is_mandatory)
|
||||||
if value:
|
if value[-1]:
|
||||||
|
has_value = True
|
||||||
|
if has_value:
|
||||||
values[key.name()] = value
|
values[key.name()] = value
|
||||||
else:
|
else:
|
||||||
value = {}
|
value = {}
|
||||||
get_variables(root_config, key, value, only, excludes, specify_dynamic_id)
|
get_variables(root_config, key, value, only, excludes, specify_dynamic_id, use_unrestraint)
|
||||||
if value:
|
if value:
|
||||||
values[key.name()] = value
|
values[key.name()] = value
|
||||||
else:
|
else:
|
||||||
|
|
@ -166,7 +193,7 @@ def get_variables(root_config, config, values, only, excludes, specify_dynamic_i
|
||||||
if not only or mandatory:
|
if not only or mandatory:
|
||||||
if key.index() is not None and index is not None and index != key.index():
|
if key.index() is not None and index is not None and index != key.index():
|
||||||
continue
|
continue
|
||||||
value = get_value(key, index, excludes)
|
value = get_value(key, index, excludes, root_config, use_unrestraint)
|
||||||
if specify_dynamic_id or key.path(uncalculated=True) not in excludes:
|
if specify_dynamic_id or key.path(uncalculated=True) not in excludes:
|
||||||
values[key.name()] = value
|
values[key.name()] = value
|
||||||
|
|
||||||
|
|
|
||||||
12
structures/00_6choice_link/rougail/00-base.yml
Normal file
12
structures/00_6choice_link/rougail/00-base.yml
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
version: '1.1'
|
||||||
|
var1:
|
||||||
|
description: the first variable
|
||||||
|
choices:
|
||||||
|
- a
|
||||||
|
- b
|
||||||
|
- c
|
||||||
|
var2:
|
||||||
|
description: the second variable
|
||||||
|
default:
|
||||||
|
variable: _.var1
|
||||||
15
structures/00_6choice_variable_link/rougail/00-base.yml
Normal file
15
structures/00_6choice_variable_link/rougail/00-base.yml
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
version: '1.1'
|
||||||
|
var1: # a second variable
|
||||||
|
- a
|
||||||
|
- b
|
||||||
|
- c
|
||||||
|
var2:
|
||||||
|
description: a first variable
|
||||||
|
default: a
|
||||||
|
choices:
|
||||||
|
variable: _.var1
|
||||||
|
var3:
|
||||||
|
description: a third variable
|
||||||
|
default:
|
||||||
|
variable: _.var2
|
||||||
16
structures/00_6choice_variable_link2/rougail/00-base.yml
Normal file
16
structures/00_6choice_variable_link2/rougail/00-base.yml
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
version: '1.1'
|
||||||
|
var1: # a second variable
|
||||||
|
- a
|
||||||
|
- b
|
||||||
|
- c
|
||||||
|
var2:
|
||||||
|
description: a first variable
|
||||||
|
default: a
|
||||||
|
choices:
|
||||||
|
variable: _.var1
|
||||||
|
family:
|
||||||
|
var3:
|
||||||
|
description: a third variable
|
||||||
|
default:
|
||||||
|
variable: __.var2
|
||||||
17
structures/00_6regexp_link/rougail/00-base.yml
Normal file
17
structures/00_6regexp_link/rougail/00-base.yml
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
version: '1.1'
|
||||||
|
var1:
|
||||||
|
description: a first variable
|
||||||
|
regexp: "^#(?:[0-9a-f]{3}){1,2}$"
|
||||||
|
default: "#a1a1a1"
|
||||||
|
test:
|
||||||
|
- "#b1b1b1"
|
||||||
|
- "#b2b2b2"
|
||||||
|
|
||||||
|
var2:
|
||||||
|
description: a second variable
|
||||||
|
default:
|
||||||
|
variable: _.var1
|
||||||
|
test:
|
||||||
|
- "#b2b1b1"
|
||||||
|
- "#b3b2b2"
|
||||||
24
structures/00_6secret_param/rougail/00-base.yml
Normal file
24
structures/00_6secret_param/rougail/00-base.yml
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
---
|
||||||
|
version: '1.1'
|
||||||
|
secret1:
|
||||||
|
description: the first variable
|
||||||
|
type: secret
|
||||||
|
params:
|
||||||
|
min_len: 10
|
||||||
|
secret2:
|
||||||
|
description: the second variable
|
||||||
|
type: secret
|
||||||
|
default: value
|
||||||
|
params:
|
||||||
|
max_len: 10
|
||||||
|
forbidden_char:
|
||||||
|
- $
|
||||||
|
- ^
|
||||||
|
secret3:
|
||||||
|
description: the third variable
|
||||||
|
type: secret
|
||||||
|
default: value
|
||||||
|
params:
|
||||||
|
max_len: 10
|
||||||
|
forbidden_char:
|
||||||
|
- $
|
||||||
18
structures/00_7help/rougail/00-base.yml
Normal file
18
structures/00_7help/rougail/00-base.yml
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
---
|
||||||
|
version: '1.1'
|
||||||
|
var1:
|
||||||
|
description: the first variable
|
||||||
|
help: |-
|
||||||
|
Multi line
|
||||||
|
|
||||||
|
Help
|
||||||
|
|
||||||
|
With useful information
|
||||||
|
var2:
|
||||||
|
description: the second variable
|
||||||
|
help: >-
|
||||||
|
Multi line
|
||||||
|
|
||||||
|
Help
|
||||||
|
|
||||||
|
With useful information
|
||||||
18
structures/00_7help_sup/rougail/00-base.yml
Normal file
18
structures/00_7help_sup/rougail/00-base.yml
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
---
|
||||||
|
version: '1.1'
|
||||||
|
var1:
|
||||||
|
description: the first <variable>
|
||||||
|
help: |-
|
||||||
|
Multi line
|
||||||
|
|
||||||
|
<Help>
|
||||||
|
|
||||||
|
With useful information
|
||||||
|
var2:
|
||||||
|
description: the second <variable>
|
||||||
|
help: >-
|
||||||
|
Multi line
|
||||||
|
|
||||||
|
<Help>
|
||||||
|
|
||||||
|
With useful information
|
||||||
0
structures/00_8calculation_namespace/force_namespace
Normal file
0
structures/00_8calculation_namespace/force_namespace
Normal file
7
structures/00_8calculation_namespace/rougail/00-base.yml
Normal file
7
structures/00_8calculation_namespace/rougail/00-base.yml
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
version: '1.1'
|
||||||
|
variable:
|
||||||
|
description: a variable
|
||||||
|
mandatory: false
|
||||||
|
default:
|
||||||
|
type: namespace
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
version: '1.1'
|
||||||
|
variable:
|
||||||
|
description: a variable
|
||||||
|
mandatory: false
|
||||||
|
default:
|
||||||
|
jinja: '{{ namespace }}'
|
||||||
|
params:
|
||||||
|
namespace:
|
||||||
|
type: namespace
|
||||||
6
structures/16_3family_empty_at_ends/rougail/00-base.yml
Normal file
6
structures/16_3family_empty_at_ends/rougail/00-base.yml
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
version: '1.1'
|
||||||
|
|
||||||
|
family:
|
||||||
|
|
||||||
|
var1:
|
||||||
4
structures/16_3family_empty_at_ends/rougail/01-base.yml
Normal file
4
structures/16_3family_empty_at_ends/rougail/01-base.yml
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
version: 1.1
|
||||||
|
|
||||||
|
family:
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
version: 1.1
|
||||||
|
|
||||||
|
leadership:
|
||||||
|
description: a leadership
|
||||||
|
type: leadership
|
||||||
|
|
||||||
|
leader:
|
||||||
|
description: a leader
|
||||||
|
default:
|
||||||
|
- value1
|
||||||
|
- value2
|
||||||
|
|
||||||
|
follower:
|
||||||
|
description: a follower
|
||||||
|
default:
|
||||||
|
variable: _.leader
|
||||||
|
|
@ -4,6 +4,6 @@ fam1: # first family
|
||||||
var: "no" # a variable
|
var: "no" # a variable
|
||||||
fam2: # second family
|
fam2: # second family
|
||||||
var:
|
var:
|
||||||
description: a varaible
|
description: a variable
|
||||||
default:
|
default:
|
||||||
variable: __.fam1.var
|
variable: __.fam1.var
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
version: 1.1
|
||||||
|
|
||||||
|
leadership:
|
||||||
|
description: a leadership
|
||||||
|
type: leadership
|
||||||
|
|
||||||
|
leader:
|
||||||
|
description: a leader
|
||||||
|
default:
|
||||||
|
- value1
|
||||||
|
- value2
|
||||||
|
|
||||||
|
follower:
|
||||||
|
description: a follower
|
||||||
|
default:
|
||||||
|
- variable: _.leader
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
---
|
||||||
|
version: 1.1
|
||||||
|
|
||||||
|
leader:
|
||||||
|
type: leadership
|
||||||
|
|
||||||
|
leader:
|
||||||
|
default:
|
||||||
|
- a
|
||||||
|
- b
|
||||||
|
|
||||||
|
follower:
|
||||||
|
mandatory: false
|
||||||
|
|
||||||
|
variable:
|
||||||
|
mandatory: false
|
||||||
|
default:
|
||||||
|
variable: _.leader.follower
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
version: '1.1'
|
||||||
|
calculate:
|
||||||
|
description: a calculated variable
|
||||||
|
default:
|
||||||
|
- value1
|
||||||
|
- value2
|
||||||
|
leader:
|
||||||
|
description: a leadership
|
||||||
|
type: leadership
|
||||||
|
leader:
|
||||||
|
description: a leader
|
||||||
|
default:
|
||||||
|
variable: __.calculate
|
||||||
|
follower1: val11 # a follower
|
||||||
|
follower2: val21 # an other follower
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
---
|
||||||
|
version: 1.1
|
||||||
|
|
||||||
|
leadership_1:
|
||||||
|
description: a leadership
|
||||||
|
type: leadership
|
||||||
|
|
||||||
|
leader:
|
||||||
|
description: a leader
|
||||||
|
default:
|
||||||
|
- value1
|
||||||
|
- value2
|
||||||
|
|
||||||
|
follower:
|
||||||
|
description: a follower
|
||||||
|
|
||||||
|
leadership_2:
|
||||||
|
description: a second leadership
|
||||||
|
type: leadership
|
||||||
|
|
||||||
|
leader:
|
||||||
|
description: a leader
|
||||||
|
default:
|
||||||
|
variable: __.leadership_1.follower
|
||||||
|
|
||||||
|
follower:
|
||||||
|
description: a follower
|
||||||
|
default: val
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
version: 1.1
|
||||||
|
|
||||||
|
leadership_1:
|
||||||
|
description: a leadership
|
||||||
|
type: leadership
|
||||||
|
|
||||||
|
leader:
|
||||||
|
description: a leader
|
||||||
|
default:
|
||||||
|
- value1
|
||||||
|
- value2
|
||||||
|
|
||||||
|
follower:
|
||||||
|
description: a follower
|
||||||
|
|
||||||
|
leadership_2:
|
||||||
|
description: a second leadership
|
||||||
|
type: leadership
|
||||||
|
|
||||||
|
leader:
|
||||||
|
description: a leader
|
||||||
|
default:
|
||||||
|
- value1
|
||||||
|
- value2
|
||||||
|
|
||||||
|
follower:
|
||||||
|
description: a follower
|
||||||
|
default:
|
||||||
|
variable: __.leadership_1.leader
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
---
|
||||||
|
version: '1.1'
|
||||||
|
|
||||||
|
var: # A suffix variable
|
||||||
|
- val.1
|
||||||
|
- val.2
|
||||||
|
|
||||||
|
"dyn{{ identifier }}":
|
||||||
|
description: A dynamic family
|
||||||
|
dynamic:
|
||||||
|
variable: _.var
|
||||||
|
var1:
|
||||||
|
description: A dynamic variable
|
||||||
|
default:
|
||||||
|
type: identifier
|
||||||
|
var2:
|
||||||
|
description: A dynamic variable
|
||||||
|
default:
|
||||||
|
jinja: >-
|
||||||
|
{{ identifier }}
|
||||||
|
params:
|
||||||
|
identifier:
|
||||||
|
type: identifier
|
||||||
12
structures/60_0family_dynamic_upper_char/rougail/00-base.yml
Normal file
12
structures/60_0family_dynamic_upper_char/rougail/00-base.yml
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
version: '1.1'
|
||||||
|
|
||||||
|
var: # A suffix variable
|
||||||
|
- Val1
|
||||||
|
- VAL2
|
||||||
|
|
||||||
|
"dyn{{ identifier }}":
|
||||||
|
description: A dynamic family
|
||||||
|
dynamic:
|
||||||
|
variable: _.var
|
||||||
|
var: # A dynamic variable
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
---
|
||||||
|
version: '1.1'
|
||||||
|
|
||||||
|
var1:
|
||||||
|
description: A suffix variable
|
||||||
|
multi: true
|
||||||
|
mandatory: false
|
||||||
|
test:
|
||||||
|
- val1
|
||||||
|
- val2
|
||||||
|
|
||||||
|
"dyn{{ identifier }}":
|
||||||
|
dynamic:
|
||||||
|
variable: _.var1
|
||||||
|
|
||||||
|
var:
|
||||||
|
description: A dynamic variable
|
||||||
|
disabled: true
|
||||||
|
|
||||||
|
var2:
|
||||||
|
description: A variable calculated
|
||||||
|
default:
|
||||||
|
variable: rougail.dynval1.var
|
||||||
|
optional: true
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
---
|
||||||
|
version: '1.1'
|
||||||
|
|
||||||
|
var2:
|
||||||
|
description: A variable calculated
|
||||||
|
default:
|
||||||
|
variable: rougail.dynval1.var
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
var1:
|
||||||
|
description: A suffix variable
|
||||||
|
multi: true
|
||||||
|
mandatory: false
|
||||||
|
test:
|
||||||
|
- val1
|
||||||
|
- val2
|
||||||
|
|
||||||
|
"dyn{{ identifier }}":
|
||||||
|
dynamic:
|
||||||
|
variable: _.var1
|
||||||
|
|
||||||
|
var:
|
||||||
|
description: A dynamic variable
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
---
|
||||||
|
version: 1.1
|
||||||
|
|
||||||
|
var1:
|
||||||
|
description: A suffix variable
|
||||||
|
default:
|
||||||
|
- val1
|
||||||
|
- val2
|
||||||
|
|
||||||
|
dyn{{ identifier }}:
|
||||||
|
dynamic:
|
||||||
|
variable: _.var1
|
||||||
|
|
||||||
|
dyn{{ identifier }}:
|
||||||
|
dynamic:
|
||||||
|
variable: __.var1
|
||||||
|
|
||||||
|
var:
|
||||||
|
description: A dynamic variable
|
||||||
|
|
||||||
|
var2:
|
||||||
|
description: A variable calculated
|
||||||
|
unique: false
|
||||||
|
default:
|
||||||
|
variable: rougail.dyn{{ identifier }}.dynval1.var
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
---
|
||||||
|
version: 1.1
|
||||||
|
|
||||||
|
var1:
|
||||||
|
description: A suffix variable
|
||||||
|
default:
|
||||||
|
- val1
|
||||||
|
- val2
|
||||||
|
|
||||||
|
dyn{{ identifier }}:
|
||||||
|
dynamic:
|
||||||
|
variable: _.var1
|
||||||
|
|
||||||
|
dyn{{ identifier }}:
|
||||||
|
dynamic:
|
||||||
|
variable: __.var1
|
||||||
|
|
||||||
|
var:
|
||||||
|
description: A dynamic variable
|
||||||
|
|
||||||
|
var2:
|
||||||
|
description: A variable calculated
|
||||||
|
unique: false
|
||||||
|
default:
|
||||||
|
variable: rougail.dynval1.dyn{{ identifier }}.var
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
version: '1.1'
|
version: '1.1'
|
||||||
var: # a varaible
|
var: # a variable
|
||||||
- a
|
- a
|
||||||
"dyn_{{ identifier }}":
|
"dyn_{{ identifier }}":
|
||||||
dynamic:
|
dynamic:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue