fix(libmapstack): allow mapping by booleans and numbers

* Automated using https://github.com/myii/ssf-formula/pull/418
This commit is contained in:
Stanislav Asunkin 2022-02-21 10:02:02 +00:00 committed by Imran Iqbal
parent 4bd759ca8f
commit 40ba5a72c6
No known key found for this signature in database
GPG Key ID: 6D8629439D2B7819
3 changed files with 12 additions and 7 deletions

View File

@ -181,7 +181,7 @@
{#- Load YAML file matching the grain/pillar/... #} {#- Load YAML file matching the grain/pillar/... #}
{#- Fallback to use the source name as a direct filename #} {#- Fallback to use the source name as a direct filename #}
{%- if matcher.value | length == 0 %} {%- if matcher.value is sequence and matcher.value | length == 0 %}
{#- Mangle `matcher.value` to use it as literal path #} {#- Mangle `matcher.value` to use it as literal path #}
{%- set query_parts = matcher.query.split("/") %} {%- set query_parts = matcher.query.split("/") %}
{%- set yaml_dirname = query_parts[0:-1] | join("/") %} {%- set yaml_dirname = query_parts[0:-1] | join("/") %}
@ -194,6 +194,11 @@
{#- Some configuration return list #} {#- Some configuration return list #}
{%- if yaml_names is string %} {%- if yaml_names is string %}
{%- set yaml_names = [yaml_names] %} {%- set yaml_names = [yaml_names] %}
{%- elif yaml_names is sequence %}
{#- Convert to strings if it's a sequence of numbers #}
{%- set yaml_names = yaml_names | map("string") | list %}
{%- else %}
{%- set yaml_names = [yaml_names | string] %}
{%- endif %} {%- endif %}
{#- Try to load a `.yaml.jinja` file for each `.yaml` file #} {#- Try to load a `.yaml.jinja` file for each `.yaml` file #}

View File

@ -12,11 +12,11 @@
} %} } %}
{#- When no part before `@` is provided: #} {#- When no part before `@` is provided: #}
{#- - define a filename path, noted `F` #} {#- - define a YAML file path, noted `Y` #}
{#- - use `salt["config.get"]`, noted `C` #} {#- - use `salt["config.get"]`, noted `C` #}
{#- - use colon `:` delimiter for querying #} {#- - use colon `:` delimiter for querying #}
{%- set _defaults = { {%- set _defaults = {
"type": "F", "type": "Y",
"query_type": "C", "query_type": "C",
"query_delimiter": ":" "query_delimiter": ":"
} %} } %}
@ -28,11 +28,11 @@
) %} ) %}
{#- matcher format is `[<TYPE>[:<OPTION>[:DELIMITER]]@]<KEY>` #} {#- matcher format is `[<TYPE>[:<OPTION>[:DELIMITER]]@]<KEY>` #}
{#- each matcher has a type: #} {#- each matcher has a type: #}
{#- - `F` to build a file name (the default when no type is set) #} {#- - `Y` to build a YAML file name (the default when no type is set) #}
{#- - `C` to lookup values with `config.get` #} {#- - `C` to lookup values with `config.get` #}
{#- - `G` to lookup values with `grains.get` #} {#- - `G` to lookup values with `grains.get` #}
{#- - `I` to lookup values with `pillar.get` #} {#- - `I` to lookup values with `pillar.get` #}
{#- The `FILE` type option can define query type to build the file name: #} {#- The `YAML` type option can define query type to build the file name: #}
{#- - `C` for query with `config.get` (the default when to query type is set) #} {#- - `C` for query with `config.get` (the default when to query type is set) #}
{#- - `G` for query with `grains.get` #} {#- - `G` for query with `grains.get` #}
{#- - `I` for query with `pillar.get` #} {#- - `I` for query with `pillar.get` #}

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- {#- -*- coding: utf-8 -*- #}
# vim: ft=jinja {#- vim: ft=jinja #}
{#- Get the relevant values from the `opts` dict #} {#- Get the relevant values from the `opts` dict #}
{%- set opts_cli = opts.get('__cli', '') %} {%- set opts_cli = opts.get('__cli', '') %}