12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/terrafying/components/ca.rb', line 12
def reference_keypair(ctx, name)
key_ident = "#{@name}-#{tf_safe(name)}"
ref = {
name: name,
ca: self,
source: {
cert: File.join("s3://", @bucket, @prefix, @name, name, "cert"),
key: File.join("s3://", @bucket, @prefix, @name, name, "key"),
},
resources: [
"aws_s3_bucket_object.#{key_ident}-key",
"aws_s3_bucket_object.#{key_ident}-cert"
],
iam_statement: {
Effect: "Allow",
Action: [
"s3:GetObjectAcl",
"s3:GetObject",
],
Resource: [
"arn:aws:s3:::#{File.join(@bucket, @prefix, @name, "ca.cert")}",
"arn:aws:s3:::#{File.join(@bucket, @prefix, @name, name, "cert")}",
"arn:aws:s3:::#{File.join(@bucket, @prefix, @name, name, "key")}",
]
}
}
if self == ctx
ref[:resources] << "aws_s3_bucket_object.#{@name}-cert"
end
ref
end
|