Spec-Zone.ru › Ansible 2.5

uri - Взаимодействует с веб-службами

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
    • Поддержка
    • Автор

Обзор

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
body
Тело запроса/ответа HTTP к веб-службе. Если body_format установлено в 'json', будет использоваться уже отформатированная строка JSON или данные будут преобразованы в JSON.
body_format
(добавлено в 2.0)
    Варианты:
  • 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
    Варианты:
  • all
  • safe ←
  • none
Следовать ли перенаправлениям URI модулем. all будут следовать всем перенаправлениям. safe будет следовать только "безопасным" перенаправлениям, где "безопасный" означает, что клиент выполняет только GET или HEAD для URI, на который он перенаправляется. none не будет следовать ни одному перенаправлению. Обратите внимание, что yes и no варианты поддерживаются для обратной совместимости, где yes эквивалентно all, и no эквивалентно safe. yes и no устарели и будут удалены в будущих версиях Ansible.
force_basic_auth
    Варианты:
  • no ←
  • yes
Библиотека, используемая модулем uri, отправляет информацию об аутентификации только тогда, когда веб-служба отвечает на начальный запрос статусом 401. Поскольку некоторые сервисы basic auth не отправляют правильно 401, авторизация может не удаться. Этот параметр принудительно отправляет заголовок Basic аутентификации при первоначальном запросе.
HEADER_
Любой параметр, начинающийся с "HEADER_", отправляется в запросе в качестве заголовка. Например, HEADER_Content-Type="application/json" отправит заголовок "Content-Type" вместе с вашим запросом со значением "application/json". Этот параметр устарел, начиная с 2.1, и будет удален в Ansible-2.9. Используйте headers вместо него.
headers
(добавлено в 2.1)
Добавить пользовательские HTTP-заголовки к запросу в формате YAML-хэша. Начиная с 2.3, использование Content-Type здесь переопределит заголовок, сгенерированный использованием json для параметра body_format.
method
    Варианты:
  • GET ←
  • POST
  • PUT
  • HEAD
  • DELETE
  • OPTIONS
  • PATCH
  • TRACE
  • CONNECT
  • REFRESH
Метод HTTP запроса или ответа. ДОЛЖЕН быть в верхнем регистре.
others
все аргументы, принимаемые модулем file, также работают здесь
password
пароль для использования модулем для аутентификации Digest, Basic или WSSE.
removes
имя файла, если он не существует, этот шаг не будет выполнен.
return_content
    Варианты:
  • no ←
  • yes
Возвращать ли тело ответа в виде ключа "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
  • yes ←
Если no, сертификаты SSL не будут проверены. Это должно быть установлено только в no при использовании на сайтах под собственным контролем, использующих самозаверяемые сертификаты. До версии 1.9.2 код по умолчанию был no.

Примечания

Примечание

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

Примеры

- 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
логическое значение
всегда
Было ли перенаправление запроса

status
целое число
всегда
Код HTTP статуса из запроса

Пример:
200
url
строка
всегда
Фактический URL, используемый для запроса

Пример:
https://www.ansible.com/


Статус

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

Поддержка

Для получения дополнительной информации о поддержке этого модуля Red Hat, обратитесь к этой статье базы знаний

Автор

  • Romeo Theriault (@romeotheriault)

Подсказка

Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

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

Spec-Zone.ru

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