Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Allow setting vpc endpoints as an input for each endpoint #1056

Merged
merged 2 commits into from
Mar 22, 2024

Conversation

zack-is-cool
Copy link
Contributor

Description

Adds feature to allow overriding for each aws_vpc_endpoint service_name property, but defaulting to data if not defined.

Additionally this allows users to use specify fips endpoints if needed.

Motivation and Context

fixes #1054

Breaking Changes

N/A

How Has This Been Tested?

  • I have updated at least one of the examples/* to demonstrate and validate my change(s)
  • I have tested and validated these changes using one or more of the provided examples/* projects
  • I have executed pre-commit run -a on my pull request

Have a PR here for an example where this was tested using changes in my .terraform directory which I replicated in this fork.
defenseunicorns/terraform-aws-vpc#113

@@ -24,7 +24,7 @@ resource "aws_vpc_endpoint" "this" {
for_each = local.endpoints

vpc_id = var.vpc_id
service_name = data.aws_vpc_endpoint_service.this[each.key].service_name
service_name = try(each.value.service_endpoint_url, data.aws_vpc_endpoint_service.this[each.key].service_name)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How service_endpoint_url should look for the FIPS environment?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I wasn't clear on this, I meant more so in the context of since you can override with inputs, users can use fips endpoints

see:
https://github.com/defenseunicorns/terraform-aws-vpc/pull/113/files#diff-dc46acf24afd63ef8c556b77c126ccc6e578bc87e3aa09a931f33d9bf2532fbbR227

You'd probably able to do it with this module if we added another data "aws_vpc_endpoint_service" with different filters, but It doesn't seem like a super common enough request.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see. I think it should be named service_endpoint instead of service_endpoint_url to represent the actual type of the expected value. Could you change it and I will merge it? :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, no problem.

@@ -24,7 +24,7 @@ resource "aws_vpc_endpoint" "this" {
for_each = local.endpoints

vpc_id = var.vpc_id
service_name = data.aws_vpc_endpoint_service.this[each.key].service_name
service_name = try(each.value.service_endpoint_url, data.aws_vpc_endpoint_service.this[each.key].service_name)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see. I think it should be named service_endpoint instead of service_endpoint_url to represent the actual type of the expected value. Could you change it and I will merge it? :)

@antonbabenko antonbabenko merged commit 9163310 into terraform-aws-modules:master Mar 22, 2024
18 checks passed
antonbabenko pushed a commit that referenced this pull request Mar 22, 2024
## [5.7.0](v5.6.0...v5.7.0) (2024-03-22)

### Features

* Allow setting vpc endpoints as an input for each endpoint ([#1056](#1056)) ([9163310](9163310))
@antonbabenko
Copy link
Member

This PR is included in version 5.7.0 🎉

Copy link

I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 25, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

VPC endpoints are being replaced sporadically due to service_name being unknown at plan time
2 participants