theforeman.foreman.hostgroup 模块 – 管理主机组

注意

此模块是 theforeman.foreman 集合(版本 4.2.0)的一部分。

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

要安装它,请使用:ansible-galaxy collection install theforeman.foreman。您需要进一步的要求才能使用此模块,请参阅 要求了解详细信息。

要在剧本中使用它,请指定:theforeman.foreman.hostgroup

theforeman.foreman 1.0.0 中的新增功能

概要

  • 创建、更新和删除主机组

别名:foreman_hostgroup

要求

以下要求需要在执行此模块的主机上满足。

  • requests

参数

参数

注释

activation_keys

字符串

用于部署的激活密钥。

逗号分隔列表。

仅适用于 Katello 安装。

ansible_roles

列表 / elements=字符串

在 theforeman.foreman 2.1.0 中添加

要与主机组关联的 Ansible 角色的列表。

必须安装 foreman-ansible 插件才能使用此参数。

architecture

字符串

架构名称

compute_profile

字符串

计算配置文件名称

compute_resource

字符串

计算资源名称

config_groups

列表 / elements=字符串

配置组列表

content_source

字符串

内容源(带有内容的智能代理)名称。

仅适用于 Katello 安装。

content_view

字符串

内容视图。

仅适用于 Katello 安装。

description

字符串

主机组的描述

domain

字符串

域名

environment

字符串

Puppet 环境名称

kickstart_repository

字符串

Kickstart 存储库名称。

您需要提供此项才能使用“同步内容”功能。

与 *medium* 互斥。

仅适用于 Katello 安装。

lifecycle_environment

字符串

生命周期环境。

仅适用于 Katello 安装。

locations

列表 / elements=字符串

实体应分配到的位置列表

medium

别名:media

字符串

介质名称

与 *kickstart_repository* 互斥。

name

字符串 / 必需

主机组的名称

openscap_proxy

字符串

OpenSCAP 代理名称。

仅当安装了 OpenSCAP 插件时可用。

operatingsystem

字符串

操作系统会根据其标题查找,标题的组成方式为“<名称> <主版本号>.<次版本号>”。

只要您只有一个该名称的操作系统,就可以省略版本部分。

organization

字符串

附加到主机组的范围资源的组织。

仅用于 Katello 安装。

如果需要,此组织将隐式添加到 *organizations* 参数。

organizations

列表 / elements=字符串

实体应分配到的组织列表

parameters

列表 / elements=字典

主机组特定的主机参数

name

字符串 / 必需

参数的名称

parameter_type

字符串

参数的类型

选择

  • "字符串" ←(默认)

  • "布尔值"

  • "整数"

  • "实数"

  • "数组"

  • "哈希"

  • "yaml"

  • "json"

value

任何 / 必需

参数的值

parent

字符串

主机组父名称

password

字符串 / 必需

访问 Foreman 服务器的用户的密码。

如果在任务中未指定值,则将改为使用环境变量 FOREMAN_PASSWORD 的值。

ptable

字符串

分区表名称

puppet_ca_proxy

字符串

Puppet CA 代理名称

puppet_proxy

字符串

Puppet 服务器代理名称

puppetclasses

列表 / elements=字符串

要包含在此主机组中的 Puppet 类的列表。必须存在于主机组的 Puppet 环境中。

pxe_loader

字符串

PXE 引导加载程序

选择

  • "PXELinux BIOS"

  • "PXELinux UEFI"

  • "Grub UEFI"

  • "Grub2 BIOS"

  • "Grub2 ELF"

  • "Grub2 UEFI"

  • "Grub2 UEFI SecureBoot"

  • "Grub2 UEFI HTTP"

  • "Grub2 UEFI HTTPS"

  • "Grub2 UEFI HTTPS SecureBoot"

  • "iPXE Embedded"

  • "iPXE UEFI HTTP"

  • "iPXE Chain BIOS"

  • "iPXE Chain UEFI"

  • "无"

realm

字符串

领域名称

root_pass

字符串

根密码。

由于无法检索当前密码,将导致实体始终被更新。

server_url

字符串 / 必需

Foreman 服务器的 URL。

如果任务中未指定该值,则将使用环境变量 FOREMAN_SERVER_URL 的值。

state

字符串

实体的状态

选择

  • "present" ← (默认)

  • "absent"

subnet

字符串

IPv4 子网名称

subnet6

字符串

IPv6 子网名称

updated_name

字符串

主机组的新名称。设置此参数后,模块将不再是幂等的。

username

字符串 / 必需

用于访问 Foreman 服务器的用户名。

如果任务中未指定该值,则将使用环境变量 FOREMAN_USERNAME 的值。

validate_certs

布尔值

是否验证 Foreman 服务器的 TLS 证书。

如果任务中未指定该值,则将使用环境变量 FOREMAN_VALIDATE_CERTS 的值。

选择

  • false

  • true ← (默认)

属性

属性

支持

描述

check_mode

支持: 完整

可以在 check_mode 下运行并返回更改状态预测,而无需修改实体

diff_mode

支持: 完整

当处于 diff 模式时,将返回有关已更改内容(或在 check_mode 中可能需要更改的内容)的详细信息

示例

- name: "Create a Hostgroup"
  theforeman.foreman.hostgroup:
    name: "new_hostgroup"
    architecture: "architecture_name"
    operatingsystem: "operatingsystem_name"
    medium: "media_name"
    ptable: "Partition_table_name"
    server_url: "https://foreman.example.com"
    username: "admin"
    password: "changeme"
    state: present

- name: "Update a Hostgroup"
  theforeman.foreman.hostgroup:
    name: "new_hostgroup"
    architecture: "updated_architecture_name"
    operatingsystem: "updated_operatingsystem_name"
    organizations:
      - Org One
      - Org Two
    locations:
      - Loc One
      - Loc Two
      - Loc One/Nested loc
    medium: "updated_media_name"
    ptable: "updated_Partition_table_name"
    root_pass: "password"
    server_url: "https://foreman.example.com"
    username: "admin"
    password: "changeme"
    state: present

- name: "My nested hostgroup"
  theforeman.foreman.hostgroup:
    parent: "new_hostgroup"
    name: "my nested hostgroup"

- name: "My hostgroup with some proxies"
  theforeman.foreman.hostgroup:
    name: "my hostgroup"
    environment: production
    puppet_proxy: puppet-proxy.example.com
    puppet_ca_proxy: puppet-proxy.example.com
    openscap_proxy: openscap-proxy.example.com

- name: "My katello related hostgroup"
  theforeman.foreman.hostgroup:
    organization: "My Org"
    name: "kt hostgroup"
    content_source: capsule.example.com
    lifecycle_environment: "Production"
    content_view: "My content view"
    parameters:
      - name: "kt_activation_keys"
        value: "my_prod_ak"

- name: "Delete a Hostgroup"
  theforeman.foreman.hostgroup:
    name: "new_hostgroup"
    server_url: "https://foreman.example.com"
    username: "admin"
    password: "changeme"
    state: absent

返回值

常见的返回值记录在 此处,以下是此模块特有的字段

描述

entity

字典

受影响实体按类型分组的最终状态。

返回: 成功

hostgroups

列表 / elements=字典

主机组列表。

返回: 成功

作者

  • Manisha Singhal (@Manisha15) ATIX AG

  • Baptiste Agasse (@bagasse)