Spec-Zone.ru › Ansible 2.4

uri - Взаимодействие с веб-сервисами

  • Описание
  • Параметры
  • Примеры
  • Возвращаемые значения
  • Примечания
    • Статус
    • Информация о техническом обслуживании

Описание

  • Взаимодействует с веб-сервисами HTTP и HTTPS и поддерживает механизмы аутентификации HTTP Digest, Basic и WSSE.
  • Для целевых платформ Windows используйте модуль win_uri.

Параметры

параметр обязательно по умолчанию значения комментарии
HEADER_
нет
Любой параметр, начинающийся с "HEADER_", отправляется в запросе в качестве заголовка. Например, HEADER_Content-Type="application/json" отправит заголовок "Content-Type" вместе с запросом со значением "application/json". Этот параметр устарел, начиная с 2.1 и может быть удален в будущих версиях. Используйте параметр headers.
body
нет
Тело HTTP-запроса/ответа веб-сервису. Если body_format установлено в 'json', оно будет использовать уже отформатированную JSON-строку или преобразовывать структуру данных в JSON.
body_format
(добавлен в 2.0)
нет raw
  • raw
  • json
Формат сериализации тела. При установке в json кодирует аргумент body, если необходимо, и автоматически устанавливает заголовок Content-Type соответственно. Начиная с 2.3, можно переопределить заголовок `Content-Type`, если он установлен в json через параметр headers.
client_cert
(добавлен в 2.4)
нет
Файл цепочки сертификатов в формате PEM, используемый для аутентификации клиента SSL. Этот файл также может содержать ключ, и если ключ включен, параметр client_key не требуется
client_key
(добавлен в 2.4)
нет
Файл в формате PEM, содержащий ваш закрытый ключ, используемый для аутентификации клиента SSL. Если client_cert содержит и сертификат, и ключ, этот параметр не нужен.
creates
нет
имя файла, если оно уже существует, этот шаг не выполняется.
dest
нет
путь для загрузки файла (если нужно). Если dest — это директория, будет использовано имя файла на удаленном сервере.
follow_redirects
нет safe
  • all
  • safe
  • none
Следовать ли перенаправлениям URI. all будет следовать всем перенаправлениям. safe будет следовать только «безопасным» перенаправлениям, где «безопасный» означает, что клиент выполняет только GET или HEAD для URI, на который он перенаправляется. none не будет следовать никаким перенаправлениям. Обратите внимание, что yes и no значения поддерживаются для обратной совместимости, где yes эквивалентно all, а no эквивалентно safe. yes и no устарели и будут удалены в будущих версиях Ansible.
force_basic_auth
нет нет
  • да
  • нет
Библиотека, используемая модулем uri, отправляет информацию об аутентификации только тогда, когда веб-сервис отвечает на начальный запрос кодом состояния 401. Поскольку некоторые сервисы basic auth не отправляют 401 должным образом, попытки входа могут потерпеть неудачу. Этот параметр принудительно отправляет заголовок Basic authentication при первоначальном запросе.
headers
(добавлен в 2.1)
нет
Добавление пользовательских HTTP-заголовков к запросу в формате YAML-хэша. Начиная с 2.3, предоставление Content-Type здесь переопределит заголовок, сгенерированный при предоставлении json для параметра body_format.
method
нет GET
  • GET
  • POST
  • PUT
  • HEAD
  • DELETE
  • OPTIONS
  • PATCH
  • TRACE
  • CONNECT
  • REFRESH
HTTP-метод запроса или ответа. Он ДОЛЖЕН быть в верхнем регистре.
others
нет
все аргументы, принимаемые модулем file, также работают здесь
password
нет
пароль для использования модулем для аутентификации Digest, Basic или WSSE.
removes
нет
имя файла, если оно не существует, этот шаг не выполняется.
return_content
нет нет
  • да
  • нет
Возвращать ли тело ответа в качестве ключа "content" в словаре результата. Если указанный тип Content-type — "application/json", то JSON дополнительно загружается в ключ json в словаре результатов.
status_code
нет 200
Действительный числовой HTTP-код состояния, обозначающий успешность запроса. Также может быть запятой-разделенным списком кодов состояния.
timeout
нет 30
Таймаут уровня сокета в секундах
url
да
HTTP или HTTPS URL в формате (http|https)://host.domain[:port]/path
user
нет
имя пользователя для использования модулем для аутентификации Digest, Basic или WSSE.
validate_certs
(добавлен в 1.9.2)
нет да
  • да
  • нет
Если no, сертификаты SSL не будут проверены. Это следует устанавливать в no только для сайтов, находящихся под вашим контролем, использующих самоподписанные сертификаты. До версии 1.9.2 код по умолчанию был no.

Примеры

- name: Check that you can connect (GET) to a page and it returns a status 200
  uri:
    url: http://www.example.com

# Check that a page returns a status 200 and fail if the word AWESOME is not
# in the page contents.
- uri:
    url: http://www.example.com
    return_content: yes
  register: webpage

- name: Fail if AWESOME is not in the page content
  fail:
  when: "'AWESOME' not in webpage.content"


- name: Create a JIRA issue
  uri:
    url: https://your.jira.example.com/rest/api/2/issue/
    method: POST
    user: your_username
    password: your_pass
    body: "{{ lookup('file','issue.json') }}"
    force_basic_auth: yes
    status_code: 201
    body_format: json

# Login to a form based webpage, then use the returned cookie to
# access the app in later tasks

- uri:
    url: https://your.form.based.auth.example.com/index.php
    method: POST
    body: "name=your_username&password=your_password&enter=Sign%20in"
    status_code: 302
    headers:
      Content-Type: "application/x-www-form-urlencoded"
  register: login

- uri:
    url: https://your.form.based.auth.example.com/dashboard.php
    method: GET
    return_content: yes
    headers:
      Cookie: "{{login.set_cookie}}"

- name: Queue build of a project in Jenkins
  uri:
    url: "http://{{ jenkins.host }}/job/{{ jenkins.job }}/build?token={{ jenkins.token }}"
    method: GET
    user: "{{ jenkins.user }}"
    password: "{{ jenkins.password }}"
    force_basic_auth: yes
    status_code: 201

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

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

имя описание возвращается тип пример
msg
HTTP-сообщение из запроса
всегда строка OK (неизвестные байты)
redirected
Было ли перенаправление запроса
всегда логическое значение False
status
HTTP-код состояния из запроса
всегда целое число 200
url
Фактический URL, используемый для запроса
всегда строка https://www.ansible.com/

Примечания

Примечание

  • Зависимость от httplib2 была удалена в Ansible 2.1.
  • Модуль возвращает все HTTP-заголовки в нижнем регистре.
  • Для целевых платформ Windows используйте модуль win_uri.

Статус

Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют отсутствие несовместимых изменений интерфейса.

Информация о техническом обслуживании

Дополнительную информацию о поддержке этого модуля компанией Red Hat см. в knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>.

Для получения помощи в разработке модулей, если у вас есть желание, ознакомьтесь с Информацией о сообществе и участии, Тестирование Ansible и Разработка модулей.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/uri_module.html

Spec-Zone.ru

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