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 证书捆绑包的文件系统路径字符串

配置

密码

列表 / 元素=字符串

在 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 ← (默认)

配置

force_basic_auth

布尔值

在 ansible-base 2.10 中添加

强制基本身份验证

选择

  • false ← (默认)

配置

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

布尔值

标志,用于控制是否将内容作为行列表或作为单个文本块返回

选择

  • 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 ← (默认)

配置

use_netrc

布尔值

在 ansible-core 2.14 中添加

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

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

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

选择

  • true ← (默认)

配置

use_proxy

布尔值

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

选择

  • true ← (默认)

username

字符串

在 Ansible 2.8 中添加

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

validate_certs

布尔值

控制 SSL 证书验证的标志

选择

  • 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)

提示

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