awx.awx.inventory 模块 – 创建、更新或销毁自动化平台控制器清单。

注意

此模块是 awx.awx 集合 (版本 24.6.1) 的一部分。

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

要安装它,请使用:ansible-galaxy collection install awx.awx

要在 playbook 中使用它,请指定:awx.awx.inventory

概要

别名:tower_inventory

参数

参数

注释

controller_config_file

别名:tower_config_file

路径

控制器配置文件的路径。

如果提供,则不会考虑其他配置文件位置。

controller_host

别名:tower_host

字符串

您自动化平台控制器实例的 URL。

如果未设置值,将尝试使用环境变量 CONTROLLER_HOST,然后是配置文件。

如果没有任何方式指定值,则将使用 127.0.0.1 的值。

controller_oauthtoken

别名:tower_oauthtoken

任意

在 awx.awx 3.7.0 中添加

要使用的 OAuth 令牌。

此值可以采用两种格式之一。

一个字符串,即令牌本身。(例如:bqV5txm97wqJqtkxlMkhQz0pKhRMMX)

令牌模块返回的字典结构。

如果未设置值,将尝试使用环境变量 CONTROLLER_OAUTH_TOKEN,然后是配置文件。

controller_password

别名:tower_password

字符串

控制器实例的密码。

如果未设置值,将尝试使用环境变量 CONTROLLER_PASSWORD,然后是配置文件。

controller_username

别名:tower_username

字符串

控制器实例的用户名。

如果未设置值,将尝试使用环境变量 CONTROLLER_USERNAME,然后是配置文件。

copy_from

字符串

要从中复制清单的名称或 ID。

这将复制现有清单并更改提供的任何参数。

新的清单名称将是名称参数中提供的名称。

组织参数在此未使用,以便于从一个组织复制到另一个组织。

提供 ID 或使用查找插件来提供 ID(如果多个清单共享相同的名称)。

description

字符串

要用于清单的描述。

host_filter

字符串

host_filter 字段。仅在 kind=smart 时有用。

input_inventories

列表 / 元素=字符串

用作构建清单输入的清单名称、ID 或命名 URL 列表。

instance_groups

列表 / 元素=字符串

此组织要运行的实例组名称、ID 或命名 URL 列表。

kind

字符串

kind 字段。创建后无法修改。

选项

  • ""

  • "smart"

  • "constructed"

name

字符串 / 必需

要用于清单的名称。

new_name

字符串

设置此选项将更改现有名称(通过名称字段查找)。

organization

字符串 / 必需

清单所属的组织名称、ID 或命名 URL。

prevent_instance_group_fallback

布尔值

防止回退到组织上设置的实例组

选项

  • false

  • true

request_timeout

浮点数

指定 Ansible 应在对控制器主机发出请求时使用的超时时间。

默认为 10 秒,但这由共享的 module_utils 代码处理。

state

字符串

资源的所需状态。

选项

  • "present" ← (默认)

  • "absent"

  • "exists"

validate_certs

别名:tower_verify_ssl

布尔值

是否允许与 AWX 建立不安全连接。

如果 no,则不会验证 SSL 证书。

这应该只用于使用自签名证书的个人控制站点。

如果未设置值,将尝试使用环境变量 CONTROLLER_VERIFY_SSL,然后是配置文件。

选项

  • false

  • true

variables

字典

清单变量。

注释

注意

  • 如果没有提供 *config_file*,我们将尝试使用 tower-cli 库默认值来查找您的主机信息。

  • *config_file* 应采用以下格式:host=hostname username=username password=password

示例

- name: Add inventory
  inventory:
    name: "Foo Inventory"
    description: "Our Foo Cloud Servers"
    organization: "Bar Org"
    state: present
    controller_config_file: "~/tower_cli.cfg"

- name: Copy inventory
  inventory:
    name: Copy Foo Inventory
    copy_from: Default Inventory
    description: "Our Foo Cloud Servers"
    organization: Foo
    state: present

# You can create and modify constructed inventories by creating an inventory
# of kind "constructed" and then editing the automatically generated inventory
# source for that inventory.
- name: Add constructed inventory with two existing input inventories
  inventory:
    name: My Constructed Inventory
    organization: Default
    kind: constructed
    input_inventories:
      - "West Datacenter"
      - "East Datacenter"

- name: Edit the constructed inventory source
  inventory_source:
    # The constructed inventory source will always be in the format:
    # "Auto-created source for: <constructed inventory name>"
    name: "Auto-created source for: My Constructed Inventory"
    inventory: My Constructed Inventory
    limit: host3,host4,host6
    source_vars:
      plugin: constructed
      strict: true
      use_vars_plugins: true
      groups:
        shutdown: resolved_state == "shutdown"
        shutdown_in_product_dev: resolved_state == "shutdown" and account_alias == "product_dev"
      compose:
        resolved_state: state | default("running")

作者

  • Wayne Witzel III (@wwitzel3)