Spec-Zone.ru › Ansible

Модуль google.cloud.gcp_secret_manager — доступ к объектам Google Cloud Secrets Manager и их обновление

Примечание

Этот модуль входит в коллекцию google.cloud (версия 1.13.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install google.cloud. Для работы с этим модулем требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_secret_manager.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Доступ к секретам, хранящимся в Google Secrets Manager.
  • Создание новых секретов.
  • Создание новых значений секретов.
  • Добавление и удаление версий секретов.
  • Обратите внимание: другие функции, такие как etags, репликация и аннотации, должны управляться за пределами Ansible.
  • Работа с региональными секретами, если задан параметр location.

Требования

На узле, выполняющем этот модуль, должны быть установлены следующие компоненты.

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Параметры

Параметр

Комментарии

access_token

string

Токен доступа OAuth2, если тип учетных данных — accesstoken.

auth_kind

string / обязательный

Тип используемых учетных данных.

Варианты:

  • "application"
  • "machineaccount"
  • "serviceaccount"
  • "accesstoken"

env_type

string

Указывает, в какой среде Ansible выполняется этот модуль.

Не задавайте этот параметр, если не уверены в своих действиях.

Он изменяет только строку User Agent для любых запросов API.

labels

dictionary

Набор пар «ключ — значение», назначаемых секрету в качестве меток

используется только при создании

Обратите внимание: часть «значение» метки может содержать только печатные символы

По умолчанию: {}

location

string

Если задан, указывает расположение регионального секрета.

name

псевдонимы: key, secret, secret_id

string / обязательный

Имя используемого секрета

project

string

Используемый проект Google Cloud Platform.

return_value

boolean

Если задано значение true, значение секрета будет возвращено в Ansible в расшифрованном виде

Если задано значение false, значение не будет возвращено или расшифровано

Варианты:

  • false
  • true ← (по умолчанию)

scopes

list / элементы=string

Массив используемых областей доступа

service_account_contents

jsonarg

Содержимое JSON-файла учетной записи службы в виде словаря или JSON-строки, представляющей его.

service_account_email

string

Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию.

service_account_file

path

Путь к JSON-файлу учетной записи службы, если в качестве типа выбрано serviceaccount.

state

string

Должен ли секрет существовать

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

value

string

Значение, которое должен иметь секрет

задается при создании

Если значение секрета отличается от указанного, будет добавлена новая версия с этим значением

version

string

Метка версии, назначаемая секрету

По умолчанию используется «latest» — самая новая версия секрета

При удалении также допускается специальное значение «all» (удаляет все версии секрета)

По умолчанию: "latest"

Примечания

Примечание

  • Справочник API: https://cloud.google.com/secret-manager/docs/reference/rests
  • Официальная документация: https://cloud.google.com/secret-manager/docs/overview
  • Для аутентификации можно задать service_account_file с помощью переменной среды GCP_SERVICE_ACCOUNT_FILE.
  • Для аутентификации можно задать service_account_contents с помощью переменной среды GCP_SERVICE_ACCOUNT_CONTENTS.
  • Для аутентификации можно задать service_account_email с помощью переменной среды GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации можно задать auth_kind с помощью переменной среды GCP_AUTH_KIND.
  • Для аутентификации можно задать scopes с помощью переменной среды GCP_SCOPES.
  • Значения переменных среды используются, только если значения в плейбуке не заданы.
  • Параметры service_account_email и service_account_file нельзя использовать одновременно.

Примеры

- name: Create a new secret
  google.cloud.gcp_secret_manager:
    name: secret_key
    value: super_secret
    state: present
    auth_kind: serviceaccount
    service_account_file: service_account_creds.json

- name: Ensure the secretexists, fail otherwise and return the value
  google.cloud.gcp_secret_manager:
    name: secret_key
    state: present

- name: Ensure secret exists but don't return the value
  google.cloud.gcp_secret_manager:
    name: secret_key
    state: present
    return_value: false

- name: Add a new version of a secret
  google.cloud.gcp_secret_manager:
    name: secret_key
    value: updated super secret
    state: present

- name: Delete version 1 of a secret (but not the secret itself)
  google.cloud.gcp_secret_manager:
    name: secret_key
    version: 1
    state: absent

- name: Delete all versions of a secret
  google.cloud.gcp_secret_manager:
    name: secret_key
    version: all
    state: absent

- name: Create a secret with labels
  google.cloud.gcp_secret_manager:
    name: secret_key
    value: super_secret
    labels:
      key_name: "ansible_rox"

- name: Create a new regional secret
  google.cloud.gcp_secret_manager:
    name: secret_key
    location: us-central1
    value: super_secret
    state: present
    auth_kind: serviceaccount
    service_account_file: service_account_creds.json

- name: Ensure the regional secret exists, fail otherwise and return the value
  google.cloud.gcp_secret_manager:
    name: secret_key
    location: us-central1
    state: present

- name: Ensure regional secret exists but don't return the value
  google.cloud.gcp_secret_manager:
    name: secret_key
    location: us-central1
    state: present
    return_value: false

- name: Add a new version of a regional secret
  google.cloud.gcp_secret_manager:
    name: secret_key
    location: us-central1
    value: updated super secret
    state: present

- name: Delete version 1 of a regional secret (but not the secret itself)
  google.cloud.gcp_secret_manager:
    name: secret_key
    location: us-central1
    version: 1
    state: absent

- name: Delete all versions of a regional secret
  google.cloud.gcp_secret_manager:
    name: secret_key
    location: us-central1
    version: all
    state: absent

- name: Create a regional secret with labels
  google.cloud.gcp_secret_manager:
    name: secret_key
    location: us-central1
    value: super_secret
    labels:
      key_name: "ansible_rox"

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже приведены поля, уникальные для этого модуля:

Ключ

Описание

resources

complex

Список ресурсов

Возвращается: всегда

location

string

Расположение регионального секрета.

Возвращается: при успехе

msg

string

Сообщение о выполненном (или невыполненном) действии

Возвращается: при успехе, при ошибке

name

string

Имя секрета

Возвращается: при успехе

payload

dictionary

Полезная нагрузка секрета в кодировке base64, включая CRC для проверки

Возвращается: при успехе

status_code

string

Код состояния HTTP-ответа Google Cloud

Возвращается: при успехе

url

string

URL Google Cloud, использованный для выполнения запроса

Возвращается: при успехе

value

string

Расшифрованное значение секрета; используйте с осторожностью

Возвращается: при успехе

version

string

Номер возвращенной версии секрета

Возвращается: при успехе

Авторы

  • Google Inc. (@googlecloudplatform)

Ссылки на коллекцию

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_secret_manager_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API