infinidat.infinibox.infini_metadata module – Create, Delete or Modify metadata on Infinibox
Note
This module is part of the infinidat.infinibox collection (version 1.8.1).
You might already have this collection installed if you are using the ansible package.
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 infinidat.infinibox.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: infinidat.infinibox.infini_metadata.
New in infinidat.infinibox 2.13.0
Synopsis
This module creates, deletes or modifies metadata on Infinibox. It can also search for objects by metadata key and object type.
Deleting metadata by object, without specifying a key, is not implemented for any object_type (e.g. DELETE api/rest/metadata/system).
This would delete all metadata belonging to the object. Instead delete each key explicitly using its key name.
Requirements
The below requirements are needed on the host that executes this module.
python2 >= 2.7 or python3 >= 3.6
infinisdk (https://infinisdk.readthedocs.io/en/latest/)
Parameters
Parameter |
Comments |
|---|---|
Name of the metadata key |
|
Name of the object. Not used if object_type is system |
|
Type of object Choices:
|
|
Infinibox User password. |
|
Creates, modifies, removes or searches for metadata. Choices:
|
|
If True, persist API session to disk. Load the session on subsequent module calls. Persisted sessions are only usable for stay_logged_in_minutes. Choices:
|
|
Number of minutes for which a persisted session may be reused. After this time, the session data will be deleted. The time should be shorter than the IBOX session timeout time. Default: |
|
Infinibox Hostname or IPv4 Address. |
|
Infinibox User username with sufficient priveledges ( see notes ). |
|
Value of the metadata key |
Notes
Note
This module requires infinisdk python library
You must set INFINIBOX_USER and INFINIBOX_PASSWORD environment variables if user and password arguments are not passed to the module directly
Ansible uses the infinisdk configuration file
~/.infinidat/infinisdk.iniif no credentials are provided. See http://infinisdk.readthedocs.io/en/latest/getting_started.htmlAll Infinidat modules support check mode (--check). However, a dryrun that creates resources may fail if the resource dependencies are not met for a task. For example, consider a task that creates a volume in a pool. If the pool does not exist, the volume creation task will fail. It will fail even if there was a previous task in the playbook that would have created the pool but did not because the pool creation was also part of the dry run.
Examples
- name: Create new metadata key foo with value bar
infini_metadata:
object_name: test-vol
object_type: vol
key: foo
value: bar
state: present
user: admin
password: secret
system: ibox001
- name: Stat metadata key named foo
infini_metadata:
object_name: test-vol
state: stat
user: admin
password: secret
system: ibox001
- name: Remove metadata key named foo
infini_metadata:
object_name: test-vol
object_type: vol,
key: foo
state: absent
user: admin
password: secret
system: ibox001
- name: Search for objects that have a metadata key named foo with value bar
infini_metadata:
key: foo
value: bar
state: search
user: admin
password: secret
system: ibox001