The resource random_integer
generates random values from a given range, described by the min
and max
attributes of a given resource.
This resource can be used in conjunction with resources that have the create_before_destroy
lifecycle flag set, to avoid conflicts with unique names during the brief period where both the old and new resources exist concurrently.
The following example shows how to generate a random priority between 1 and 99999 for a aws_alb_listener_rule
resource:
resource "random_integer" "priority" { min = 1 max = 99999 keepers = { # Generate a new integer each time we switch to a new listener ARN listener_arn = "${var.listener_arn}" } } resource "aws_alb_listener_rule" "main" { listener_arn = "${var.listener_arn}" priority = "${random_integer.priority.result}" action { type = "forward" target_group_arn = "${var.target_group_arn}" } # ... (other aws_alb_listener_rule arguments) ... }
The result of the above will set a random priority.
The following arguments are supported:
min
- (int) The minimum inclusive value of the range.
max
- (int) The maximum inclusive value of the range.
keepers
- (Optional) Arbitrary map of values that, when changed, will trigger a new id to be generated. See the main provider documentation for more information.
seed
- (Optional) A custom seed to always produce the same value.
The following attributes are supported:
Random integers can be imported using the result
, min
, and max
, with an optional seed
. This can be used to replace a config value with a value interpolated from the random provider without experiencing diffs.
Example (values are separated by a ,
):
$ terraform import random_integer.priority 15390,1,99999
© 2018 HashiCorpLicensed under the MPL 2.0 License.
https://www.terraform.io/docs/providers/random/r/integer.html