# meraki_admin – Manage administrators in the Meraki cloud

New in version 2.6.

- Synopsis
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- Allows for creation, management, and visibility into administrators within Meraki.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
auth_key string / required |  | Authentication key provided by the dashboard. Required if environmental variable `MERAKI_KEY` is not set.
email string |  | Email address for the dashboard administrator. Email cannot be updated. Required when creating or editing an administrator.
host string | Default: "api.meraki.com" | Hostname for Meraki dashboard. Can be used to access regional Meraki environments, such as China.
internal_error_retry_time integer | Default: 60 | Number of seconds to retry if server returns an internal server error.
name string |  | Name of the dashboard administrator. Required when creating a new administrator.
networks - |  | List of networks the administrator has privileges on. When creating a new administrator, `org_name`, `network`, or `tags` must be specified.
| access string |  | The privilege of the dashboard administrator on the network. Valid options are `full`, `read-only`, or `none`.
| id string |  | Network ID for which administrator should have privileges assigned.

org_access
string

Choices:
- full
- none
- read-only

Privileges assigned to the administrator in the organization.
aliases: orgAccess

org_id string |  | ID of organization.
org_name string |  | Name of organization. Used when `name` should refer to another object. When creating a new administrator, `org_name`, `network`, or `tags` must be specified. aliases: organization

output_format
string

Choices:
- snakecase ←
- camelcase

Instructs module whether response keys should be snake case (ex. `net_id`) or camel case (ex. `netId`).

output_level
string

Choices:
- debug
- normal ←

Set amount of debug output during module execution.

rate_limit_retry_time integer | Default: 165 | Number of seconds to retry if rate limiter is triggered.

state
string / required

Choices:
- absent
- present
- query

Create or modify, or delete an organization
If `state` is `absent`, name takes priority over email if both are specified.

tags - |  | Tags the administrator has privileges on. When creating a new administrator, `org_name`, `network`, or `tags` must be specified. If `none` is specified, `network` or `tags` must be specified.
| access string |  | The privilege of the dashboard administrator for the tag.
| tag string |  | Object tag which privileges should be assigned.
timeout integer | Default: 30 | Time to timeout for HTTP requests.

use_https
boolean

Choices:
- no
- yes ←

If `no`, it will use HTTP. Otherwise it will use HTTPS.
Only useful for internal Meraki developers.

use_proxy
boolean

Choices:
- no
- yes

If `no`, it will not use a proxy, even if one is defined in an environment variable on the target hosts.

validate_certs
boolean

Choices:
- no
- yes ←

Whether to validate HTTP certificates.

## Notes

Note

- More information about the Meraki API can be found at https://dashboard.meraki.com/api_docs.
- Some of the options are likely only used for developers within Meraki.
- As of Ansible 2.9, Meraki modules output keys as snake case. To use camel case, set the `ANSIBLE_MERAKI_FORMAT` environment variable to `camelcase`.
- Ansible’s Meraki modules will stop supporting camel case output in Ansible 2.13. Please update your playbooks.

## Examples

    - name: Query information about all administrators associated to the organization
      meraki_admin:
        auth_key: abc12345
        org_name: YourOrg
        state: query
      delegate_to: localhost

    - name: Query information about a single administrator by name
      meraki_admin:
        auth_key: abc12345
        org_id: 12345
        state: query
        name: Jane Doe

    - name: Query information about a single administrator by email
      meraki_admin:
        auth_key: abc12345
        org_name: YourOrg
        state: query
        email: jane@doe.com

    - name: Create new administrator with organization access
      meraki_admin:
        auth_key: abc12345
        org_name: YourOrg
        state: present
        name: Jane Doe
        org_access: read-only
        email: jane@doe.com

    - name: Create new administrator with organization access
      meraki_admin:
        auth_key: abc12345
        org_name: YourOrg
        state: present
        name: Jane Doe
        org_access: read-only
        email: jane@doe.com

    - name: Create a new administrator with organization access
      meraki_admin:
        auth_key: abc12345
        org_name: YourOrg
        state: present
        name: Jane Doe
        org_access: read-only
        email: jane@doe.com

    - name: Revoke access to an organization for an administrator
      meraki_admin:
        auth_key: abc12345
        org_name: YourOrg
        state: absent
        email: jane@doe.com

    - name: Create a new administrator with full access to two tags
      meraki_admin:
        auth_key: abc12345
        org_name: YourOrg
        state: present
        name: Jane Doe
        orgAccess: read-only
        email: jane@doe.com
        tags:
            - tag: tenant
              access: full
            - tag: corporate
              access: read-only

    - name: Create a new administrator with full access to a network
      meraki_admin:
        auth_key: abc12345
        org_name: YourOrg
        state: present
        name: Jane Doe
        orgAccess: read-only
        email: jane@doe.com
        networks:
            - id: N_12345
              access: full

## Return Values

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

Key | Returned | Description
--- | --- | ---
data complex | success | List of administrators.
| account_status string | success | Status of account. Sample: ok
| email string | success | Email address of administrator. Sample: your@email.com
| has_api_key boolean | success | Defines whether administrator has an API assigned to their account.
| id string | success | Unique identification number of administrator. Sample: 1234567890
| last_active string | success | Date and time of time the administrator was active within Dashboard. Sample: 2019-01-28 14:58:56 -0800
| name string | success | Given name of administrator. Sample: John Doe
| networks complex | success | List of networks administrator has access on.
|  | access string | when network permissions are set | Access level of administrator. Options are 'full', 'read-only', or 'none'. Sample: read-only
|  | id string | when network permissions are set | The network ID. Sample: N_0123456789
| org_access string | success | The privilege of the dashboard administrator on the organization. Options are 'full', 'read-only', or 'none'. Sample: full
| tags complex | success | Tags the administrator has access on.
|  | access string | when tag permissions are set | Access level of administrator. Options are 'full', 'read-only', or 'none'. Sample: full
|  | tag string | when tag permissions are set | Tag name. Sample: production
| two_factor_auth_enabled boolean | success | Enabled state of two-factor authentication for administrator.

## Status

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

### Authors

- Kevin Breit (@kbreit)

Hint

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