/**
 * Copyright 2023 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

# tfdoc:file:description Private Service Connect resources.

# PSC configured in the main project
# IP address for the PSC endpoint
module "psc-addr-main" {
  source     = "../../../modules/net-address"
  project_id = module.main-project.project_id
  psc_addresses = {
    psc-addr = {
      address = var.ip_configs.psc_addr
      network = module.vpc-main.self_link
    }
  }
}

# PSC endpoint (forwarding rule)
resource "google_compute_global_forwarding_rule" "psc_endpoint_main" {
  provider              = google-beta
  project               = module.main-project.project_id
  name                  = "pscaddr"
  network               = module.vpc-main.self_link
  ip_address            = module.psc-addr-main.psc_addresses["psc-addr"].self_link
  target                = "vpc-sc"
  load_balancing_scheme = ""
}
