On this page
theforeman.foreman.host – Manage Hosts
Note
This plugin is part of the theforeman.foreman collection (version 1.5.1).
To install it use: ansible-galaxy collection install theforeman.foreman
.
To use it in a playbook, specify: theforeman.foreman.host
.
New in version 1.0.0: of theforeman.foreman
Synopsis
- Create, update, and delete Hosts
Requirements
The below requirements are needed on the host that executes this module.
- requests
Parameters
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
architecture
string
|
Architecture name
|
||
build
boolean
|
|
Whether or not to setup build context for the host
|
|
comment
string
|
Comment about the host.
|
||
compute_attributes
dictionary
|
Additional compute resource specific attributes.
When this parameter is set, the module will not be idempotent.
|
||
compute_profile
string
|
Compute profile name
|
||
compute_resource
string
|
Compute resource name
|
||
config_groups
list / elements=string
|
Config groups list
|
||
content_source
string
|
Content source.
Only available for Katello installations.
|
||
content_view
string
|
Content view.
Only available for Katello installations.
|
||
domain
string
|
Domain name
|
||
enabled
boolean
|
|
Include this host within reporting
|
|
environment
string
|
Puppet environment name
|
||
hostgroup
string
|
Name of related hostgroup.
|
||
image
string
|
The image to use when provision_method=image.
The compute_resource parameter is required to find the correct image.
|
||
interfaces_attributes
list / elements=dictionary
added in 1.5.0 of theforeman.foreman
|
Additional interfaces specific attributes.
|
||
attached_devices
list / elements=string
|
Identifiers of attached interfaces, e.g. ['eth1', 'eth2'].
For bond interfaces those are the slaves.
Only for bond and bridges interfaces.
|
||
attached_to
string
|
Identifier of the interface to which this interface belongs, e.g. eth1.
Only for virtual interfaces.
|
||
bond_options
string
|
Space separated options, e.g. miimon=100.
Only for bond interfaces.
|
||
compute_attributes
dictionary
|
Additional compute resource specific attributes for the interface.
When this parameter is set, the module will not be idempotent.
|
||
domain
string
|
Domain name
Required for primary interfaces on managed hosts.
|
||
identifier
string
|
Device identifier, e.g. eth0 or eth1.1
You need to set one of identifier, name or mac to be able to update existing interfaces and make execution idempotent.
|
||
ip
string
|
IPv4 address of interface
|
||
ip6
string
|
IPv6 address of interface
|
||
mac
string
|
MAC address of interface. Required for managed interfaces on bare metal.
Please include leading zeros and separate nibbles by colons, otherwise the execution will not be idempotent.
Example EE:BB:01:02:03:04
You need to set one of identifier, name or mac to be able to update existing interfaces and make execution idempotent.
|
||
managed
boolean
|
|
Should this interface be managed via DHCP and DNS smart proxy and should it be configured during provisioning?
|
|
mode
string
|
|
Bond mode of the interface.
Only for bond interfaces.
|
|
mtu
integer
|
MTU, this attribute has precedence over the subnet MTU.
|
||
name
string
|
Interface's DNS name
You need to set one of identifier, name or mac to be able to update existing interfaces and make execution idempotent.
|
||
password
string
|
Password for BMC authentication.
Only for BMC interfaces.
|
||
primary
boolean
|
|
Should this interface be used for constructing the FQDN of the host?
Each managed hosts needs to have one primary interface.
|
|
provider
string
|
|
Interface provider, e.g. IPMI.
Only for BMC interfaces.
|
|
provision
boolean
|
|
Should this interface be used for TFTP of PXELinux (or SSH for image-based hosts)?
Each managed hosts needs to have one provision interface.
|
|
subnet
string
|
IPv4 Subnet name
|
||
subnet6
string
|
IPv6 Subnet name
|
||
tag
string
|
VLAN tag, this attribute has precedence over the subnet VLAN ID.
Only for virtual interfaces.
|
||
type
string
|
|
Interface type.
|
|
username
string
|
Username for BMC authentication.
Only for BMC interfaces.
|
||
virtual
boolean
|
|
Alias or VLAN device
|
|
ip
string
|
IP address of the primary interface of the host.
|
||
kickstart_repository
string
|
Kickstart repository name.
You need to provide this to use the "Synced Content" feature.
Mutually exclusive with medium.
Only available for Katello installations.
|
||
lifecycle_environment
string
|
Lifecycle environment.
Only available for Katello installations.
|
||
location
string
|
Name of related location
|
||
mac
string
|
MAC address of the primary interface of the host.
Please include leading zeros and separate nibbles by colons, otherwise the execution will not be idempotent.
Example EE:BB:01:02:03:04
|
||
managed
boolean
|
|
Whether a host is managed or unmanaged.
Forced to true when build=true
|
|
medium
string
|
Medium name
Mutually exclusive with kickstart_repository.
aliases: media |
||
name
string / required
|
Fully Qualified Domain Name of host
|
||
openscap_proxy
string
|
OpenSCAP proxy name.
Only available when the OpenSCAP plugin is installed.
|
||
operatingsystem
string
|
Operating systems are looked up by their title which is composed as "<name> <major>.<minor>".
You can omit the version part as long as you only have one operating system by that name.
|
||
organization
string
|
Name of related organization
|
||
owner
string
|
Owner (user) of the host.
Mutually exclusive with owner_group.
|
||
owner_group
string
|
Owner (user group) of the host.
Mutually excluside with owner.
|
||
parameters
list / elements=dictionary
|
Entity domain specific host parameters
|
||
name
string / required
|
Name of the parameter
|
||
parameter_type
string
|
|
Type of the parameter
|
|
value
raw / required
|
Value of the parameter
|
||
password
string / required
|
Password of the user accessing the Foreman server.
If the value is not specified in the task, the value of environment variable FOREMAN_PASSWORD will be used instead.
|
||
provision_method
string
|
|
The method used to provision the host.
provision_method=bootdisk is only available if the bootdisk plugin is installed.
|
|
ptable
string
|
Partition table name
|
||
puppet_ca_proxy
string
|
Puppet CA proxy name
|
||
puppet_proxy
string
|
Puppet server proxy name
|
||
puppetclasses
list / elements=string
|
List of puppet classes to include in this host group. Must exist for hostgroup's puppet environment.
|
||
pxe_loader
string
|
|
PXE Bootloader
|
|
realm
string
|
Realm name
|
||
root_pass
string
|
Root password.
Will result in the entity always being updated, as the current password cannot be retrieved.
|
||
server_url
string / required
|
URL of the Foreman server.
If the value is not specified in the task, the value of environment variable FOREMAN_SERVER_URL will be used instead.
|
||
state
string
|
|
State of the entity
|
|
subnet
string
|
IPv4 Subnet name
|
||
subnet6
string
|
IPv6 Subnet name
|
||
username
string / required
|
Username accessing the Foreman server.
If the value is not specified in the task, the value of environment variable FOREMAN_USERNAME will be used instead.
|
||
validate_certs
boolean
|
|
Whether or not to verify the TLS certificates of the Foreman server.
If the value is not specified in the task, the value of environment variable FOREMAN_VALIDATE_CERTS will be used instead.
|
Examples
- name: "Create a host"
theforeman.foreman.host:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "new_host"
hostgroup: my_hostgroup
state: present
- name: "Create a host with build context"
theforeman.foreman.host:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "new_host"
hostgroup: my_hostgroup
build: true
state: present
- name: "Create an unmanaged host"
theforeman.foreman.host:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "new_host"
managed: false
state: present
- name: "Create a VM with 2 CPUs and 4GB RAM"
theforeman.foreman.host:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "new_host"
compute_attributes:
cpus: 2
memory_mb: 4096
state: present
- name: "Create a VM and start it after creation"
theforeman.foreman.host:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "new_host"
compute_attributes:
start: "1"
state: present
- name: "Create a VM on specific ovirt network"
theforeman.foreman.host:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "new_host"
interfaces_attributes:
- type: "interface"
compute_attributes:
name: "nic1"
network: "969efbe6-f9e0-4383-a19a-a7ee65ad5007"
interface: "virtio"
state: present
- name: "Create a VM with 2 NICs on specific ovirt networks"
theforeman.foreman.host:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "new_host"
interfaces_attributes:
- type: "interface"
primary: true
compute_attributes:
name: "nic1"
network: "969efbe6-f9e0-4383-a19a-a7ee65ad5007"
interface: "virtio"
- type: "interface"
name: "new_host_nic2"
managed: true
compute_attributes:
name: "nic2"
network: "969efbe6-f9e0-4383-a19a-a7ee65ad5008"
interface: "e1000"
state: present
- name: "Delete a host"
theforeman.foreman.host:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "new_host"
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description | |
---|---|---|---|
entity
dictionary
|
success |
Final state of the affected entities grouped by their type.
|
|
hosts
list / elements=dictionary
|
success |
List of hosts.
|
Authors
- Bernhard Hopfenmueller (@Fobhep) ATIX AG
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/theforeman/foreman/host_module.html