Менеджер развертывания Google получает доступ к вложенным свойствам с аргументом --properties - PullRequest
0 голосов
/ 10 октября 2019

Если я использую шаблон jinja, я могу переопределить свойства через командную строку следующим образом:

--properties zone:us-central1-a,machineType:n1-standard-1,image:debian-9

Но я не вижу документации или примеров для этого с вложенными свойствами, такими как метки или environmentVariables, например:

resources:
  - name: resource-name
    type: 'gcp-types/cloudfunctions-v1:projects.locations.functions'
    properties:
      labels:
        testlabel1: testlabel1value
        testlabel2: testlabel2value
      environmentVariables:
        TEST: 'zzzzzzzzz'

Как настроить свойства, подобные этим? это не работает: --properties labels:testlabel1:newvalue

1 Ответ

1 голос
/ 10 октября 2019

Короткий ответ здесь заключается в том, что флаг --properties не предназначен для передачи значений свойств в шаблон. Шаблон не может работать без файла конфигурации, флаг --properties предназначен для замены файла конфигурации. Каждый передаваемый вами параметр аналогичен перечислению их в файле конфигурации.

По сути, использование --template my-template.py --properties zone:us-central1-f эквивалентно выполнению --config myConfig.yaml, где YAML определяется так:

imports:
- path: my-template.py

resources:
- name: some-resource
  type: my-temaplte.py
  properties:
    zone: us-central1-f

Флаг --properties не предназначен для передачи необработанных данных для замены не переменных.

Хотя это не дает прямого ответа на ваш вопрос, обычно вам не нужно определять вложенные значения в флаге. Ваш шаблон будет обычно вызывать прямые переменные, взятые из объекта properties.

, несмотря на это, я пробовал некоторые тесты, и, насколько я могу судить, вы не можете сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...