ansible.builtin.url 查找 - 从 URL 返回内容

注意

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

摘要

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

术语

参数

注释

术语

字符串

要查询的 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 中添加

是否设置“cache-control”标题,值为“no-cache”

选项

  • false ← (默认)

  • true

配置

force_basic_auth

布尔值

在 ansible-base 2.10 中添加

强制基本身份验证

选项

  • false ← (默认)

  • true

配置

headers

字典

在 Ansible 2.9 中添加

HTTP 请求头

默认: {}

http_agent

字符串

在 ansible-base 2.10 中添加

要用于请求的用户代理。默认值在 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 套接字文件的字符串文件系统路径

配置

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)

提示

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