-
-
Notifications
You must be signed in to change notification settings - Fork 21
/
variables.tf
129 lines (110 loc) · 5.7 KB
/
variables.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#------------------------------------------------------------------------------
# AWS Virtual Private Network (VPC)
#------------------------------------------------------------------------------
variable "cidr_block" {
type = string
description = "(Optional) The IPv4 CIDR block for the VPC. CIDR can be explicitly set or it can be derived from IPAM using ipv4_netmask_length"
default = null
}
variable "instance_tenancy" {
type = string
description = "(Optional) A tenancy option for instances launched into the VPC. Default is default, which ensures that EC2 instances launched in this VPC use the EC2 instance tenancy attribute specified when the EC2 instance is launched. The only other option is dedicated, which ensures that EC2 instances launched in this VPC are run on dedicated tenancy instances regardless of the tenancy attribute specified at launch. This has a dedicated per region fee of $2 per hour, plus an hourly per instance usage fee."
default = "default"
}
variable "ipv4_ipam_pool_id" {
type = string
description = "(Optional) The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. IPAM is a VPC feature that you can use to automate your IP address management workflows including assigning, tracking, troubleshooting, and auditing IP addresses across AWS Regions and accounts. Using IPAM you can monitor IP address usage throughout your AWS Organization."
default = null
}
variable "ipv4_netmask_length" {
type = number
description = "(Optional) The netmask length of the IPv4 CIDR you want to allocate to this VPC. Requires specifying a ipv4_ipam_pool_id."
default = null
}
variable "enable_dns_support" {
type = bool
description = "(Optional) A boolean flag to enable/disable DNS support in the VPC. Defaults to true."
default = true
}
variable "enable_network_address_usage_metrics" {
type = bool
description = "(Optional) Indicates whether Network Address Usage metrics are enabled for your VPC. Defaults to false."
default = false
}
variable "enable_dns_hostnames" {
type = bool
description = "(Optional) A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false."
default = false
}
variable "vpc_additional_tags" {
type = map(string)
description = "(Optional) A map of tags to assign to the VPC resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level."
default = {}
}
#------------------------------------------------------------------------------
# Public Subnets
#------------------------------------------------------------------------------
variable "public_subnets" {
type = map(object({
availability_zone = string # Availability Zone for the subnet.
cidr_block = string # The IPv4 CIDR block for the subnet.
}))
description = "(Optional) Map of objects contining the definition for each public subnet"
default = {}
}
variable "public_subnets_enable_resource_name_dns_aaaa_record_on_launch" {
type = bool
description = "(Optional) Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. Default: false."
default = false
}
variable "public_subnets_enable_resource_name_dns_a_record_on_launch" {
type = bool
description = "(Optional) Indicates whether to respond to DNS queries for instance hostnames with DNS A records. Default: false."
default = false
}
variable "map_public_ip_on_launch" {
type = bool
description = "(Optional) Specify true to indicate that instances launched into the subnet should be assigned a public IP address. Default is false."
default = false
}
variable "public_subnets_additional_tags" {
type = map(string)
description = "(Optional) A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level."
default = {}
}
variable "single_nat" {
type = bool
description = "Use single NAT Gateway"
default = false
}
#------------------------------------------------------------------------------
# Private Subnets
#------------------------------------------------------------------------------
variable "private_subnets" {
type = map(object({
availability_zone = string # Availability Zone for the subnet.
cidr_block = string # The IPv4 CIDR block for the subnet.
}))
description = "(Optional) Map of objects contining the definition for each private subnet"
default = {}
}
variable "private_subnets_enable_resource_name_dns_aaaa_record_on_launch" {
type = bool
description = "(Optional) Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. Default: false."
default = false
}
variable "private_subnets_enable_resource_name_dns_a_record_on_launch" {
type = bool
description = "(Optional) Indicates whether to respond to DNS queries for instance hostnames with DNS A records. Default: false."
default = false
}
variable "private_subnets_additional_tags" {
type = map(string)
description = "(Optional) A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level."
default = {}
}
variable "additional_tags" {
type = map(string)
description = "(Optional) A map of tags to assign to all the resources. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level."
default = {}
}