Модуль openstack.cloud.application_credential — управление учётными данными приложения OpenStack Identity (Keystone)
Примечание
Этот модуль входит в коллекцию openstack.cloud (версия 2.5.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install openstack.cloud. Для использования этого модуля необходимы дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: openstack.cloud.application_credential.
Краткое описание
- Создание или удаление учётных данных приложения OpenStack Identity (Keystone).
- Если параметр secret не задан, секрет будет сгенерирован и возвращён
- в ответе. Изменить существующие учётные данные нельзя, поэтому запуск этого модуля
- для существующих учётных данных приведёт к их удалению и повторному созданию.
- Это следует учитывать при генерации секрета, поскольку секрет
- будет меняться при каждом запуске модуля.
Требования
Для работы этого модуля на узле, где он выполняется, необходимы перечисленные ниже компоненты.
- python >= 3.6
- openstacksdk >= 1.0.0
Параметры
Параметр | Комментарии |
|---|---|
access_rules list / elements=dictionary | Список правил доступа, каждое из которых содержит метод запроса, путь и службу. |
|
method string / обязательный |
Метод HTTP |
|
path string / обязательный |
Путь в URL доступа |
|
service string / обязательный |
Имя конечной точки службы |
api_timeout integer | Время ожидания на уровне сокетов перед истечением времени ожидания вызовов API. Если параметр не указан, библиотеке requests ничего не передаётся. |
auth dictionary | Словарь с данными аутентификации, необходимыми для используемого облаком подключаемого модуля аутентификации. Для стандартного подключаемого модуля password здесь указываются auth_url, username, password, project_name и сведения о доменах (например, user_domain_name или project_domain_name), если облако их поддерживает. Для других подключаемых модулей этот параметр должен содержать необходимые им параметры. Этот параметр не требуется, если указано именованное облако или заданы переменные среды OpenStack OS_*. |
auth_type string | Имя используемого подключаемого модуля аутентификации. Если в облаке используется не аутентификация по паролю, укажите здесь имя подключаемого модуля и соответствующим образом обновите содержимое параметра auth. |
ca_cert псевдонимы: cacert string | Путь к пакету сертификатов CA, который можно использовать для проверки запросов API SSL. |
client_cert псевдонимы: cert string | Путь к клиентскому сертификату, используемому при обмене данными SSL. |
client_key псевдонимы: key string | Путь к клиентскому ключу, используемому при обмене данными SSL. |
cloud any | Именованное облако или конфигурация облака, с которыми нужно работать. Если значение cloud — строка, она ссылается на именованную конфигурацию облака, заданную в файле OpenStack clouds.yaml. Предоставляет значения по умолчанию для auth и auth_type. Этот параметр не требуется, если задан auth или присутствуют переменные среды OpenStack OS_*. Если значение cloud — словарь, он содержит полную конфигурацию облака, аналогичную разделу файла clouds.yaml. |
description string | Описание учётных данных приложения. |
expires_at string | Задаёт дату истечения срока действия учётных данных приложения, формат: YYYY-mm-ddTHH:MM:SS (если значение не указано, срок действия учётных данных приложения не истекает). |
interface псевдонимы: endpoint_type string | Тип URL конечной точки, используемой для получения данных из каталога служб. Варианты:
|
name string / обязательный | Имя учётных данных приложения. |
region_name string | Имя региона. |
roles list / elements=dictionary | Роли для авторизации (имя или идентификатор). |
|
domain_id string |
Идентификатор домена |
|
id string |
Идентификатор роли |
|
name string |
Имя роли |
sdk_log_level string | Уровень ведения журнала OpenStackSDK Варианты:
|
sdk_log_path string | Путь к файлу журнала OpenStackSDK. Если значение пустое, журнал не ведётся. |
secret string | Секрет для аутентификации (если не указан, будет сгенерирован). |
state string | Должен ли ресурс присутствовать или отсутствовать. Учётные данные приложения неизменяемы, поэтому запуск модуля с уже существующими учётными данными приведёт к их удалению и повторному созданию. Варианты:
|
timeout integer | Время ожидания Ansible запрошенного ресурса. По умолчанию: |
unrestricted boolean | Разрешить учётным данным приложения создавать и удалять другие учётные данные приложений и трасты (это потенциально опасное поведение, которое по умолчанию отключено). Варианты:
|
validate_certs псевдонимы: verify boolean | Следует ли проверять запросы API SSL. До Ansible 2.3 значение по умолчанию было Варианты:
|
wait boolean | Должен ли Ansible ожидать завершения операции с запрошенным ресурсом. Варианты:
|
Примечания
Примечание
- Вместо явного указания значений можно использовать стандартные переменные среды OpenStack, например
OS_USERNAME. - Данные аутентификации обрабатываются openstacksdk. Это означает, что значения могут быть взяты из файла конфигурации yaml в /etc/ansible/openstack.yaml, /etc/openstack/clouds.yaml или ~/.config/openstack/clouds.yaml, затем из стандартных переменных среды и, наконец, из явных параметров плейбука. Дополнительные сведения см. на странице https://docs.openstack.org/openstacksdk/
Примеры
- name: Create application credential
openstack.cloud.application_credential:
cloud: mycloud
description: demodescription
name: democreds
state: present
- name: Create application credential with expiration, access rules and roles
openstack.cloud.application_credential:
cloud: mycloud
description: demodescription
name: democreds
access_rules:
- service: "compute"
path: "/v2.1/servers"
method: "GET"
expires_at: "2024-02-29T09:29:59"
roles:
- name: Member
state: present
- name: Delete application credential
openstack.cloud.application_credential:
cloud: mycloud
name: democreds
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
application_credential dictionary | Словарь с описанием проекта. Возвращается: при успешном выполнении, если значение state — |
|
access_rules list / elements=dictionary |
Список объектов access_rules Возвращается: при успешном выполнении Пример: |
|
description string |
Описание назначения учётных данных приложения. Возвращается: при успешном выполнении Пример: |
|
expires_at string |
Время истечения срока действия учётных данных приложения в формате UTC, если оно было указано. Возвращается: при успешном выполнении Пример: |
|
id string |
Идентификатор учётных данных приложения. Возвращается: при успешном выполнении Пример: |
|
name string |
Имя учётных данных приложения. Возвращается: при успешном выполнении Пример: |
|
project_id string |
Идентификатор проекта, для которого созданы учётные данные приложения и к которому будут относиться запросы аутентификации с их использованием. Возвращается: при успешном выполнении Пример: |
|
roles list / elements=dictionary |
Список одной или нескольких ролей, связанных с проектом этих учётных данных приложения. Токен, использующий эти учётные данные приложения, будет иметь те же роли. Возвращается: при успешном выполнении Пример: |
|
secret string |
Секрет для аутентификации (если он не указан, возвращается сгенерированное значение). Возвращается: при успешном выполнении Пример: |
|
unrestricted boolean |
Флаг, указывающий, можно ли использовать учётные данные приложения для создания или удаления других учётных данных приложения или трастов. Возвращается: при успешном выполнении |
cloud dictionary | Текущая конфигурация облака, в которой имя пользователя и пароль заменены именем и секретом учётных данных приложения. Её можно передать параметру cloud других задач или записать в файл конфигурации облака OpenStack. Возвращается: при успешном выполнении, если значение state — Пример: |
Ссылки на коллекцию
© 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/openstack/cloud/application_credential_module.html