Skip to content

Commit

Permalink
Merge pull request #213 from michieldhadamus/ecr-endpoints
Browse files Browse the repository at this point in the history
Added option to create ECR api and dkr endpoints
  • Loading branch information
antonbabenko authored Feb 14, 2019
2 parents bd089fb + 176a596 commit 8fededb
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 0 deletions.
40 changes: 40 additions & 0 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,46 @@ resource "aws_vpc_endpoint_route_table_association" "public_s3" {
route_table_id = "${aws_route_table.public.id}"
}

##########################
# VPC Endpoint for ECR API
##########################
data "aws_vpc_endpoint_service" "ecr_api" {
count = "${var.create_vpc && var.enable_ecr_api_endpoint ? 1 : 0}"

service = "ecr.api"
}

resource "aws_vpc_endpoint" "ecr_api" {
count = "${var.create_vpc && var.enable_ecr_api_endpoint ? 1 : 0}"

vpc_endpoint_type = "Interface"
vpc_id = "${local.vpc_id}"
security_group_ids = ["${var.ecr_api_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.ecr_api_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
service_name = "${data.aws_vpc_endpoint_service.ecr_api.service_name}"
private_dns_enabled = "${var.ecr_api_endpoint_private_dns_enabled}"
}

##########################
# VPC Endpoint for ECR DKR
##########################
data "aws_vpc_endpoint_service" "ecr_dkr" {
count = "${var.create_vpc && var.enable_ecr_dkr_endpoint ? 1 : 0}"

service = "ecr.dkr"
}

resource "aws_vpc_endpoint" "ecr_dkr" {
count = "${var.create_vpc && var.enable_ecr_dkr_endpoint ? 1 : 0}"

vpc_endpoint_type = "Interface"
vpc_id = "${local.vpc_id}"
security_group_ids = ["${var.ecr_dkr_endpoint_security_group_ids}"]
subnet_ids = ["${coalescelist(var.ecr_dkr_endpoint_subnet_ids, aws_subnet.private.*.id)}"]
service_name = "${data.aws_vpc_endpoint_service.ecr_dkr.service_name}"
private_dns_enabled = "${var.ecr_dkr_endpoint_private_dns_enabled}"
}

############################
# VPC Endpoint for DynamoDB
############################
Expand Down
40 changes: 40 additions & 0 deletions variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,46 @@ variable "enable_s3_endpoint" {
default = false
}

variable "enable_ecr_api_endpoint" {
description = "Should be true if you want to provision an ecr api endpoint to the VPC"
default = false
}

variable "ecr_api_endpoint_subnet_ids" {
description = "The ID of one or more subnets in which to create a network interface for ECR api endpoint. If omitted, private subnets will be used."
default = []
}

variable "ecr_api_endpoint_private_dns_enabled" {
description = "Whether or not to associate a private hosted zone with the specified VPC for ECR API endpoint"
default = false
}

variable "ecr_api_endpoint_security_group_ids" {
description = "The ID of one or more security groups to associate with the network interface for ECR API endpoint"
default = []
}

variable "enable_ecr_dkr_endpoint" {
description = "Should be true if you want to provision an ecr dkr endpoint to the VPC"
default = false
}

variable "ecr_dkr_endpoint_subnet_ids" {
description = "The ID of one or more subnets in which to create a network interface for ECR dkr endpoint. If omitted, private subnets will be used."
default = []
}

variable "ecr_dkr_endpoint_private_dns_enabled" {
description = "Whether or not to associate a private hosted zone with the specified VPC for ECR DKR endpoint"
default = false
}

variable "ecr_dkr_endpoint_security_group_ids" {
description = "The ID of one or more security groups to associate with the network interface for ECR DKR endpoint"
default = []
}

variable "enable_ssm_endpoint" {
description = "Should be true if you want to provision an SSM endpoint to the VPC"
default = false
Expand Down

0 comments on commit 8fededb

Please sign in to comment.