Commit be22272c authored by Ilia Lazebnik's avatar Ilia Lazebnik Committed by Anton Babenko

Add tags to VPC Endpoints (#293)

* Add tags to VPC Endpoints - terraform 0.11.x

* centralize vpce tag param
parent d7236054
...@@ -377,6 +377,7 @@ Sometimes it is handy to have public access to Redshift clusters (for example if ...@@ -377,6 +377,7 @@ Sometimes it is handy to have public access to Redshift clusters (for example if
| ssmmessages\_endpoint\_security\_group\_ids | The ID of one or more security groups to associate with the network interface for SSMMESSAGES endpoint | list | `[]` | no | | ssmmessages\_endpoint\_security\_group\_ids | The ID of one or more security groups to associate with the network interface for SSMMESSAGES endpoint | list | `[]` | no |
| ssmmessages\_endpoint\_subnet\_ids | The ID of one or more subnets in which to create a network interface for SSMMESSAGES endpoint. Only a single subnet within an AZ is supported. If omitted, private subnets will be used. | list | `[]` | no | | ssmmessages\_endpoint\_subnet\_ids | The ID of one or more subnets in which to create a network interface for SSMMESSAGES endpoint. Only a single subnet within an AZ is supported. If omitted, private subnets will be used. | list | `[]` | no |
| tags | A map of tags to add to all resources | map | `{}` | no | | tags | A map of tags to add to all resources | map | `{}` | no |
| vpc\_endpoint\_tags | Additional tags for the VPC Endpoints | map | `{}` | no |
| vpc\_tags | Additional tags for the VPC | map | `{}` | no | | vpc\_tags | Additional tags for the VPC | map | `{}` | no |
| vpn\_gateway\_id | ID of VPN Gateway to attach to the VPC | string | `""` | no | | vpn\_gateway\_id | ID of VPN Gateway to attach to the VPC | string | `""` | no |
| vpn\_gateway\_tags | Additional tags for the VPN gateway | map | `{}` | no | | vpn\_gateway\_tags | Additional tags for the VPN gateway | map | `{}` | no |
......
...@@ -7,7 +7,8 @@ locals { ...@@ -7,7 +7,8 @@ locals {
nat_gateway_count = "${var.single_nat_gateway ? 1 : (var.one_nat_gateway_per_az ? length(var.azs) : local.max_subnet_length)}" nat_gateway_count = "${var.single_nat_gateway ? 1 : (var.one_nat_gateway_per_az ? length(var.azs) : local.max_subnet_length)}"
# Use `local.vpc_id` to give a hint to Terraform that subnets should be deleted before secondary CIDR blocks can be free! # Use `local.vpc_id` to give a hint to Terraform that subnets should be deleted before secondary CIDR blocks can be free!
vpc_id = "${element(concat(aws_vpc_ipv4_cidr_block_association.this.*.vpc_id, aws_vpc.this.*.id, list("")), 0)}" vpc_id = "${element(concat(aws_vpc_ipv4_cidr_block_association.this.*.vpc_id, aws_vpc.this.*.id, list("")), 0)}"
vpce_tags = "${merge(var.tags, var.vpc_endpoint_tags)}"
} }
###### ######
...@@ -602,6 +603,8 @@ resource "aws_vpc_endpoint" "s3" { ...@@ -602,6 +603,8 @@ resource "aws_vpc_endpoint" "s3" {
vpc_id = "${local.vpc_id}" vpc_id = "${local.vpc_id}"
service_name = "${data.aws_vpc_endpoint_service.s3.service_name}" service_name = "${data.aws_vpc_endpoint_service.s3.service_name}"
tags = "${local.vpce_tags}"
} }
resource "aws_vpc_endpoint_route_table_association" "private_s3" { resource "aws_vpc_endpoint_route_table_association" "private_s3" {
...@@ -639,6 +642,8 @@ resource "aws_vpc_endpoint" "dynamodb" { ...@@ -639,6 +642,8 @@ resource "aws_vpc_endpoint" "dynamodb" {
vpc_id = "${local.vpc_id}" vpc_id = "${local.vpc_id}"
service_name = "${data.aws_vpc_endpoint_service.dynamodb.service_name}" service_name = "${data.aws_vpc_endpoint_service.dynamodb.service_name}"
tags = "${local.vpce_tags}"
} }
resource "aws_vpc_endpoint_route_table_association" "private_dynamodb" { resource "aws_vpc_endpoint_route_table_association" "private_dynamodb" {
...@@ -681,6 +686,8 @@ resource "aws_vpc_endpoint" "sqs" { ...@@ -681,6 +686,8 @@ resource "aws_vpc_endpoint" "sqs" {
security_group_ids = ["${var.sqs_endpoint_security_group_ids}"] security_group_ids = ["${var.sqs_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.sqs_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.sqs_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.sqs_endpoint_private_dns_enabled}" private_dns_enabled = "${var.sqs_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
####################### #######################
...@@ -702,6 +709,8 @@ resource "aws_vpc_endpoint" "ssm" { ...@@ -702,6 +709,8 @@ resource "aws_vpc_endpoint" "ssm" {
security_group_ids = ["${var.ssm_endpoint_security_group_ids}"] security_group_ids = ["${var.ssm_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.ssm_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.ssm_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.ssm_endpoint_private_dns_enabled}" private_dns_enabled = "${var.ssm_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
############################### ###############################
...@@ -723,6 +732,8 @@ resource "aws_vpc_endpoint" "ssmmessages" { ...@@ -723,6 +732,8 @@ resource "aws_vpc_endpoint" "ssmmessages" {
security_group_ids = ["${var.ssmmessages_endpoint_security_group_ids}"] security_group_ids = ["${var.ssmmessages_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.ssmmessages_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.ssmmessages_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.ssmmessages_endpoint_private_dns_enabled}" private_dns_enabled = "${var.ssmmessages_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
####################### #######################
...@@ -744,6 +755,8 @@ resource "aws_vpc_endpoint" "ec2" { ...@@ -744,6 +755,8 @@ resource "aws_vpc_endpoint" "ec2" {
security_group_ids = ["${var.ec2_endpoint_security_group_ids}"] security_group_ids = ["${var.ec2_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.ec2_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.ec2_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.ec2_endpoint_private_dns_enabled}" private_dns_enabled = "${var.ec2_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
############################### ###############################
...@@ -765,6 +778,8 @@ resource "aws_vpc_endpoint" "ec2messages" { ...@@ -765,6 +778,8 @@ resource "aws_vpc_endpoint" "ec2messages" {
security_group_ids = ["${var.ec2messages_endpoint_security_group_ids}"] security_group_ids = ["${var.ec2messages_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.ec2messages_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.ec2messages_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.ec2messages_endpoint_private_dns_enabled}" private_dns_enabled = "${var.ec2messages_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
########################### ###########################
...@@ -786,6 +801,8 @@ resource "aws_vpc_endpoint" "ecr_api" { ...@@ -786,6 +801,8 @@ resource "aws_vpc_endpoint" "ecr_api" {
security_group_ids = ["${var.ecr_api_endpoint_security_group_ids}"] security_group_ids = ["${var.ecr_api_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.ecr_api_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.ecr_api_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.ecr_api_endpoint_private_dns_enabled}" private_dns_enabled = "${var.ecr_api_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
########################### ###########################
...@@ -807,6 +824,8 @@ resource "aws_vpc_endpoint" "ecr_dkr" { ...@@ -807,6 +824,8 @@ resource "aws_vpc_endpoint" "ecr_dkr" {
security_group_ids = ["${var.ecr_dkr_endpoint_security_group_ids}"] security_group_ids = ["${var.ecr_dkr_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.ecr_dkr_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.ecr_dkr_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.ecr_dkr_endpoint_private_dns_enabled}" private_dns_enabled = "${var.ecr_dkr_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
####################### #######################
...@@ -828,6 +847,8 @@ resource "aws_vpc_endpoint" "apigw" { ...@@ -828,6 +847,8 @@ resource "aws_vpc_endpoint" "apigw" {
security_group_ids = ["${var.apigw_endpoint_security_group_ids}"] security_group_ids = ["${var.apigw_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.apigw_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.apigw_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.apigw_endpoint_private_dns_enabled}" private_dns_enabled = "${var.apigw_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
####################### #######################
...@@ -849,6 +870,8 @@ resource "aws_vpc_endpoint" "kms" { ...@@ -849,6 +870,8 @@ resource "aws_vpc_endpoint" "kms" {
security_group_ids = ["${var.kms_endpoint_security_group_ids}"] security_group_ids = ["${var.kms_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.kms_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.kms_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.kms_endpoint_private_dns_enabled}" private_dns_enabled = "${var.kms_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
####################### #######################
...@@ -870,6 +893,8 @@ resource "aws_vpc_endpoint" "ecs" { ...@@ -870,6 +893,8 @@ resource "aws_vpc_endpoint" "ecs" {
security_group_ids = ["${var.ecs_endpoint_security_group_ids}"] security_group_ids = ["${var.ecs_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.ecs_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.ecs_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.ecs_endpoint_private_dns_enabled}" private_dns_enabled = "${var.ecs_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
####################### #######################
...@@ -891,6 +916,8 @@ resource "aws_vpc_endpoint" "ecs_agent" { ...@@ -891,6 +916,8 @@ resource "aws_vpc_endpoint" "ecs_agent" {
security_group_ids = ["${var.ecs_agent_endpoint_security_group_ids}"] security_group_ids = ["${var.ecs_agent_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.ecs_agent_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.ecs_agent_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.ecs_agent_endpoint_private_dns_enabled}" private_dns_enabled = "${var.ecs_agent_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
####################### #######################
...@@ -912,6 +939,8 @@ resource "aws_vpc_endpoint" "ecs_telemetry" { ...@@ -912,6 +939,8 @@ resource "aws_vpc_endpoint" "ecs_telemetry" {
security_group_ids = ["${var.ecs_telemetry_endpoint_security_group_ids}"] security_group_ids = ["${var.ecs_telemetry_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.ecs_telemetry_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.ecs_telemetry_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.ecs_telemetry_endpoint_private_dns_enabled}" private_dns_enabled = "${var.ecs_telemetry_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
####################### #######################
...@@ -933,6 +962,8 @@ resource "aws_vpc_endpoint" "elasticloadbalancing" { ...@@ -933,6 +962,8 @@ resource "aws_vpc_endpoint" "elasticloadbalancing" {
security_group_ids = ["${var.elasticloadbalancing_endpoint_security_group_ids}"] security_group_ids = ["${var.elasticloadbalancing_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.elasticloadbalancing_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.elasticloadbalancing_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.elasticloadbalancing_endpoint_private_dns_enabled}" private_dns_enabled = "${var.elasticloadbalancing_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
####################### #######################
...@@ -954,6 +985,8 @@ resource "aws_vpc_endpoint" "sns" { ...@@ -954,6 +985,8 @@ resource "aws_vpc_endpoint" "sns" {
security_group_ids = ["${var.sns_endpoint_security_group_ids}"] security_group_ids = ["${var.sns_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.sns_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.sns_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.sns_endpoint_private_dns_enabled}" private_dns_enabled = "${var.sns_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
####################### #######################
...@@ -975,6 +1008,8 @@ resource "aws_vpc_endpoint" "logs" { ...@@ -975,6 +1008,8 @@ resource "aws_vpc_endpoint" "logs" {
security_group_ids = ["${var.logs_endpoint_security_group_ids}"] security_group_ids = ["${var.logs_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.logs_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.logs_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.logs_endpoint_private_dns_enabled}" private_dns_enabled = "${var.logs_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
####################### #######################
...@@ -996,6 +1031,8 @@ resource "aws_vpc_endpoint" "cloudtrail" { ...@@ -996,6 +1031,8 @@ resource "aws_vpc_endpoint" "cloudtrail" {
security_group_ids = ["${var.cloudtrail_endpoint_security_group_ids}"] security_group_ids = ["${var.cloudtrail_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.cloudtrail_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.cloudtrail_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.cloudtrail_endpoint_private_dns_enabled}" private_dns_enabled = "${var.cloudtrail_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
####################### #######################
...@@ -1017,6 +1054,8 @@ resource "aws_vpc_endpoint" "monitoring" { ...@@ -1017,6 +1054,8 @@ resource "aws_vpc_endpoint" "monitoring" {
security_group_ids = ["${var.monitoring_endpoint_security_group_ids}"] security_group_ids = ["${var.monitoring_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.monitoring_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.monitoring_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.monitoring_endpoint_private_dns_enabled}" private_dns_enabled = "${var.monitoring_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
####################### #######################
...@@ -1038,6 +1077,8 @@ resource "aws_vpc_endpoint" "events" { ...@@ -1038,6 +1077,8 @@ resource "aws_vpc_endpoint" "events" {
security_group_ids = ["${var.events_endpoint_security_group_ids}"] security_group_ids = ["${var.events_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.events_endpoint_subnet_ids, aws_subnet.private.*.id)}"] subnet_ids = ["${coalescelist(var.events_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
private_dns_enabled = "${var.events_endpoint_private_dns_enabled}" private_dns_enabled = "${var.events_endpoint_private_dns_enabled}"
tags = "${local.vpce_tags}"
} }
########################## ##########################
......
...@@ -709,6 +709,11 @@ variable "vpn_gateway_tags" { ...@@ -709,6 +709,11 @@ variable "vpn_gateway_tags" {
default = {} default = {}
} }
variable "vpc_endpoint_tags" {
description = "Additional tags for the VPC Endpoints"
default = {}
}
variable "enable_dhcp_options" { variable "enable_dhcp_options" {
description = "Should be true if you want to specify a DHCP options set with a custom domain name, DNS servers, NTP servers, netbios servers, and/or netbios server type" description = "Should be true if you want to specify a DHCP options set with a custom domain name, DNS servers, NTP servers, netbios servers, and/or netbios server type"
default = false default = false
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment