pulumi извлекает объект или массив сохраненных конфигов - PullRequest
0 голосов
/ 02 июля 2019

При звонке на 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.

1 Ответ

2 голосов
/ 02 июля 2019

Из документов :

Значения конфигурации всегда хранятся в виде строк, но могут быть проанализированы как значения с большим количеством типов.

Для более структурированных данных метод 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"]'
...