amazon-web-services - 错误: Incorrect attribute value type - Terraform datasource(aws_ip_ranges)

标签 amazon-web-services terraform aws-security-group

当我尝试使用 terraform 数据源 (aws_ip_ranges) 获取服务“ec2”的可用 IP 地址范围时,出现错误。

provider "aws" {
   region = "${var.AWS_REGION}"
}
variable "AWS_REGION" {
   default = "eu-west-1"
}

data "aws_ip_ranges" "european_ec2" {
   regions = [ "eu-west-1" ]
   services = [ "ec2" ]
}
resource "aws_security_group" "from_europe" {
  name = "from_europe"
  ingress {
    from_port = "443"
    to_port = "443"
    protocol = "tcp"
    cidr_blocks = [ "${data.aws_ip_ranges.european_ec2.cidr_blocks}" ]
}
tags = {
  CreateDate = "${data.aws_ip_ranges.european_ec2.create_date}"
  SyncToken = "${data.aws_ip_ranges.european_ec2.sync_token}"
}
}

执行“terraform apply”时出现以下错误

  Error: Incorrect attribute value type

   on securitygroups.tf line 13, in resource "aws_security_group" 
 "from_europe":
  13:     cidr_blocks      = 
  ["${data.aws_ip_ranges.european_ec2.cidr_blocks}"]

  Inappropriate value for attribute "cidr_blocks": element 0: string 
  required.

版本: Terraform v0.12.6 +provider.aws v2.23.0

请帮忙解决这个问题。

最佳答案

在 Terraform 0.12 中,参数的冗余数组大括号语法从必需变为错误。您可以更新代码并相应地利用一流变量表达式来解决问题:

resource "aws_security_group" "from_europe" {
  name = "from_europe"

  ingress {
    from_port   = "443"
    to_port     = "443"
    protocol    = "tcp"
    cidr_blocks = data.aws_ip_ranges.european_ec2.cidr_blocks
  }
}

关于amazon-web-services - 错误: Incorrect attribute value type - Terraform datasource(aws_ip_ranges),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57504755/

相关文章:

Terraform depend_on 另一个路径中的另一个模块

azure - Terraform 导入 - 资源标签重要吗?

amazon-web-services - AWS 雅典娜。无法使用 CSV list 作为位置

node.js - AWS ElasticBeanstalk Amazon Linux 2 .platform 文件夹不复制 NGINX conf

amazon-web-services - terraform aws_secretsmanager_secret_version 设置 base64encode(file ("./src/secret.json")) 作为值

amazon-elastic-beanstalk - Elastic Beanstalk : Migrate DB Security Group to VPC Security Group

amazon-web-services - 为什么我无法在 Azure VNET 中选择子网可用区域以确保高可用性?

amazon-web-services - AWS : Security Group Auto Scale

c# - 使用 Amazon SQS 的 .net 应用程序示例

wordpress - 在 wordpress 中将默认 URL 更改为 root 时遇到问题