manageiq_tenant – Management of tenants in ManageIQ

New in version 2.8.

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
- / required
Default:
null
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
- / required
Default:
null
The tenant name.
parent
-
Default:
null
The name of the parent tenant. If not supplied and no parent_id is supplied the root tenant is used.
parent_id
-
Default:
null
The id of the parent tenant. If not supplied the root tenant is used.
The parent_id takes president over parent when supplied
quotas
-
Default:
null
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
-
    Choices:
  • absent
  • present ←
absent - tenant should not exist, present - tenant should be.

Examples

- name: Update the root tenant in ManageIQ
  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
  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
  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
  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
  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
success
List of tenant quotas

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


Status

Authors

  • Evert Mulder (@evertmulder)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.