pulumi/tests/testdata/codegen/components-pp/exampleComponent/main.pp

58 lines
1.5 KiB
Puppet

config input string {
description = "A simple input"
}
config cidrBlocks "map(string)" {
description = "The main CIDR blocks for the VPC\nIt is a map of strings"
}
config "githubApp" "object({id=string, keyBase64=string,webhookSecret=string})" {
description = "GitHub app parameters, see your github app. Ensure the key is the base64-encoded `.pem` file (the output of `base64 app.private-key.pem`, not the content of `private-key.pem`)."
nullable = true
}
config "servers" "list(object({name=string}))" {
description = "A list of servers"
nullable = true
}
config "deploymentZones" "map(object({ zone = string }))" {
description = "A map between for zones"
nullable = true
}
config ipAddress "list(int)" { }
resource password "random:index/randomPassword:RandomPassword" {
length = 16
special = true
overrideSpecial = input
}
resource githubPassword "random:index/randomPassword:RandomPassword" {
length = 16
special = true
overrideSpecial = githubApp.webhookSecret
}
# Example of iterating a list of objects
resource serverPasswords "random:index/randomPassword:RandomPassword" {
options { range = length(servers) }
length = 16
special = true
overrideSpecial = servers[range.value].name
}
# Example of iterating a map of objects
resource zonePasswords "random:index/randomPassword:RandomPassword" {
options { range = deploymentZones }
length = 16
special = true
overrideSpecial = range.value.zone
}
component simpleComponent "../simpleComponent" {}
output result {
value = password.result
}