ansible.builtin.url lookup – 从URL返回内容

注意

此lookup插件是ansible-core的一部分,包含在所有Ansible安装中。在大多数情况下,您可以使用简短的插件名称url。但是,我们建议您使用完全限定集合名称(FQCN) ansible.builtin.url,以便轻松链接到插件文档并避免与可能具有相同lookup插件名称的其他集合冲突。

概要

  • 返回请求的URL的内容,用作play中的数据。

术语

参数

注释

术语

字符串

要查询的URL

关键字参数

这描述了lookup的关键字参数。这些是在以下示例中的值key1=value1key2=value2等等:lookup('ansible.builtin.url', key1=value1, key2=value2, ...)query('ansible.builtin.url', key1=value1, key2=value2, ...)

参数

注释

ca_path

字符串

在ansible-base 2.10中添加

要使用的CA证书包的文件系统路径字符串

配置

ciphers

列表 / 元素=字符串

在ansible-core 2.14中添加

要用于请求的SSL/TLS密码

提供列表时,所有密码都将按顺序用:连接。

有关更多详细信息,请参见OpenSSL密码列表格式

可用的密码取决于Python和OpenSSL/LibreSSL版本。

配置

follow_redirects

字符串

在ansible-base 2.10中添加

URI模块是否应该遵循重定向。

选项

  • "all":将遵循所有重定向。

  • "no":(已弃用,在2.22中移除) none的别名。

  • "none":将不遵循任何重定向。

  • "safe":仅遵循执行GET或HEAD请求的重定向。

  • "urllib2" (默认):委托给urllib2行为(在编写本文时,遵循HTTP重定向)。

  • "yes":(已弃用,在2.22中移除) all的别名。

配置

force

布尔值

在ansible-base 2.10中添加

是否设置值为“no-cache”的“cache-control”标头

选项

  • false ← (默认)

  • true

配置

force_basic_auth

布尔值

在ansible-base 2.10中添加

强制基本身份验证

选项

  • false ← (默认)

  • true

配置

headers

字典

在Ansible 2.9中添加

HTTP请求头

默认值: {}

http_agent

字符串

在ansible-base 2.10中添加

要在请求中使用的User-Agent。默认值在2.11中更改为ansible-httpget

默认值: "ansible-httpget"

配置

  • INI条目

    [url_lookup]
    agent = ansible-httpget
    
  • 环境变量:ANSIBLE_LOOKUP_URL_AGENT

  • 变量:ansible_lookup_url_agent

password

字符串

在Ansible 2.8中添加

用于HTTP身份验证的密码。

split_lines

布尔值

控制内容是作为行列表返回还是作为单个文本块返回的标志

选项

  • false

  • true ← (默认)

timeout

浮点数

在ansible-base 2.10中添加

等待服务器发送数据的时间(以秒为单位),超时则放弃

默认值: 10.0

配置

unix_socket

字符串

在ansible-base 2.10中添加

用于与提供的url建立连接的unix socket文件的 文件系统路径字符串

配置

unredirected_headers

列表 / 元素=字符串

在ansible-base 2.10中添加

不在重定向请求中附加的标头列表

配置

use_gssapi

布尔值

在ansible-base 2.10中添加

使用requests的GSSAPI处理程序

从Ansible 2.11开始,可以使用usernamepassword指定GSSAPI凭据。

选项

  • false ← (默认)

  • true

配置

use_netrc

布尔值

在ansible-core 2.14中添加

确定是否使用``~/.netrc``文件中的凭据

默认情况下,.netrc与基本身份验证标头一起使用

设置为False时,忽略.netrc凭据

选项

  • false

  • true ← (默认)

配置

use_proxy

布尔值

控制lookup在存在时是否观察HTTP代理环境变量的标志。

选项

  • false

  • true ← (默认)

username

字符串

在Ansible 2.8中添加

用于HTTP身份验证的用户名。

validate_certs

布尔值

控制SSL证书验证的标志

选项

  • false

  • true ← (默认)

备注

注意

  • 当关键字参数和位置参数一起使用时,位置参数必须列在关键字参数之前:lookup('ansible.builtin.url', term1, term2, key1=value1, key2=value2)query('ansible.builtin.url', term1, term2, key1=value1, key2=value2)

示例

- name: url lookup splits lines by default
  ansible.builtin.debug: msg="{{item}}"
  loop: "{{ lookup('ansible.builtin.url', 'https://github.com/gremlin.keys', wantlist=True) }}"

- name: display ip ranges
  ansible.builtin.debug: msg="{{ lookup('ansible.builtin.url', 'https://ip-ranges.amazonaws.com/ip-ranges.json', split_lines=False) }}"

- name: url lookup using authentication
  ansible.builtin.debug: msg="{{ lookup('ansible.builtin.url', 'https://some.private.site.com/file.txt', username='bob', password='hunter2') }}"

- name: url lookup using basic authentication
  ansible.builtin.debug:
    msg: "{{ lookup('ansible.builtin.url', 'https://some.private.site.com/file.txt', username='bob', password='hunter2', force_basic_auth='True') }}"

- name: url lookup using headers
  ansible.builtin.debug:
    msg: "{{ lookup('ansible.builtin.url', 'https://some.private.site.com/api/service', headers={'header1':'value1', 'header2':'value2'} ) }}"

返回值

描述

返回值

列表 / 元素=字符串

行列表列表或url(s)的内容

返回:成功

作者

  • Brian Coca (@bcoca)

提示

每个条目类型的配置条目具有从低到高的优先级顺序。例如,列表中优先级较低的变量将覆盖优先级较高的变量。