community / community.general / 8.5.0 / module / ipa_user Manage FreeIPA users Authors: Thomas Krahn (@Nosmoht)community.general.ipa_user (8.5.0) — module
Install with ansible-galaxy collection install community.general:==8.5.0
collections: - name: community.general version: 8.5.0
Add, modify and delete user within IPA server.
- name: Ensure pinky is present and always reset password community.general.ipa_user: name: pinky state: present krbpasswordexpiration: 20200119235959 givenname: Pinky sn: Acme mail: - pinky@acme.com telephonenumber: - '+555123456' sshpubkey: - ssh-rsa .... - ssh-dsa .... uidnumber: '1001' gidnumber: '100' homedirectory: /home/pinky ipa_host: ipa.example.com ipa_user: admin ipa_pass: topsecret
- name: Ensure brain is absent community.general.ipa_user: name: brain state: absent ipa_host: ipa.example.com ipa_user: admin ipa_pass: topsecret
- name: Ensure pinky is present but don't reset password if already exists community.general.ipa_user: name: pinky state: present givenname: Pinky sn: Acme password: zounds ipa_host: ipa.example.com ipa_user: admin ipa_pass: topsecret update_password: on_create
- name: Ensure pinky is present and using one time password and RADIUS authentication community.general.ipa_user: name: pinky state: present userauthtype: - otp - radius ipa_host: ipa.example.com ipa_user: admin ipa_pass: topsecret
sn: description: - Surname. - If user does not exist and O(state=present), the usage of O(sn) is required. type: str uid: aliases: - name description: uid of the user. required: true type: str mail: description: - List of mail addresses assigned to the user. - If an empty list is passed all assigned email addresses will be deleted. - If None is passed email addresses will not be checked or changed. elements: str type: list state: choices: - absent - disabled - enabled - present default: present description: State to ensure. type: str title: description: Title. type: str ipa_host: default: ipa.example.com description: - IP or hostname of IPA server. - If the value is not specified in the task, the value of environment variable E(IPA_HOST) will be used instead. - If both the environment variable E(IPA_HOST) and the value are not specified in the task, then DNS will be used to try to discover the FreeIPA server. - The relevant entry needed in FreeIPA is the C(ipa-ca) entry. - If neither the DNS entry, nor the environment E(IPA_HOST), nor the value are available in the task, then the default value will be used. type: str ipa_pass: description: - Password of administrative user. - If the value is not specified in the task, the value of environment variable E(IPA_PASS) will be used instead. - Note that if the C(urllib_gssapi) library is available, it is possible to use GSSAPI to authenticate to FreeIPA. - If the environment variable E(KRB5CCNAME) is available, the module will use this kerberos credentials cache to authenticate to the FreeIPA server. - If the environment variable E(KRB5_CLIENT_KTNAME) is available, and E(KRB5CCNAME) is not; the module will use this kerberos keytab to authenticate. - If GSSAPI is not available, the usage of O(ipa_pass) is required. type: str ipa_port: default: 443 description: - Port of FreeIPA / IPA server. - If the value is not specified in the task, the value of environment variable E(IPA_PORT) will be used instead. - If both the environment variable E(IPA_PORT) and the value are not specified in the task, then default value is set. type: int ipa_prot: choices: - http - https default: https description: - Protocol used by IPA server. - If the value is not specified in the task, the value of environment variable E(IPA_PROT) will be used instead. - If both the environment variable E(IPA_PROT) and the value are not specified in the task, then default value is set. type: str ipa_user: default: admin description: - Administrative account used on IPA server. - If the value is not specified in the task, the value of environment variable E(IPA_USER) will be used instead. - If both the environment variable E(IPA_USER) and the value are not specified in the task, then default value is set. type: str password: description: - Password for a user. - Will not be set for an existing user unless O(update_password=always), which is the default. type: str gidnumber: description: - Posix Group ID. type: str givenname: description: - First name. - If user does not exist and O(state=present), the usage of O(givenname) is required. type: str sshpubkey: description: - List of public SSH key. - If an empty list is passed all assigned public keys will be deleted. - If None is passed SSH public keys will not be checked or changed. elements: str type: list uidnumber: description: - Account Settings UID/Posix User ID number. type: str loginshell: description: Login shell. type: str displayname: description: Display name. type: str ipa_timeout: default: 10 description: - Specifies idle timeout (in seconds) for the connection. - For bulk operations, you may want to increase this in order to avoid timeout from IPA server. - If the value is not specified in the task, the value of environment variable E(IPA_TIMEOUT) will be used instead. - If both the environment variable E(IPA_TIMEOUT) and the value are not specified in the task, then default value is set. type: int userauthtype: choices: - password - radius - otp - pkinit - hardened - idp - passkey description: - The authentication type to use for the user. - To remove all authentication types from the user, use an empty list V([]). - The choice V(idp) and V(passkey) has been added in community.general 8.1.0. elements: str type: list version_added: 1.2.0 version_added_collection: community.general homedirectory: description: - Default home directory of the user. type: str version_added: 0.2.0 version_added_collection: community.general validate_certs: default: true description: - This only applies if O(ipa_prot) is V(https). - If set to V(false), the SSL certificates will not be validated. - This should only set to V(false) used on personally controlled sites using self-signed certificates. type: bool telephonenumber: description: - List of telephone numbers assigned to the user. - If an empty list is passed all assigned telephone numbers will be deleted. - If None is passed telephone numbers will not be checked or changed. elements: str type: list update_password: choices: - always - on_create default: always description: - Set password for a user. type: str krbpasswordexpiration: description: - Date at which the user password will expire. - In the format YYYYMMddHHmmss. - e.g. 20180121182022 will expire on 21 January 2018 at 18:20:22. type: str
user: description: User as returned by IPA API returned: always type: dict