首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何匹配dict中的支柱属性的值?

如何匹配dict中的支柱属性的值?
EN

Stack Overflow用户
提问于 2014-02-08 03:51:43
回答 1查看 1.6K关注 0票数 2

我正在尝试编写一个与柱状值匹配的状态文件,但我不知道如何(或者是否可能)匹配dicts中的支柱属性值。salt.module.match API文档没有详细介绍这方面的内容,而且没有一种明显的方法是有成效的:

代码语言:javascript
复制
root@ms-tapir:~ # salt clowder saltutil.refresh_pillar
clowder:
    None
root@ms-tapir:~ # salt clowder pillar.item wsgi_still
clowder:
    ----------
    wsgi_still:
        ----------
        foo:
            bar
        nginx_default:
            ----------
            directives:
                - return 444
root@ms-tapir:~ # salt clowder match.pillar 'wsgi_still["foo"]:bar'
clowder:
    False
root@ms-tapir:~ # salt clowder match.pillar "wsgi_still['foo']:bar"
clowder:
    False
root@ms-tapir:~ # salt clowder match.pillar "wsgi_still.foo:bar"
clowder:
    False

我调试这种情况的尝试甚至在match.py中插入一个match.py并在前台运行盐分,但这是完全无用的,导致了通信错误,而不是调试外壳,这可能是由于Salt与of的奇怪交互所致。:)

为了澄清,我们的目标是在我的/srv/salt/top.sls文件中有类似的工作:

代码语言:javascript
复制
base:
  'wsgi_still["foo"]:bar':
    - match: pillar
    - wsgi_distiller

我已经确认,salt clowder match.pillar "foo:bar"适用于我的设置(返回True),当foo: bar在这个仆从的支柱上时。

此外,我相信从不同的角度来看,这也是同样的问题:

代码语言:javascript
复制
root@ms-tapir:~ # salt -I "foo:bar" test.ping
clowder:
    True
root@ms-tapir:~ # salt -I "wsgi_still['foo']:bar" test.ping

我只是包括它,因为‘使用-I’标志是我收到的唯一建议到目前为止。:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-08 04:08:07

以下列方式访问支柱数据中的嵌套dicts:

代码语言:javascript
复制
salt -I "wsgi_still:foo:bar" test.ping

上面文件中的匹配也是如此:

代码语言:javascript
复制
base:
  'wsgi_still:foo:bar':
    - match: pillar
    - wsgi_distiller
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21641668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档