salt.modules.mod_random#
Provides access to randomness generators.#
New in version 2014.7.0.
- salt.modules.mod_random.get_str(length=20, chars=None, lowercase=True, uppercase=True, digits=True, punctuation=True, whitespace=False, printable=False)#
New in version 2014.7.0.
Changed in version 3004: Changed the default character set used to include symbols and implemented arguments to control the used character set.
Returns a random string of the specified length.
- length20
Any valid number of bytes.
- charsNone
New in version 3004.
String with any character that should be used to generate random string.
This argument supersedes all other character controlling arguments.
- lowercaseTrue
New in version 3004.
Use lowercase letters in generated random string. (see
string.ascii_lowercase)This argument is superseded by chars.
- uppercaseTrue
New in version 3004.
Use uppercase letters in generated random string. (see
string.ascii_uppercase)This argument is superseded by chars.
- digitsTrue
New in version 3004.
Use digits in generated random string. (see
string.digits)This argument is superseded by chars.
- printableFalse
New in version 3004.
Use printable characters in generated random string and includes lowercase, uppercase, digits, punctuation and whitespace. (see
string.printable)It is disabled by default as includes whitespace characters which some systems do not handle well in passwords. This argument also supersedes all other classes because it includes them.
This argument is superseded by chars.
- punctuationTrue
New in version 3004.
Use punctuation characters in generated random string. (see
string.punctuation)This argument is superseded by chars.
- whitespaceFalse
New in version 3004.
Use whitespace characters in generated random string. (see
string.whitespace)It is disabled by default as some systems do not handle whitespace characters in passwords well.
This argument is superseded by chars.
CLI Example:
salt '*' random.get_str 128 salt '*' random.get_str 128 chars='abc123.!()' salt '*' random.get_str 128 lowercase=False whitespace=True
- salt.modules.mod_random.hash(value, algorithm='sha512')#
New in version 2014.7.0.
Encodes a value with the specified encoder.
- value
The value to be hashed.
- algorithmsha512
The algorithm to use. May be any valid algorithm supported by hashlib.
CLI Example:
salt '*' random.hash 'I am a string' md5
- salt.modules.mod_random.rand_int(start=1, end=10, seed=None)#
Returns a random integer number between the start and end number.
New in version 2015.5.3.
- start1
Any valid integer number
- end10
Any valid integer number
- seed :
Optional hashable object
Changed in version 2019.2.0: Added seed argument. Will return the same result when run with the same seed.
CLI Example:
salt '*' random.rand_int 1 10
- salt.modules.mod_random.sample(value, size, seed=None)#
Return a given sample size from a list. By default, the random number generator uses the current system time unless given a seed value.
New in version 3005.
- value
A list to e used as input.
- size
The sample size to return.
- seed
Any value which will be hashed as a seed for random.
CLI Example:
salt '*' random.sample '["one", "two"]' 1 seed="something"
- salt.modules.mod_random.seed(range=10, hash=None)#
Returns a random number within a range. Optional hash argument can be any hashable object. If hash is omitted or None, the id of the minion is used.
New in version 2015.8.0.
- hash: None
Any hashable object.
- range: 10
Any valid integer number
CLI Example:
salt '*' random.seed 10 hash=None
- salt.modules.mod_random.shadow_hash(crypt_salt=None, password=None, algorithm='sha512')#
Generates a salted hash suitable for /etc/shadow.
- crypt_saltNone
Salt to be used in the generation of the hash. If one is not provided, a random salt will be generated.
- passwordNone
Value to be salted and hashed. If one is not provided, a random password will be generated.
- algorithmsha512
Hash algorithm to use.
CLI Example:
salt '*' random.shadow_hash 'My5alT' 'MyP@asswd' md5
- salt.modules.mod_random.shuffle(value, seed=None)#
Return a shuffled copy of an input list. By default, the random number generator uses the current system time unless given a seed value.
New in version 3005.
- value
A list to be used as input.
- seed
Any value which will be hashed as a seed for random.
CLI Example:
salt '*' random.shuffle '["one", "two"]' seed="something"
- salt.modules.mod_random.str_encode(value, encoder='base64')#
New in version 2014.7.0.
- value
The value to be encoded.
- encoderbase64
The encoder to use on the subsequent string.
CLI Example:
salt '*' random.str_encode 'I am a new string' base64