theforeman.foreman.compute_resource – Manage Compute Resources

Note

This plugin is part of the theforeman.foreman collection (version 2.2.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install theforeman.foreman.

To use it in a playbook, specify: theforeman.foreman.compute_resource.

New in version 1.0.0: of theforeman.foreman

Synopsis

  • Create, update, and delete Compute Resources

Requirements

The below requirements are needed on the host that executes this module.

  • requests

Parameters

Parameter Choices/Defaults Comments
description
string
compute resource description
locations
list / elements=string
List of locations the entity should be assigned to
name
string / required
compute resource name
organizations
list / elements=string
List of organizations the entity should be assigned to
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.
provider
string
    Choices:
  • vmware
  • libvirt
  • ovirt
  • proxmox
  • EC2
  • AzureRm
  • GCE
Compute resource provider. Required if state=present_with_defaults.
provider_params
dictionary
Parameter specific to compute resource provider. Required if state=present_with_defaults.
app_ident
string
AzureRM client id
caching_enabled
boolean
    Choices:
  • no
  • yes
enable caching for provider=vmware
cloud
string
added in 2.1.0 of theforeman.foreman
    Choices:
  • azure
  • azureusgovernment
  • azurechina
  • azuregermancloud
cloud for provider=AzureRm
datacenter
string
Datacenter the compute resource is in, not valid for provider=libvirt
display_type
string
Display type to use for the remote console, only valid for provider=libvirt
email
string
Email for provider=GCE
key_path
string
Certificate path for provider=GCE
keyboard_layout
string
added in 2.0.0 of theforeman.foreman
    Choices:
  • ar
  • da
  • de
  • de-ch
  • en-gb
  • en-us
  • es
  • et
  • fi
  • fo
  • fr
  • fr-be
  • fr-ca
  • fr-ch
  • hr
  • hu
  • is
  • it
  • ja
  • lt
  • lv
  • mk
  • nl
  • nl-be
  • no
  • pl
  • pt
  • pt-br
  • ru
  • sl
  • sv
  • th
  • tr
Default VNC Keyboard for provider=ovirt
ovirt_quota
string
oVirt quota ID, only valid for provider=ovirt
password
string
Password for the compute resource connection, not valid for provider=libvirt
project
string
Project id for provider=GCE
public_key
string
added in 2.0.0 of theforeman.foreman
X509 Certification Authorities, only valid for provider=ovirt
region
string
AWS region, AZURE region
set_console_password
boolean
added in 2.0.0 of theforeman.foreman
    Choices:
  • no
  • yes
Set a randomly generated password on the display connection for provider=vmware and provider=libvirt
ssl_verify_peer
boolean
    Choices:
  • no
  • yes
verify ssl from provider provider=proxmox
sub_id
string
added in 2.1.0 of theforeman.foreman
Subscription ID for provider=AzureRm
tenant
string
AzureRM tenant
url
string
URL of the compute resource
use_v4
boolean
    Choices:
  • no
  • yes
Use oVirt API v4, only valid for provider=ovirt
user
string
Username for the compute resource connection, not valid for provider=libvirt
zone
string
zone for provider=GCE
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
    Choices:
  • present ←
  • present_with_defaults
  • absent
State of the entity
present_with_defaults will ensure the entity exists, but won't update existing ones
updated_name
string
new compute resource 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
    Choices:
  • no
  • yes ←
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 livirt compute resource
  theforeman.foreman.compute_resource:
    name: example_compute_resource
    locations:
      - Munich
    organizations:
      - ACME
    provider: libvirt
    provider_params:
      url: libvirt.example.com
      display_type: vnc
    server_url: "https://foreman.example.com"
    username: "admin"
    password: "changeme"
    state: present

- name: Update libvirt compute resource
  theforeman.foreman.compute_resource:
    name: example_compute_resource
    description: updated compute resource
    locations:
      - Munich
    organizations:
      - ACME
    provider: libvirt
    provider_params:
      url: libvirt.example.com
      display_type: vnc
    server_url: "https://foreman.example.com"
    username: "admin"
    password: "changeme"
    state: present

- name: Delete libvirt compute resource
  theforeman.foreman.compute_resource:
    name: example_compute_resource
    server_url: "https://foreman.example.com"
    username: "admin"
    password: "changeme"
    state: absent

- name: Create vmware compute resource
  theforeman.foreman.compute_resource:
    name: example_compute_resource
    locations:
      - Munich
    organizations:
      - ACME
    provider: vmware
    provider_params:
      caching_enabled: false
      url: vsphere.example.com
      user: admin
      password: secret
      datacenter: ax01
    server_url: "https://foreman.example.com"
    username: "admin"
    password: "changeme"
    state: present

- name: Create ovirt compute resource
  theforeman.foreman.compute_resource:
    name: ovirt_compute_resource
    locations:
      - France/Toulouse
    organizations:
      - Example Org
    provider: ovirt
    provider_params:
      url: ovirt.example.com
      user: [email protected]
      password: ovirtsecret
      datacenter: aa92fb54-0736-4066-8fa8-b8b9e3bd75ac
      ovirt_quota: 24868ab9-c2a1-47c3-87e7-706f17d215ac
      use_v4: true
    server_url: "https://foreman.example.com"
    username: "admin"
    password: "changeme"
    state: present

- name: Create proxmox compute resource
  theforeman.foreman.compute_resource:
    name: proxmox_compute_resource
    locations:
      - Munich
    organizations:
      - ACME
    provider: proxmox
    provider_params:
      url: https://proxmox.example.com:8006/api2/json
      user: [email protected]
      password: secretpassword
      ssl_verify_peer: true
    server_url: "https://foreman.example.com"
    username: "admin"
    password: "changeme"
    state: present

- name: create EC2 compute resource
  theforeman.foreman.compute_resource:
    name: EC2_compute_resource
    description: EC2
    locations:
      - AWS
    organizations:
      - ACME
    provider: EC2
    provider_params:
      user: AWS_ACCESS_KEY
      password: AWS_SECRET_KEY
      region: eu-west-1
    server_url: "https://foreman.example.com"
    username: "admin"
    password: "changeme"
    state: present

- name: create Azure compute resource
  theforeman.foreman.compute_resource:
    name: AzureRm_compute_resource
    description: AzureRm
    locations:
      - Azure
    organizations:
      - ACME
    provider: AzureRm
    provider_params:
      sub_id: SUBSCRIPTION_ID
      tenant: TENANT_ID
      app_ident: CLIENT_ID
      password: CLIENT_SECRET
      region: westeurope
    server_url: "https://foreman.example.com"
    username: "admin"
    password: "changeme"
    state: present

- name: create GCE compute resource
  theforeman.foreman.compute_resource:
    name: GCE compute resource
    description: Google Cloud Engine
    locations:
      - GCE
    organizations:
      - ACME
    provider: GCE
    provider_params:
      project: orcharhino
      email: [email protected]
      key_path: "/usr/share/foreman/gce_orcharhino_key.json"
      zone: europe-west3-b
    server_url: "https://foreman.example.com"
    username: "admin"
    password: "changeme"
    state: present

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.

 
compute_resources
list / elements=dictionary
success
List of compute resources.



Authors

  • Philipp Joos (@philippj)

  • Baptiste Agasse (@bagasse)

  • Manisha Singhal (@Manisha15) ATIX AG

  • Mark Hlawatschek (@hlawatschek) ATIX AG