infinidat.infinibox.infini_metadata module – Create, Delete or Modify metadata on Infinibox

Note

This module is part of the infinidat.infinibox collection (version 1.4.5).

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.

  • 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 explicitely using its key name.

Requirements

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

Parameters

Parameter

Comments

key

string / required

Name of the metadata key

object_name

string

Name of the object. Not used if object_type is system

object_type

string / required

Type of object

Choices:

  • "cluster"

  • "fs"

  • "fs-snap"

  • "host"

  • "pool"

  • "system"

  • "vol"

  • "vol-snap"

password

string / required

Infinibox User password.

state

string

Creates/Modifies metadata when present or removes when absent.

Choices:

  • "stat"

  • "present" ← (default)

  • "absent"

system

string / required

Infinibox Hostname or IPv4 Address.

user

string / required

Infinibox User username with sufficient priveledges ( see notes ).

value

string

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.ini if no credentials are provided. See http://infinisdk.readthedocs.io/en/latest/getting_started.html

  • All 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:
    name: foo
    key: bar
    state: present
    user: admin
    password: secret
    system: ibox001
- name: Stat metadata key named foo
  infini_metadata:
    name: foo
    state: stat
    user: admin
    password: secret
    system: ibox001
- name: Remove metadata keyn named foo
  infini_vol:
    name: foo_snap
    state: absent
    user: admin
    password: secret
    system: ibox001

Authors

  • David Ohlemacher (@ohlemacher)