1
+ locals {
2
+ cloud_connectors_list = [for con in var . cloud_connectors : con . name ]
3
+ }
4
+
1
5
# ################################
2
6
# # Stackguardian Workflow Group
3
7
# ################################
4
8
module "stackguardian_workflow_group" {
5
- source = " ../terraform-stackguardian-modules/stackguardian_workflow_group"
9
+ for_each = toset (var. workflow_groups )
10
+ source = " ./stackguardian_workflow_group"
6
11
api_key = var. api_key
7
12
org_name = var. org_name
8
- workflow_group_name = var. workflow_group_name
9
- }
10
-
11
- # ################################
12
- # # Stackguardian aws oidc
13
- # ################################
14
- module "aws_oidc" {
15
- source = " ../terraform-stackguardian-modules/aws_oidc"
16
- account_number = var. account_number
17
- client_id = var. client_id
18
- region = var. region
19
- aws_policy = var. aws_policy
20
- role_name = var. role_name
21
- url = var. url
22
- org_name = var. org_name
13
+ workflow_group_name = each. key
23
14
}
24
15
25
16
# ################################
26
17
# # Stackguardian cloud connector
27
18
# ################################
28
19
module "stackguardian_connector_cloud" {
29
- source = " ../terraform-stackguardian-modules/stackguardian_connector_cloud"
30
- cloud_connector_name = var. cloud_connector_name
31
- connector_type = var. connector_type
20
+ for_each = { for c in var . cloud_connectors : c . name => c }
21
+ source = " ./stackguardian_connector_cloud"
22
+ cloud_connector_name = each. key
23
+ connector_type = each. value . connector_type
24
+ role_arn = each. value . role_arn
25
+ role_external_id = each. value . aws_role_external_id
32
26
api_key = var. api_key
33
27
org_name = var. org_name
34
-
35
- role_arn = module. aws_oidc . oidc_role_arn
36
-
37
- aws_access_key_id = var. aws_access_key_id
38
- aws_secret_access_key = var. aws_secret_access_key
39
- aws_default_region = var. aws_default_region
40
-
41
- armTenantId = var. armTenantId
42
- armSubscriptionId = var. armSubscriptionId
43
- armClientId = var. client_id
44
- armClientSecret = var. armClientSecret
45
28
}
46
29
47
30
# ###############################
48
31
# Stackguardian vcs
49
32
# ###############################
33
+ /*
50
34
locals {
51
35
# Determine which VCS connector to create based on non-empty credentials
52
36
selected_connector = merge(
@@ -81,26 +65,28 @@ locals {
81
65
} : {}
82
66
)
83
67
}
68
+ */
69
+
84
70
85
- module "stackguardian_connector_vcs " {
86
- source = " ../terraform-stackguardian-modules /stackguardian_connector_vcs"
87
- stackguardian_connector_vcs_name = var. stackguardian_connector_vcs_name
71
+ module "vcs_connector " {
72
+ source = " ./stackguardian_connector_vcs"
73
+ vcs_connectors = var. vcs_connectors
88
74
api_key = var. api_key
89
75
org_name = var. org_name
90
- stackguardian_connector_kinds = local. selected_connector
91
76
}
92
77
78
+
93
79
# ###############################
94
80
# Stackguardian role
95
81
# ###############################
96
82
module "stackguardian_role" {
97
- source = " ../terraform-stackguardian-modules /stackguardian_role"
83
+ source = " ./stackguardian_role"
98
84
api_key = var. api_key
99
85
org_name = var. org_name
100
86
role_name = var. role_name
101
- cloud_connector = var. cloud_connector
102
- stackguardian_connector_vcs = var. stackguardian_connector_vcs
103
- workflow_group = var. workflow_group
87
+ cloud_connectors = [ for con in var . cloud_connectors : con . name ]
88
+ vcs_connectors = [ for vcs in var . vcs_connectors : vcs . name ]
89
+ workflow_groups = var. workflow_groups
104
90
template_list = var. template_list
105
91
# depends_on = [ module.stackguardian_workflow_group, module.stackguardian_connector_cloud, module.stackguardian_connector_vcs ]
106
92
}
@@ -109,10 +95,26 @@ module "stackguardian_role" {
109
95
# # Stackguardian role assignment
110
96
# ################################
111
97
module "stackguardian_role_assignment" {
112
- source = " ../terraform-stackguardian-modules /stackguardian_role_assignment"
98
+ source = " ./stackguardian_role_assignment"
113
99
api_key = var. api_key
114
100
org_name = var. org_name
115
101
role_name = var. role_name
116
102
user_or_group = var. user_or_group
117
103
entity_type = var. entity_type
118
- }
104
+ depends_on = [ module . stackguardian_role ]
105
+ }
106
+
107
+ /*
108
+ # ################################
109
+ # # Create OIDC provider and StackGuardian Role in AWS
110
+ # ################################
111
+ module "aws_oidc" {
112
+ count = var.account_number != null ? 1 : 0
113
+ source = "./aws_oidc"
114
+ account_number = var.account_number
115
+ region = var.region
116
+ aws_policy = var.aws_policy
117
+ role_name = var.role_name
118
+ org_name = var.org_name
119
+ }
120
+ */
0 commit comments