pulumi/tests/testdata/codegen/invoke-inside-conditional-r.../invoke-inside-conditional-r...

67 lines
3.0 KiB
Puppet

config "azs" "list(string)" {
default = []
description = "A list of availability zones names or ids in the region"
}
config "publicSubnetIpv6Prefixes" "list(string)" {
default = []
description = "Assigns IPv6 public subnet id based on the Amazon provided /56 prefix base 10 integer (0-256). Must be of equal length to the corresponding IPv4 subnet list"
}
config "oneNatGatewayPerAz" "bool" {
default = false
description = "Should be true if you want only one NAT Gateway per availability zone. Requires `var.azs` to be set, and the number of `public_subnets` created to be greater than or equal to the number of availability zones specified in `var.azs`"
}
config "enableIpv6" "bool" {
default = false
description = "Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block"
}
config "publicSubnetIpv6Native" "bool" {
default = false
description = "Indicates whether to create an IPv6-only subnet. Default: `false`"
}
config "publicSubnetEnableDns64" "bool" {
default = true
description = "Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations. Default: `true`"
}
config "publicSubnetAssignIpv6AddressOnCreation" "bool" {
default = false
description = "Specify true to indicate that network interfaces created in the specified subnet should be assigned an IPv6 address. Default is `false`"
}
config "publicSubnetEnableResourceNameDnsAaaaRecordOnLaunch" "bool" {
default = true
description = "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. Default: `true`"
}
config "publicSubnetEnableResourceNameDnsARecordOnLaunch" "bool" {
default = false
description = "Indicates whether to respond to DNS queries for instance hostnames with DNS A records. Default: `false`"
}
lenPublicSubnets = invoke("std:index:max", {
input = [1, 2, 3]
}).result
resource "currentVpc" "aws:ec2/vpc:Vpc" {}
createPublicSubnets = true
resource "publicSubnet" "aws:ec2/subnet:Subnet" {
options {
range = createPublicSubnets && (!oneNatGatewayPerAz || lenPublicSubnets >= length(azs)) ? lenPublicSubnets : 0
}
assignIpv6AddressOnCreation = enableIpv6 && publicSubnetIpv6Native ? true : publicSubnetAssignIpv6AddressOnCreation
enableDns64 = enableIpv6 && publicSubnetEnableDns64
enableResourceNameDnsAaaaRecordOnLaunch = enableIpv6 && publicSubnetEnableResourceNameDnsAaaaRecordOnLaunch
enableResourceNameDnsARecordOnLaunch = !publicSubnetIpv6Native && publicSubnetEnableResourceNameDnsARecordOnLaunch
ipv6CidrBlock = enableIpv6 && length(publicSubnetIpv6Prefixes) > 0 ? invoke("std:index:cidrsubnet", {
input = currentVpc.ipv6CidrBlock
newbits = 8
netnum = publicSubnetIpv6Prefixes[range.value]
}).result : null
ipv6Native = enableIpv6 && publicSubnetIpv6Native
vpcId = currentVpc.id
}