community.general.bitwarden 查询 – 从 Bitwarden 检索密钥

注意

此查询插件是 community.general 集合 (版本 10.1.0) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.general。您需要其他要求才能使用此查询插件,请参阅 要求 获取详细信息。

要在 playbook 中使用它,请指定: community.general.bitwarden

community.general 5.4.0 中的新增功能

概要

  • 从 Bitwarden 检索密钥。

要求

以下要求在执行此查询的本地控制器节点上需要。

  • bw(命令行实用程序)

  • 已登录 Bitwarden

  • Bitwarden 存储库已解锁

  • BW_SESSION 环境变量已设置

术语

参数

注释

术语

列表 / 元素=字符串 / 必需

从登录信息中获取值的密钥。

关键字参数

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

参数

注释

bw_session

字符串

在 community.general 8.4.0 中添加

传递会话密钥而不是从环境中读取。

collection_id

字符串

在 community.general 6.3.0 中添加

用于按集合过滤结果的集合 ID。保留未设置以跳过过滤。

字段

字符串

要获取的字段。保留未设置以获取整个响应。

organization_id

字符串

在 community.general 8.5.0 中添加

用于按组织过滤结果的组织 ID。保留未设置以跳过过滤。

字符串

在 community.general 5.7.0 中添加

要检索的字段,例如 nameid

如果设置为 id,则只能返回零个或一个元素。使用 Jinja first 过滤器获取唯一的列表元素。

如果设置为 None'',或者如果 _terms 为空,则不会按字段过滤记录。

默认值: "name"

注释

注意

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

示例

- name: "Get 'password' from all Bitwarden records named 'a_test'"
  ansible.builtin.debug:
    msg: >-
      {{ lookup('community.general.bitwarden', 'a_test', field='password') }}

- name: "Get 'password' from Bitwarden record with ID 'bafba515-af11-47e6-abe3-af1200cd18b2'"
  ansible.builtin.debug:
    msg: >-
      {{ lookup('community.general.bitwarden', 'bafba515-af11-47e6-abe3-af1200cd18b2', search='id', field='password') | first }}

- name: "Get 'password' from all Bitwarden records named 'a_test' from collection"
  ansible.builtin.debug:
    msg: >-
      {{ lookup('community.general.bitwarden', 'a_test', field='password', collection_id='bafba515-af11-47e6-abe3-af1200cd18b2') }}

- name: "Get list of all full Bitwarden records named 'a_test'"
  ansible.builtin.debug:
    msg: >-
      {{ lookup('community.general.bitwarden', 'a_test') }}

- name: "Get custom field 'api_key' from all Bitwarden records named 'a_test'"
  ansible.builtin.debug:
    msg: >-
      {{ lookup('community.general.bitwarden', 'a_test', field='api_key') }}

- name: "Get 'password' from all Bitwarden records named 'a_test', using given session key"
  ansible.builtin.debug:
    msg: >-
      {{ lookup('community.general.bitwarden', 'a_test', field='password', bw_session='bXZ9B5TXi6...') }}

- name: "Get all Bitwarden records from collection"
  ansible.builtin.debug:
    msg: >-
      {{ lookup('community.general.bitwarden', None, collection_id='bafba515-af11-47e6-abe3-af1200cd18b2') }}

返回值

描述

返回值

列表 / 元素=列表

包含请求字段列表或匹配项的 JSON 对象的单元素列表。

如果您使用 query,您将获得一个列表的列表。如果您使用 lookup 且没有 wantlist=true,这始终会简化为字段值或 JSON 对象的列表。

返回:成功

作者

  • Jonathan Lung (@lungj)

提示

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