Неправильное значение для атрибута "bucket_arn": требуется строка при создании ресурса пожарного шланга AWS в terraform - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь изучить terraform здесь, но я сталкиваюсь с некоторой проблемой при создании ресурса AWS.

Я пытаюсь создать поток доставки AWS firehose, но я получаю сообщение об ошибке при попытке создать план.

Я пытаюсь передать роль и созданный мною s3 бакену, но получаю ошибку.

заранее спасибо.

terraform {
    required_version = ">=0.12.0" 
}

provider "aws" {
    version = "~> 2.0"
    region = "ap-south-1"
}

data "aws_caller_identity" "current" {}

resource "aws_s3_bucket" "bucket1" {
    bucket = "${data.aws_caller_identity.current.account_id}-kinesis-firehose-bucket1"
}

resource "aws_iam_role" "firehose_role" {
  name = "firehose_test_role"

  assume_role_policy = <<EOF
  {
      "Version": "2012-10-17",
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Principal": {
        "Service": "firehose.amazonaws.com"
      },
      "Effect": "Allow",
      "Sid": ""
    }
  ]  
  }
  EOF
}

resource "aws_kinesis_firehose_delivery_stream" "test_stream" {
    name = "big-data-cert-delivery-stream"
    destination = "s3"

    s3_configuration {
        role_arn = "${aws_iam_role.firehose_role}"
        bucket_arn = "${aws_s3_bucket.bucket1}"
    } 
}

Error: Incorrect attribute value type

  on kinesis-stream.tf line 41, in resource "aws_kinesis_firehose_delivery_stream" "test_stream":
  41:         role_arn = "${aws_iam_role.firehose_role}"
    |----------------
    | aws_iam_role.firehose_role is object with 13 attributes

Inappropriate value for attribute "role_arn": string required.


Error: Incorrect attribute value type

  on kinesis-stream.tf line 42, in resource "aws_kinesis_firehose_delivery_stream" "test_stream":
  42:         bucket_arn = "${aws_s3_bucket.bucket1}"
    |----------------
    | aws_s3_bucket.bucket1 is object with 25 attributes

Inappropriate value for attribute "bucket_arn": string required.

1 Ответ

0 голосов
/ 09 апреля 2020

добавление .arn в конце ресурса (роль iam, корзина s3) работает.

    required_version = ">=0.12.0" 
}

provider "aws" {
    version = "~> 2.0"
    region = "ap-south-1"
}

data "aws_caller_identity" "current" {}

resource "aws_s3_bucket" "bucket1" {
    bucket = "${data.aws_caller_identity.current.account_id}-kinesis-firehose-bucket1"
}

resource "aws_iam_role" "firehose_role" {
  name = "firehose_test_role"

  assume_role_policy = <<EOF
  {
      "Version": "2012-10-17",
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Principal": {
        "Service": "firehose.amazonaws.com"
      },
      "Effect": "Allow",
      "Sid": ""
    }
  ]  
  }
  EOF
}


resource "aws_kinesis_firehose_delivery_stream" "test_stream" {
    name = "big-data-cert-delivery-stream"
    destination = "s3"

    s3_configuration {
        role_arn = aws_iam_role.firehose_role.arn
        bucket_arn = aws_s3_bucket.bucket1.arn
    } 
}
...