Назад | Перейти на главную страницу

Terraform: использование exportCustomRoutes при настройке пирингового соединения

Я пытаюсь установить пиринговое соединение между двумя сетями VPC.

Одна сеть (транзитная) настраивает статические маршруты, и я хотел бы, чтобы они распространялись в одноранговую сеть.

Вот пример:

...

data "google_compute_network" "transit-network" {
  project       = var.transit_project_id
  name = var.transit_network
}

resource "google_compute_network_peering" "to-transit" {
  name = "${var.project}-transit"
  network = "${google_compute_network.vpc_network.self_link}"
  peer_network = data.google_compute_network.transit-network.self_link
}

resource "google_compute_network_peering" "from-transit" {
  name = "transit-${var.project}"
  network = data.google_compute_network.transit-network.self_link
  peer_network = "${google_compute_network.vpc_network.self_link}"
}

...

Я знаю, что это просто через консоль GCP, но я не могу найти способ сделать это через terraform.

Из API кажется, что с помощью поля peering.exchangeSubnetRoutes

РЕДАКТИРОВАТЬ: Я нашел решение, используя google-beta провайдер:

resource "google_compute_network_peering" "to-transit" {
  name = "${var.project}-transit"
  provider = "google-beta"
  network = "${google_compute_network.vpc_network.self_link}"
  peer_network = data.google_compute_network.transit-network.self_link
  import_custom_routes = true
}

resource "google_compute_network_peering" "from-transit" {
  name = "transit-${var.project}"
  provider = "google-beta"
  network = data.google_compute_network.transit-network.self_link
  peer_network = "${google_compute_network.vpc_network.self_link}"
  export_custom_routes = true
}

Используя beta провайдер я могу указать import_custom_routes и export_custom_routes