Commit 4331181 1 parent 8373b99 commit 4331181 Copy full SHA for 4331181
File tree 2 files changed +49
-19
lines changed
2 files changed +49
-19
lines changed Original file line number Diff line number Diff line change 1
- variable "ssm_parameter " {
1
+ variable "secret " {
2
2
type = map (
3
3
object ({
4
4
name = string
5
- type = optional (string , " SecureString" )
6
5
})
7
6
)
8
7
default = {}
9
8
nullable = false
10
9
}
11
10
12
- resource "aws_ssm_parameter" "ssm_parameter" {
13
- for_each = var. ssm_parameter
11
+ variable "external_secret" {
12
+ type = map (
13
+ object ({
14
+ arn = optional (string )
15
+ name = optional (string )
16
+ })
17
+ )
18
+ default = {}
19
+ nullable = false
20
+ }
14
21
15
- name = each. value
16
- type = each. value . type
17
- value = " "
22
+ resource "aws_secretsmanager_secret" "secret" {
23
+ for_each = var. secret
18
24
19
- lifecycle {
20
- ignore_changes = [value ]
25
+ name = each. value . name
26
+ }
27
+
28
+ data "aws_secretsmanager_secret" "secret" {
29
+ for_each = {
30
+ for secret_id , definition in var . external_secret : secret_id => definition . name
31
+ if definition . name != null && definition . arn == null
21
32
}
33
+ name = each. value . name
22
34
}
23
35
24
- output "ssm_parameter " {
25
- value = {
26
- for parameter_id , definition in aws_secretsmanager_secret . secret : parameter_id => {
36
+ output "secret " {
37
+ value = merge ( {
38
+ for secret , definition in aws_secretsmanager_secret . secret : secret => {
27
39
arn = definition.arn
28
40
}
29
- }
41
+ },
42
+ {
43
+ for secret , definition in data . aws_secretsmanager_secret . secret : secret => {
44
+ arn = definition.arn
45
+ }
46
+ },
47
+ {
48
+ for secret_id , definition in var . external_secret : secret_id => {
49
+ arn = definition.arn
50
+ } if definition. arn != null
51
+ },
52
+ )
30
53
}
Original file line number Diff line number Diff line change 1
- variable "secret " {
1
+ variable "ssm_parameter " {
2
2
type = map (
3
3
object ({
4
4
name = string
5
+ type = optional (string , " SecureString" )
5
6
})
6
7
)
7
8
default = {}
8
9
nullable = false
9
10
}
10
11
11
- resource "aws_secretsmanager_secret " "secret " {
12
- for_each = var. secret
12
+ resource "aws_ssm_parameter " "ssm_parameter " {
13
+ for_each = var. ssm_parameter
13
14
14
- name = each. value . name
15
+ name = each. value
16
+ type = each. value . type
17
+ value = " "
18
+
19
+ lifecycle {
20
+ ignore_changes = [value ]
21
+ }
15
22
}
16
23
17
- output "secret " {
24
+ output "ssm_parameter " {
18
25
value = {
19
- for secret , definition in aws_secretsmanager_secret . secret : secret => {
26
+ for parameter_id , definition in aws_secretsmanager_secret . secret : parameter_id => {
20
27
arn = definition.arn
21
28
}
22
29
}
You can’t perform that action at this time.
0 commit comments