This is my code, am just starting to learn by MYSELF (and dataSources ofc) some AWS skills on terraform.
When i want apply my code that Error pop :
│ Error: Reference to undeclared resource
│
│ on s3_3_teams.tf line 87, in resource “aws_s3_bucket_policy” “bucket_a_policy”:
│ 87: bucket = aws_s3_bucket.bucket-team-a.id
│
│ A managed resource “aws_s3_bucket” “bucket-team-a” has not been declared in the root module.
There is my code :
#S3 Bucket for TEAM A, B, C created + policy A, B, C
resource "aws_s3_bucket" "Bucket_TEAM_A" {
bucket = "bucket-team-a"
}
resource "aws_s3_bucket_policy" "bucket_a_policy" {
bucket = aws_s3_bucket.bucket-team-a.id
policy = jsonencode({
Version = "2012-10-17",
Statement = [
{
Sid = "DenyAccess",
Effect = "Deny",
Principal = {
"AWS" : "*"
},
Action = "s3:*",
Resource = "arn:aws:s3:::bucket-team-a",
Condition = {
StringNotLike = {
PrincipalArn = {
"aws" : "arn:aws:iam::767398066589:role/team_a",
"aws" : "arn:aws:iam::767398066589:role/team_b",
"aws" : "arn:aws:iam::767398066589:role/team_c",
"aws" : "arn:aws:iam::767398066589:role/admin",
"aws" : "arn:aws:iam::767398066589:user/admin",
"aws" : "arn:aws:iam::767398066589:user/root"
}
}
}
}
]
})
}
Thanks a lot for any help