community.general.manageiq_tenant module – Management of tenants in ManageIQ

Note

This module is part of the community.general collection (version 9.4.0).

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 community.general. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: community.general.manageiq_tenant.

Synopsis

  • The manageiq_tenant module supports adding, updating and deleting tenants in ManageIQ.

Requirements

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

Parameters

Parameter

Comments

description

string / required

The tenant description.

manageiq_connection

dictionary

ManageIQ connection configuration information.

ca_cert

aliases: ca_bundle_path

string

The path to a CA bundle file or directory with certificates.

password

string

ManageIQ password. MIQ_PASSWORD environment variable if set. Otherwise, required if no token is passed in.

token

string

ManageIQ token. MIQ_TOKEN environment variable if set. Otherwise, required if no username or password is passed in.

url

string

ManageIQ environment URL. MIQ_URL environment variable if set. Otherwise, it is required to pass it.

username

string

ManageIQ username. MIQ_USERNAME environment variable if set. Otherwise, required if no token is passed in.

validate_certs

aliases: verify_ssl

boolean

Whether SSL certificates should be verified for HTTPS requests.

Choices:

  • false

  • true ← (default)

name

string / required

The tenant name.

parent

string

The name of the parent tenant. If not supplied and no parent_id is supplied the root tenant is used.

parent_id

integer

The id of the parent tenant. If not supplied the root tenant is used.

The parent_id takes president over parent when supplied

quotas

dictionary

The tenant quotas.

All parameters case sensitive.

Valid attributes are:

  • cpu_allocated (int): use null to remove the quota.

  • mem_allocated (GB): use null to remove the quota.

  • storage_allocated (GB): use null to remove the quota.

  • vms_allocated (int): use null to remove the quota.

  • templates_allocated (int): use null to remove the quota.

Default: {}

state

string

absent - tenant should not exist, present - tenant should be.

Choices:

  • "absent"

  • "present" ← (default)

Attributes

Attribute

Support

Description

check_mode

Support: none

Can run in check_mode and return changed status prediction without modifying target.

diff_mode

Support: none

Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode.

Examples

- name: Update the root tenant in ManageIQ
  community.general.manageiq_tenant:
    name: 'My Company'
    description: 'My company name'
    manageiq_connection:
      url: 'http://127.0.0.1:3000'
      username: 'admin'
      password: 'smartvm'
      validate_certs: false  # only do this when you trust the network!

- name: Create a tenant in ManageIQ
  community.general.manageiq_tenant:
    name: 'Dep1'
    description: 'Manufacturing department'
    parent_id: 1
    manageiq_connection:
      url: 'http://127.0.0.1:3000'
      username: 'admin'
      password: 'smartvm'
      validate_certs: false  # only do this when you trust the network!

- name: Delete a tenant in ManageIQ
  community.general.manageiq_tenant:
    state: 'absent'
    name: 'Dep1'
    parent_id: 1
    manageiq_connection:
      url: 'http://127.0.0.1:3000'
      username: 'admin'
      password: 'smartvm'
      validate_certs: false  # only do this when you trust the network!

- name: Set tenant quota for cpu_allocated, mem_allocated, remove quota for vms_allocated
  community.general.manageiq_tenant:
    name: 'Dep1'
    parent_id: 1
    quotas:
      - cpu_allocated: 100
      - mem_allocated: 50
      - vms_allocated: null
    manageiq_connection:
      url: 'http://127.0.0.1:3000'
      username: 'admin'
      password: 'smartvm'
      validate_certs: false  # only do this when you trust the network!


- name: Delete a tenant in ManageIQ using a token
  community.general.manageiq_tenant:
    state: 'absent'
    name: 'Dep1'
    parent_id: 1
    manageiq_connection:
      url: 'http://127.0.0.1:3000'
      token: 'sometoken'
      validate_certs: false  # only do this when you trust the network!

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

tenant

complex

The tenant.

Returned: success

description

string

The tenant description

Returned: success

id

integer

The tenant id

Returned: success

name

string

The tenant name

Returned: success

parent_id

integer

The id of the parent tenant

Returned: success

quotas

list / elements=string

List of tenant quotas

Returned: success

Sample: {"cpu_allocated": 100, "mem_allocated": 50}

Authors

  • Evert Mulder (@evertmulder)