mirror of
https://github.com/farcasclaudiu/terraform-course.git
synced 2026-06-22 05:01:55 +03:00
module with flatten function
This commit is contained in:
@@ -0,0 +1,31 @@
|
|||||||
|
locals {
|
||||||
|
my_parameters = [
|
||||||
|
{
|
||||||
|
"prefix" = "/myprefix"
|
||||||
|
"parameters" = [
|
||||||
|
{
|
||||||
|
"name" = "myparameter"
|
||||||
|
"value" = "myvalue"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" = "environment"
|
||||||
|
"value" = "dev"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"prefix" = "/myapp"
|
||||||
|
"parameters" = [
|
||||||
|
{
|
||||||
|
"name" = "environment"
|
||||||
|
"value" = "prod"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
module "parameters" {
|
||||||
|
source = "./ssm-parameter"
|
||||||
|
parameters = local.my_parameters
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
provider "aws" {
|
||||||
|
region = "eu-west-1"
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
locals {
|
||||||
|
parameters = flatten([
|
||||||
|
for parameters in var.parameters: [
|
||||||
|
for keyvalues in parameters.parameters:
|
||||||
|
{
|
||||||
|
"name" = "${parameters.prefix}/${keyvalues.name}"
|
||||||
|
"value" = keyvalues.value
|
||||||
|
}
|
||||||
|
]
|
||||||
|
])
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "aws_ssm_parameter" "parameter" {
|
||||||
|
for_each = { for keyvalue in local.parameters: keyvalue.name => keyvalue.value }
|
||||||
|
name = each.key
|
||||||
|
type = "String"
|
||||||
|
value = each.value
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
variable "parameters" {
|
||||||
|
type = list(object({
|
||||||
|
prefix = string
|
||||||
|
parameters = list(object({
|
||||||
|
name = string
|
||||||
|
value = string
|
||||||
|
}))
|
||||||
|
}))
|
||||||
|
default = []
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user