Менеджер развертывания Google создать ресурс, если не существует? - PullRequest
2 голосов
/ 15 октября 2019

Есть ли способ создать ресурс, если он не существует, и использовать существующий ресурс, если он есть?

resources:
  - name: "my-topic"
    type: gcp-types/pubsub-v1:projects.topics
    properties:
      topic: "this-exists-already"
  - name: "my-other-resource"
    type: 'gcp-types/cloudfunctions-v1:projects.locations.functions'
    properties:
      functionName: "function"
      environmentVariables:
        # get a ref to new or already existing topic
        my-toptic: "$(ref.my-topic.name)"

на ссылку @ kolban Я думаю, что я хочу использовать здесь отказаться. Могу ли я выборочно «отказаться» от определенного ресурса, чтобы я мог, например, прикрепить политику accessControl к существующему сегменту, но затем НЕ удалить этот сегмент, если развертывание удалено?

ABANDON - удаляет все ссылки на ресурс из развертывания, но не удаляет базовый ресурс. Например, отказ от экземпляра означает, что он удален из развертывания, но экземпляр все еще существует для использования.

РЕДАКТИРОВАТЬ: Возможно, мне следует использовать «действие» для назначения acl вместоресурс? это правильный путь и есть ли примеры этого? Таким образом, DM, по сути, просто выполнил бы вызов API, чтобы применить acl вне диапазона. Это будет означать, что ACL останется позади, если развертывание будет удалено, но я согласен с этим. Похоже, я хочу сделать что-то подобное, но вместо применения acl к определенному файлу, я хочу установить его в корзину (с действием) https://github.com/GoogleCloudPlatform/deploymentmanager-samples/blob/master/community/storage-bucket-acl/storagebucket-acl.jinja#L29

1 Ответ

2 голосов
/ 15 октября 2019

Если мы читаем этот раздел документации диспетчера развертывания:

https://cloud.google.com/deployment-manager/docs/deployments/updating-deployments#policies_for_adding_resources

Мы читаем о понятии «создать или приобрести». Я прочел это так: если ресурс, указанный в вашей конфигурации, должен быть создан, то по умолчанию создается впечатление, что, если он уже существует, он не вызовет ошибку и будет "получен" для этого развертывания, которое, я полагаю, означает, что онобудет, как если бы он был создан.

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