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

注意

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

摘要

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

术语

参数

注释

术语

字符串

要查询的 URL

关键字参数

这描述了查找的关键字参数。这些是在以下示例中的 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 中添加

urllib2、all/yes、safe、none 的字符串,用于确定如何跟随重定向

选项

  • "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 中添加

使用请求的 GSSAPI 处理程序

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

选项

  • false ← (默认)

  • true

配置

use_netrc

布尔值

在 ansible-core 2.14 中添加

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

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

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

选项

  • false

  • true ← (默认)

配置

use_proxy

布尔值

控制查找在存在时是否会观察 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 的行列表或内容列表

返回:成功

作者

  • Brian Coca (@bcoca)

提示

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