【问题标题】:pulumi retrieve an object or array of configs storedpulumi 检索存储的对象或配置数组
【发布时间】:2019-07-02 21:37:50
【问题描述】:

在拨打new pulumi.Config('someName') 时,我想获得someName:aValue 下的一系列秘密。

我尝试调用类似const cfg = new pulumi.Config('someName') 的名称,但在那之后,该类下的所有方法都需要一个键(例如aValue),但是当想要逻辑名称下的所有秘密时,这没有帮助。

pulumi.*.yaml

  someName:someValue1:
    secure: someSecureValue
  someName:someValue2:
    secure: someOtherSecureValue

somefile.ts

const cfg = new pulumi.Config('someName')

使用上面给定的代码,我正在寻找someName 下所有秘密的列表。

【问题讨论】:

    标签: pulumi


    【解决方案1】:

    来自docs

    配置值始终存储为字符串,但可以解析 作为丰富类型的值。

    对于更丰富的结构化数据,可以使用 config.getObject 方法 解析 JSON 值。

    对于秘密值,有函数getSecretObject()requireSecretObject()。对于你的例子,你会做类似的事情

    pulumi config set --secret someName '{"someValue1": "someSecureValue", "someValue2": "someOtherSecureValue" }'
    

    然后阅读它

    const config = new pulumi.Config();
    const someName = config.requireSecretObject("someName");
    const someValue1 = someName.someValue1;
    

    显然,您还可以在配置文件中使用多个密钥作为单独的密钥,并通过单独的 requireSecretObject 调用逐一检索它们。

    数组将被配置为

    pulumi config set --secret someName '["someSecureValue", "someOtherSecureValue"]'
    

    【讨论】:

    • 您的示例显示了带有秘密数组的 someName,但我需要多个 someName:someValue1someName:someValue2,每个都有一个要映射的值。不确定您的示例是否说明了这一点,否则我会错过它。
    • @shon 编辑它以使用对象而不是数组
    • 感谢更新,在您提供的文档链接之后,它为我指明了正确的方向,现在您已经更新了答案,我将对此进行投票。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 2020-03-02
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多