首页 > 解决方案 > Terraform 不接受 allow_major_version_upgrade

问题描述

我有以下 rds 定义:

resource "aws_db_instance" "my-rds" {
  allocated_storage    = 20
  engine               = "mysql"
  engine_version       = "5.5.57"
  instance_class       = "db.t2.micro"
  identifier           = "my-db"
  name                 = "somename"
  username             = "${var.RDS_USERNAME}"   # username
  password             = "${var.RDS_PASSWORD}" # password
  db_subnet_group_name = "${aws_db_subnet_group.some-subnet-group.name}"
  parameter_group_name = "${aws_db_parameter_group.some-rds-parameter-group.name}"
  multi_az             = "false"
  vpc_security_group_ids = ["${aws_security_group.some-sg.id}"]
  storage_type         = "gp2"
  skip_final_snapshot = true
  backup_retention_period = 30    # how long we re going to keep your backups
  availability_zone = "${aws_subnet.some-private-1.availability_zone}"
  tags {
      Name = "some-tag-name"
  }

}

所以我只是添加:

allow_major_version_upgrade = true

...并得到

Error: Error applying plan:

1 error(s) occurred:

* aws_db_instance.my-rds: 1 error(s) occurred:

* aws_db_instance.my-rds: Error modifying DB Instance my-db: InvalidParameterCombination: No modifications were requested
    status code: 400, request id: 2aed626f-6063-4b69-ac37-654bd783fd37

?

标签: amazon-rdsterraform

解决方案


这可能与github 问题或一个或其他类似问题有关。与立即应用它们相比,未决修改似乎存在问题。例如,如果我在您的问题中设置了一个数据库并尝试设置allow_major_version_upgrade = true它,则第一次运行失败并出现相同的错误,但更改发生并且再次运行应用没有待处理的更改。但是,如果我也设置apply_immediately = true它在第一次运行时没有错误。

此外,在尝试重现此问题时,我注意到无效参数也会产生此错误,例如尝试指定在更改engine_version.


推荐阅读