theforeman.foreman.compute_resource module – Manage Compute Resources

Note

This module is part of the theforeman.foreman collection (version 3.6.0).

To install it, use: ansible-galaxy collection install theforeman.foreman. You need further requirements to be able to use this module, see Requirements for details.

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

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

Compute resource provider. Required if state=present_with_defaults.

Choices:

  • vmware

  • libvirt

  • ovirt

  • proxmox

  • EC2

  • AzureRm

  • GCE

provider_params

dictionary

Parameter specific to compute resource provider. Required if state=present_with_defaults.

app_ident

string

AzureRM client id

caching_enabled

boolean

enable caching for provider=vmware

Choices:

  • false

  • true

cloud

string

added in 2.1.0 of theforeman.foreman

cloud for provider=AzureRm

Choices:

  • azure

  • azureusgovernment

  • azurechina

  • azuregermancloud

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

Default VNC Keyboard for provider=ovirt

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

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

Set a randomly generated password on the display connection for provider=vmware and provider=libvirt

Choices:

  • false

  • true

ssl_verify_peer

boolean

verify ssl from provider provider=proxmox

Choices:

  • false

  • true

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

Use oVirt API v4, only valid for provider=ovirt

Choices:

  • false

  • true

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

State of the entity

present_with_defaults will ensure the entity exists, but won’t update existing ones

Choices:

  • present ← (default)

  • present_with_defaults

  • absent

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

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.

Choices:

  • false

  • true ← (default)

Examples

- name: Create livirt compute resource
  theforeman.foreman.compute_resource:
    name: example_compute_resource
    locations:
      - Munich
    organizations:
      - ACME
    provider: libvirt
    provider_params:
      url: qemu+ssh://root@libvirt.example.com/system
      display_type: spice
    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: qemu+ssh://root@libvirt.example.com/system
      display_type: spice
    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:
      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: 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

Description

entity

dictionary

Final state of the affected entities grouped by their type.

Returned: success

compute_resources

list / elements=dictionary

List of compute resources.

Returned: success

Authors

  • Philipp Joos (@philippj)

  • Baptiste Agasse (@bagasse)

  • Manisha Singhal (@Manisha15) ATIX AG

  • Mark Hlawatschek (@hlawatschek) ATIX AG