在我的一个网络中,我不小心配置了错误的值,导致
资源创建失败。
但我更希望所有流程都按如下方式执行
一笔交易
.
Terraform在遇到错误时不会自动回滚。
相反,您的地形状态文件已使用任何
已成功完成的资源。请解决上面的错误
我的问题是:
在某些资源已创建但某些资源已失败的情况下?
下面是一个简单的例子来重现这个问题。
在局部变量中
'az_list'
仅将值从“名称”更改为“区域ID”:
az_list = "${data.aws_availability_zones.available.zone_ids}"
资源.tf:
provider "aws" {
region = "${var.region}"
}
### Local data ###
data "aws_availability_zones" "available" {}
locals {
#In order to reproduce an error: Change 'names' to 'zone_ids'
az_list = "${data.aws_availability_zones.available.names}"
}
### Vpc ###
resource "aws_vpc" "base_vpc" {
cidr_block = "${var.cidr}"
instance_tenancy = "default"
enable_dns_hostnames = "false"
enable_dns_support = "true"
}
### Subnets ###
resource "aws_subnet" "private" {
vpc_id = "${aws_vpc.base_vpc.id}"
cidr_block = "${cidrsubnet( var.cidr, 8, count.index + 1 + length(local.az_list) )}"
availability_zone = "${element(local.az_list, count.index)}"
count = 2
}
resource "aws_subnet" "public" {
vpc_id = "${aws_vpc.base_vpc.id}"
cidr_block = "${cidrsubnet(var.cidr, 8, count.index + 1)}"
availability_zone = "${element(local.az_list, count.index)}"
count = 2
map_public_ip_on_launch = true
}
变量.tf:
variable "region" {
description = "Name of region"
default = "ap-south-1"
}
variable "cidr" {
description = "The CIDR block for the VPC"
default = "10.0.0.0/16"
}