为了自动创建资源组,我想使用一个通用Terraform脚本
例如,下面的脚本根据*.tfvars.json文件中提供的输入值在Azure中创建资源组
main.tf
# Configure the Microsoft Azure provider
provider "azurerm" {
features {}
}
# Create a Resource Group if it doesn’t exist
resource "azurerm_resource_group" "example" {
name = var.resou
概述
我想要创建一个Route53 DNS记录。取决于变量,它要么是CNAME记录,要么是别名记录。
在第一次运行时,这是可行的,因为这两个记录都不存在。
但是,当更新变量var.route_53_redirection_type以更改记录类型时,terraform apply失败,因为它试图在删除旧记录之前创建新记录。
Error: [ERR]: Error building changeset: InvalidChangeBatch: [RRSet of type A with DNS name redirect is not permitted because a conflicting
我有亚马逊网络服务clientVPN,它是从亚马逊网络服务控制台手动创建的,它有大约20多个路由表条目。现在,我想要对此进行terraform,这样我们就可以使用terraform添加任何新的路由。 我已经使用terraform导入导入了ClientVPN信息。要导入所有现有路由,我可以一次导入一条路由,对于每个路由导入,我需要在main.tf中添加资源条目,如下所示: Command used to import the route table entry:
$ terraform import aws_ec2_client_vpn_route.example cvpn-endpoint-
我正在创建两个公共子网,每个子网都包含一个nat网关。我的代码,尝试为每个子网创建这些nats,然后将eip分配给每个子网。但是,由于my每个启动了代码块,看起来分配id变成了us*,而不是eip的id。
Variables.tf:
variable "public_subnet_numbers" {
type = map(number)
description = "Map of AZ to a number that should be used for public subnets"
default = {
"u
我正在学习terraform,在下面的示例中,第一部分将一个VM放入并返回该VM的id。第二部分向vm添加一个额外的磁盘。我必须在virtual_machine_id参数中输入一个id,但我不知道如何输入(cloudstack_instance.worker$name.id不起作用)。有人能给点提示吗? resource "cloudstack_instance" "worker" {
for_each = {
for name, machine in var.machines :
name => machine
if m
我对Terraform比较陌生,我希望简化一些我需要使用r53创建的私有for_each区域。
我有以下本地信息,用于在这些区域中创建私有区域和相关的A记录:
locals {
private_zones = [
{
name = "foo.com"
txt = [
"This is the txt record for foo.com"]
ttl = 300
records = {
"host1" = "192.168.0.1",