theforeman.foreman.compute_resource – Manage Compute Resources

Note

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

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
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 1.6.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 1.6.0 of theforeman.foreman
X509 Certification Authorities, only valid for provider=ovirt
region
string
AWS region, AZURE region
set_console_password
boolean
added in 1.6.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
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: ovirt-admin@example.com
      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: root@pam
      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:
      user: 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: myname@atix.de
      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