random.string
- Query Syntax
<desired-length>[::<arg>=<arg-val>, ...]
Generate a random string of the given length.
New in version 2.2.0.
Arguments
- digits: bool = True
When generating the random string, the string may contain digits (
[0-9]
). If the string can contain digits, it will always contain at least one.
- lowercase: bool = True
When generating the random string, the string may contain lowercase letters (
[a-z]
). If the string can contain lowercase letters, it will always contain at least one.
- punctuation: bool = False
When generating the random string, the string may contain ASCII punctuation (
[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]
). If the string can contain ASCII punctuation, it will always contain at least one.
- uppercase: bool = True
When generating the random string, the string may contain uppercase letters (
[A-Z]
). If the string can contain uppercase letters, it will always contain at least one.
This Lookup supports all Common Lookup Arguments but, the following have limited or no effect:
default
get
indent
load
region
Example
This example shows the use of this lookup to create an SSM parameter that will retain value generated during the first deployment. Even through subsequent deployments generate a new value that is passed to the hook, the hook does not overwrite the value of an existing parameter.
pre_deploy: &hooks
- path: runway.cfngin.hooks.ssm.parameter.SecureString
args:
name: /${namespace}/password
overwrite: false
value: ${random.string 12::punctuation=true}
post_destroy: *hooks