Создание экземпляров RDS из не последнего снимка с использованием Terraform - PullRequest
0 голосов
/ 14 мая 2019

В проекте Terraform я создаю экземпляр RDS из неактуального снимка (пятый перед последним), мой сценарий здесь:

data "aws_db_snapshot" "db_snapshot" {
  db_instance_identifier = "production-db-intern"
  db_snapshot_arn = "arn:aws:rds:eu-central-1:123114111478:snapshot:rds:production-db-intern-2019-05-09-16-10"
}

resource "aws_db_instance" "db_intern" {
  skip_final_snapshot = true
  identifier = "db-intern"
  auto_minor_version_upgrade = false
  instance_class = "db.m4.4xlarge"
  deletion_protection = false
  vpc_security_group_ids = ["${var.security_group_id}"]
  db_subnet_group_name = "${var.subnet_group_name}"

  timeouts {
    create = "3h"
    delete = "2h"
  }

  lifecycle {
    prevent_destroy = false
  }

  snapshot_identifier = "${data.aws_db_snapshot.db_snapshot.id}"
}

Я выполнил «план terraform» и получил следующую ошибку:

Error: data.aws_db_snapshot.db_snapshot: "db_snapshot_arn": this field cannot be set

1 Ответ

0 голосов
/ 14 мая 2019

db_snapshot_arn не является допустимым полем ресурса данных aws_db_snapshot. Вы имели в виду db_snapshot_identifier.

Кроме того, вы не можете передать ARN этому ресурсу данных, вместо этого вы можете передать ID снимка, например, snap-1234567890abcdef0.

Кроме того, ресурс данных ожидает, что будет установлен либо db_instance_identifier, либо db_snapshot_identifier. См. документацию по снимку CLI для получения более подробной информации об особенностях. Terraform использует CLI для извлечения этих ресурсов.

...