# manageiq_user – Management of users in ManageIQ

New in version 2.4.

- Synopsis
- Requirements
- Parameters
- Examples
- Status

## Synopsis

- The manageiq_user module supports adding, updating and deleting users in ManageIQ.

## Requirements

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

- manageiq-client https://github.com/ManageIQ/manageiq-api-client-python/

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
email - |  | The users' E-mail address.
group - |  | The name of the group to which the user belongs.
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 - |  | The users' full name.
password - |  | The users' password.

state
-

Choices:
- absent
- present ←

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

update_password
-
added in 2.5

Choices:
- always ←
- on_create

`always` will update passwords unconditionally. `on_create` will only set the password for a newly created user.

userid - / required |  | The unique userid in manageiq, often mentioned as username.

## Examples

    - name: Create a new user in ManageIQ
      manageiq_user:
        userid: 'jdoe'
        name: 'Jane Doe'
        password: 'VerySecret'
        group: 'EvmGroup-user'
        email: 'jdoe@example.com'
        manageiq_connection:
          url: 'http://127.0.0.1:3000'
          username: 'admin'
          password: 'smartvm'
          validate_certs: False

    - name: Create a new user in ManageIQ using a token
      manageiq_user:
        userid: 'jdoe'
        name: 'Jane Doe'
        password: 'VerySecret'
        group: 'EvmGroup-user'
        email: 'jdoe@example.com'
        manageiq_connection:
          url: 'http://127.0.0.1:3000'
          token: 'sometoken'
          validate_certs: False

    - name: Delete a user in ManageIQ
      manageiq_user:
        state: 'absent'
        userid: 'jdoe'
        manageiq_connection:
          url: 'http://127.0.0.1:3000'
          username: 'admin'
          password: 'smartvm'
          validate_certs: False

    - name: Delete a user in ManageIQ using a token
      manageiq_user:
        state: 'absent'
        userid: 'jdoe'
        manageiq_connection:
          url: 'http://127.0.0.1:3000'
          token: 'sometoken'
          validate_certs: False

    - name: Update email of user in ManageIQ
      manageiq_user:
        userid: 'jdoe'
        email: 'jaustine@example.com'
        manageiq_connection:
          url: 'http://127.0.0.1:3000'
          username: 'admin'
          password: 'smartvm'
          validate_certs: False

    - name: Update email of user in ManageIQ using a token
      manageiq_user:
        userid: 'jdoe'
        email: 'jaustine@example.com'
        manageiq_connection:
          url: 'http://127.0.0.1:3000'
          token: 'sometoken'
          validate_certs: False

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Daniel Korn (@dkorn)

Hint

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