可能是某些时候我不理解的东西。
执行计划然后申请。由于未找到快照,因此创建了少量资源并失败。
aws_lambda_function.LambdaShipRdsLog: Creation complete
aws_rds_cluster_parameter_group.default: Creation complete
aws_db_parameter_group.default: Creation complete
aws_s3_bucket.RdsLogShipment: Creation complete
Error applying plan:
发生1个错误:
* aws_rds_cluster.default: Error creating RDS Cluster: DBClusterSnapshotNotFoundFault: DBClusterSnapshot not found: xy
status code: 404, request id: 123
所以,我修复了问题并触发了计划并再次申请,但最终导致资源存在错误。
发生了3次错误:
* aws_db_parameter_group.default: Error creating DB Parameter Group: DBParameterGroupAlreadyExists: Parameter group xyz already exists
status code: 400, request id: 123
* aws_lambda_function.LambdaShipRdsLog: Error creating Lambda function: ResourceConflictException: Function already exist: xyz
status code: 409, request id: 123
* aws_rds_cluster_parameter_group.default: Error creating DB Cluster Parameter Group: DBParameterGroupAlreadyExists: Parameter group xyz already exists
status code: 400, request id: 123
根据我的理解,正在创建的任何资源都将在状态文件中更新,下次当我为配置执行terraform plan
时,它知道资源已经存在并且它将跳过它,但事实并非如此。有人能解释我错过的东西吗?感谢。
答案 0 :(得分:1)
最有可能的是,如果没有看到Terraform文件和直接计划/应用,您可能手动创建了具有相同名称的资源或者Terraform创建了资源并且手动删除了该资源。当你手动删除东西时,它会产生依赖性问题。