- Ansible module to randomly generate a complex and strong password that match sets of rules.
| Parameter | Choices/Defaults | Comments |
|---|---|---|
| length integer |
Default: 12 |
The number of characters in the generated password. The length must be between 1 and 128 characters. |
| min_upper_case integer |
Default: 2 |
The minimum number of uppercase letters of European languages (A through Z) in the newly generated password.To exclude upper case characters from the password, specify -1. |
| min_lower_case integer |
Default: 2 |
The minimum number of lowercase letters of European languages (a through z) in the newly generated password.To exclude lower case characters from the password, specify -1. |
| min_digit integer |
Default: 2 |
The minimum number of characters from base 10 digits (0 through 9) in the newly generated password.To exclude digits from the password, specify -1. |
| min_special integer |
Default: 2 |
The minimum number of non-alphanumeric characters (special characters) in the newly generated password. To exclude special characters from the password, specify -1. |
| special_characters string |
Default: /*!\"$%()=?{[]}+#-.,<'_:;>~|@ |
A string containing all special characters allowed to use. |
| forbidden_characters string |
The characters that cannot be used when generating a new password, e.g /~\. |
|
| prevent_repeating_characters boolean |
Choices:
|
Whether or not characters can be used more than once in a password. |
- hosts: localhost
roles:
- role: complex_password
tasks:
- name: generate a complex password
complex_password:
length: 14
min_upper_case: 3
min_lower_case: 2
min_digit: 1
min_special: 4
special_characters: '+-'
prevent_repeating_characters: no
- name: debug message
debug:
var: complex_password
- name: generate a complex password
complex_password:
length: 14
min_upper_case: 5
min_lower_case: -1
min_digit: 3
min_special: 1
forbidden_chars: aA0
register: my_complex_password
- name: debug message
debug:
var: my_complex_password.ansible_facts.complex_password
Facts returned by this module are added/updated in the hostvars host facts and can be referenced by name just like any other host fact. They do not need to be registered in order to use them.
| Fact | Returned | Description |
|---|---|---|
| complex_password string |
success | A string containing the password in plain text. |
- Stéphane Bilqué (@sbilque)
This project is licensed under the Apache 2.0 License.
See LICENSE to see the full text.