Terraform aws_s3_bucket_策略语法不清楚

Terraform aws_s3_bucket_策略语法不清楚,terraform,Terraform,在中,我们提供了如下所附的标记。我找不到任何关于“b”字段的用途以及一般应如何使用的内容 resource "aws_s3_bucket" "b" { bucket = "my_tf_test_bucket" } resource "aws_s3_bucket_policy" "b" { bucket = "${aws_s3_bucket.b.id}" policy =<<POLICY { "Version": "2012-10-17", "Id": "MYBU

在中,我们提供了如下所附的标记。我找不到任何关于“b”字段的用途以及一般应如何使用的内容

resource "aws_s3_bucket" "b" {
  bucket = "my_tf_test_bucket"
}

resource "aws_s3_bucket_policy" "b" {
  bucket = "${aws_s3_bucket.b.id}"
  policy =<<POLICY
{
  "Version": "2012-10-17",
  "Id": "MYBUCKETPOLICY",
  "Statement": [
    {
      "Sid": "IPAllow",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": "arn:aws:s3:::my_tf_test_bucket/*",
      "Condition": {
         "IpAddress": {"aws:SourceIp": "8.8.8.8/32"}
      } 
    } 
  ]
}
POLICY
}
资源“aws\u s3\u bucket”“b”{
bucket=“my\u tf\u test\u bucket”
}
资源“aws\U s3\U bucket\U策略”“b”{
bucket=“${aws\u s3\u bucket.b.id}”
policy=“b”只是您正在创建的资源的名称

地形资源在“块”中定义,每个资源块创建一个给定类型(第一个参数)和名称(第二个参数)的资源。类型和名称的组合必须是唯一的

因此,在您的示例中,您正在创建类型为
aws\u s3\u bucket
和名称为
b
的资源

定义的每个资源都有一个
id
,您可以使用类似TYPE.NAME.id的语法在其他资源中引用此资源,例如
${aws\u s3\u bucket.b.id}

您可以在以下文档中找到更多信息: