cisco.aci.aci_aaa_user – Manage AAA users (aaa:User)
Note
This plugin is part of the cisco.aci collection (version 2.1.0).
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 cisco.aci
.
To use it in a playbook, specify: cisco.aci.aci_aaa_user
.
Requirements
The below requirements are needed on the host that executes this module.
python-dateutil
Parameters
Parameter |
Comments |
---|---|
The password of the locally-authenticated user. |
|
The lifetime of the locally-authenticated user password. |
|
Whether this account needs password update. Choices:
|
|
The name of the locally-authenticated user user to add. |
|
User-defined string for annotating an object. If the value is not specified in the task, the value of environment variable |
|
The X.509 certificate name attached to the APIC AAA user used for signature-based authentication. If a If PEM-formatted content was provided for If the value is not specified in the task, the value of environment variable |
|
Whether to clear the password history of a locally-authenticated user. Choices:
|
|
Description for the AAA user. |
|
The email address of the locally-authenticated user. |
|
The status of the locally-authenticated user account. Choices:
|
|
The expiration date of the locally-authenticated user account. |
|
Whether to enable an expiration date for the locally-authenticated user account. Choices:
|
|
The first name of the locally-authenticated user. |
|
IP Address or hostname of APIC resolvable by Ansible control host. If the value is not specified in the task, the value of environment variable |
|
The last name of the locally-authenticated user. |
|
The alias for the current object. This relates to the nameAlias field in ACI. |
|
Influence the output of this ACI module.
If the value is not specified in the task, the value of environment variable Choices:
|
|
Path to a file that will be used to dump the ACI JSON configuration objects generated by the module. If the value is not specified in the task, the value of environment variable |
|
User-defined string for the ownerKey attribute of an ACI object. This attribute represents a key for enabling clients to own their data for entity correlation. If the value is not specified in the task, the value of environment variable |
|
User-defined string for the ownerTag attribute of an ACI object. This attribute represents a tag for enabling clients to add their own data. For example, to indicate who created this object. If the value is not specified in the task, the value of environment variable |
|
The password to use for authentication. This option is mutual exclusive with If the value is not specified in the task, the value of environment variables |
|
The phone number of the locally-authenticated user. |
|
Port number to be used for REST connection. The default value depends on parameter If the value is not specified in the task, the value of environment variable |
|
Either a PEM-formatted private key file or the private key content used for signature-based authentication. This value also influences the default This option is mutual exclusive with If the value is not specified in the task, the value of environment variable |
|
Use Use Choices:
|
|
The socket level timeout in seconds. If the value is not specified in the task, the value of environment variable Default: 30 |
|
If If the value is not specified in the task, the value of environment variable Choices:
|
|
If If the value is not specified in the task, the value of environment variable Choices:
|
|
The username to use for authentication. If the value is not specified in the task, the value of environment variables Default: “admin” |
|
If This should only set to If the value is not specified in the task, the value of environment variable Choices:
|
Notes
Note
This module is not idempotent when
aaa_password
is being used (even if that password was already set identically). This appears to be an inconsistency wrt. the idempotent nature of the APIC REST API. The vendor has been informed. More information in the ACI documentation.
See Also
See also
- cisco.aci.aci_aaa_user_certificate
The official documentation on the cisco.aci.aci_aaa_user_certificate module.
- APIC Management Information Model reference
More information about the internal APIC class aaa:User.
- Cisco ACI Guide
Detailed information on how to manage your ACI infrastructure using Ansible.
- Developing Cisco ACI modules
Detailed guide on how to write your own Cisco ACI modules to contribute.
Examples
- name: Add a user
cisco.aci.aci_aaa_user:
host: apic
username: admin
password: SomeSecretPassword
aaa_user: dag
aaa_password: AnotherSecretPassword
expiration: never
expires: no
email: [email protected]
phone: 1-234-555-678
first_name: Dag
last_name: Wieers
state: present
delegate_to: localhost
- name: Remove a user
cisco.aci.aci_aaa_user:
host: apic
username: admin
password: SomeSecretPassword
aaa_user: dag
state: absent
delegate_to: localhost
- name: Query a user
cisco.aci.aci_aaa_user:
host: apic
username: admin
password: SomeSecretPassword
aaa_user: dag
state: query
delegate_to: localhost
register: query_result
- name: Query all users
cisco.aci.aci_aaa_user:
host: apic
username: admin
password: SomeSecretPassword
state: query
delegate_to: localhost
register: query_result
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
The existing configuration from the APIC after the module has finished Returned: success Sample: [{“fvTenant”: {“attributes”: {“descr”: “Production environment”, “dn”: “uni/tn-production”, “name”: “production”, “nameAlias”: “”, “ownerKey”: “”, “ownerTag”: “”}}}] |
|
The error information as returned from the APIC Returned: failure Sample: {“code”: “122”, “text”: “unknown managed object class foo”} |
|
The filter string used for the request Returned: failure or debug Sample: “?rsp-prop-include=config-only” |
|
The HTTP method used for the request to the APIC Returned: failure or debug Sample: “POST” |
|
The original configuration from the APIC before the module has started Returned: info Sample: [{“fvTenant”: {“attributes”: {“descr”: “Production”, “dn”: “uni/tn-production”, “name”: “production”, “nameAlias”: “”, “ownerKey”: “”, “ownerTag”: “”}}}] |
|
The assembled configuration from the user-provided parameters Returned: info Sample: {“fvTenant”: {“attributes”: {“descr”: “Production environment”, “name”: “production”}}} |
|
The raw output returned by the APIC REST API (xml or json) Returned: parse error Sample: “\u003c?xml version=\”1.0\” encoding=\”UTF-8\”?\u003e\u003cimdata totalCount=\”1\”\u003e\u003cerror code=\”122\” text=\”unknown managed object class foo\”/\u003e\u003c/imdata\u003e” |
|
The HTTP response from the APIC Returned: failure or debug Sample: “OK (30 bytes)” |
|
The actual/minimal configuration pushed to the APIC Returned: info Sample: {“fvTenant”: {“attributes”: {“descr”: “Production environment”}}} |
|
The HTTP status from the APIC Returned: failure or debug Sample: 200 |
|
The HTTP url used for the request to the APIC Returned: failure or debug |
Authors
Dag Wieers (@dagwieers)