terraform-provider-google icon indicating copy to clipboard operation
terraform-provider-google copied to clipboard

Missing google_compute_region_network_endpoint_group data source

Open GusPrice opened this issue 3 years ago • 0 comments

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment. If the issue is assigned to the "modular-magician" user, it is either in the process of being autogenerated, or is planned to be autogenerated soon. If the issue is assigned to a user, that user is claiming responsibility for the issue. If the issue is assigned to "hashibot", a community member has claimed the issue already.

Description

Data source for google_compute_region_network_endpoint_group would be useful for when creating a number of google_compute_region_network_endpoint_group resources and looking to access the existing resources or a subset thereof when deploying a HTTP Load Balancer for Cloud run. I think this would be in a similar vein to the google_compute_region_instance_group data source.

New or Affected Resource(s)

  • google_compute_region_network_endpoint_group

Potential Terraform Configuration

Querying for a specific region network endpoint group, used for a serverless Cloud Run function:

data "google_compute_region_network_endpoint_group" "sample" {
  name = "sample-network-endpoint-group"
}

Use that endpoint group data source in order to create the appropriate load balancing resources:

module "lb-http" {
  source            = "GoogleCloudPlatform/lb-http/google//modules/serverless_negs"
  version           = "~> 4.4"

  project           = "my-project-id"
  name              = "my-lb"

  ssl                             = true
  managed_ssl_certificate_domains = ["your-domain.com"]
  https_redirect                  = true
  backends = {
    default = {
      groups = [
        {
          # Your serverless service should have a NEG created that's referenced here.
          group = data.google_compute_region_network_endpoint_group.sample.id
        }
      ]
    }
  }
}

References

  • https://github.com/hashicorp/terraform-provider-google/issues/6749
  • https://github.com/hashicorp/terraform-provider-google/issues/4096
  • https://github.com/GoogleCloudPlatform/magic-modules/pull/2112
  • https://github.com/terraform-google-modules/terraform-google-lb-http/tree/v5.0.0/modules/serverless_negs

GusPrice avatar Jan 26 '22 22:01 GusPrice