#terraform #terraform-provider-gcp
#terraform #terraform-provider-gcp
Вопрос:
Справочная информация:
Я новичок в Terraform, но активный пользователь BigQuery. У нас есть существующий проект BigQuery, в котором более 100 наборов данных, и мы хотим начать использовать Terraform для управления доступом (только на уровне набора данных, а не на уровне таблиц или столбцов), поскольку ручное назначение доступа с помощью пользовательского интерфейса больше не масштабируется. Наш план состоит в том, чтобы внедрить Terraform для 5 наборов данных и со временем добавлять наборы данных, чтобы в конечном итоге включить каждый набор данных в проект.
Проблема:
Я изо всех сил пытаюсь понять, как автоматически импортировать все эти наборы данных перед запуском terraform apply
. Мой main.tf
файл содержит 5 таких блоков:
resource "google_bigquery_dataset" "dataset_1" {
dataset_id = "dataset_1"
location = local.location
project = local.project_id
access {
...
}
}
Есть ли способ запустить terraform import
автоматический импорт всех наборов данных, перечисленных в main.tf
?
Примечания:
- Я не хочу создавать или уничтожать какие-либо ресурсы, все наборы данных уже существуют.
terraform
команды будут выполняться локально в macOS.
Комментарии:
1. Вероятно, вы могли бы импортировать наборы данных, но я не уверен, есть ли для этого массовое действие. Вот документация Terraform для импорта BigQuery: registry.terraform.io/providers/hashicorp/google/latest/docs /. …
2. @MarkoE Да, я пробовал это, похоже, нет опции массового импорта. Кроме того, при полном развертывании я не хочу импортировать> 100 наборов данных при каждом запуске
terraform
команд. Было бы здорово, если бы была команда, чтобы увидеть, какие ресурсы находятся вmain.tf
файле, и импортировать только эти ресурсы.3. Вы можете попытаться «захватить» состояние в определенный момент
terraform state show
и посмотреть, какие ресурсы присутствуют.4. @MarkoE Как бы я это использовал? Я могу запустить
terraform state show
и просмотреть 5 наборов данных, которые я импортировал и успешно обновил через Terraform. Добавление 6-го набора данных не повлияет на содержимоеterraform state show
, если я не импортирую этот 6-й набор данных, что противоречит цели этого, которая заключается в автоматическом импорте наборов данных, перечисленных вmain.tf
файле.5. Ах, хорошо, поэтому я не думаю, что вы можете импортировать ресурсы, просто перечисляя их внутри
main.tf
. IIRC, в более новых версиях может быть рассмотрено добавление автоматического добавления ресурсов на основе конфигурации из файла Terraform, если я вас правильно понял. terraform.io/docs/import/index.html#currently-state-only