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

Note

This plugin is part of the community.general collection.

To install it use: ansible-galaxy collection install community.general.

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 Choices/Defaults Comments
description
string / required
The tenant description.
manageiq_connection
dictionary / required
ManageIQ connection configuration information.
ca_cert
path
The path to a CA bundle file or directory with certificates. defaults to None.

aliases: ca_bundle_path
password
string
ManageIQ password. MIQ_PASSWORD env var if set. otherwise, required if no token is passed in.
token
string
ManageIQ token. MIQ_TOKEN env var if set. otherwise, required if no username or password is passed in.
url
string / required
ManageIQ environment url. MIQ_URL env var if set. otherwise, it is required to pass it.
username
string
ManageIQ username. MIQ_USERNAME env var if set. otherwise, required if no token is passed in.
validate_certs
boolean
    Choices:
  • no
  • yes ←
Whether SSL certificates should be verified for HTTPS requests. defaults to True.

aliases: verify_ssl
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
string
The id of the parent tenant. If not supplied the root tenant is used.
The parent_id takes president over parent when supplied
quotas
string
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.
state
string
    Choices:
  • absent
  • present ←
absent - tenant should not exist, present - tenant should be.

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

- 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

- 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

- 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


- 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

Return Values

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

Key Returned Description
tenant
complex
success
The tenant.

 
description
string
success
The tenant description

 
id
integer
success
The tenant id

 
name
string
success
The tenant name

 
parent_id
integer
success
The id of the parent tenant

 
quotas
list / elements=string
success
List of tenant quotas

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


Authors

  • Evert Mulder (@evertmulder)