8
8
package io .harness .iacm .execution ;
9
9
10
10
import static io .harness .ci .commonconstants .CIExecutionConstants .WORKSPACE_ID ;
11
- import static io .harness .data .structure .EmptyPredicate .isEmpty ;
12
11
13
12
import io .harness .beans .entities .Workspace ;
14
13
import io .harness .beans .entities .WorkspaceVariables ;
@@ -54,57 +53,44 @@ public void createExecution(Ambiance ambiance, String workspaceId) {
54
53
55
54
private Map <String , String > getWorkspaceVariables (Ambiance ambiance , String org , String projectId , String accountId ,
56
55
String workspaceID , String command , Workspace workspaceInfo ) {
57
- String pluginEnvPrefix = "PLUGIN_" ;
58
-
59
56
WorkspaceVariables [] variables = getIACMWorkspaceVariables (org , projectId , accountId , workspaceID );
60
57
HashMap <String , String > pluginEnvs = new HashMap <>();
61
58
62
- HashMap <String , String > env = new HashMap <>();
63
- HashMap <String , String > tfInputEnvs = new HashMap <>();
59
+ // Plugin system env variables
60
+ pluginEnvs .put ("PLUGIN_ROOT_DIR" , workspaceInfo .getRepository_path ());
61
+ pluginEnvs .put ("PLUGIN_TF_VERSION" , workspaceInfo .getProvisioner_version ());
62
+ pluginEnvs .put ("PLUGIN_ENDPOINT_VARIABLES" , getTerraformEndpointsInfo (ambiance , workspaceID ));
63
+
64
+ if (!Objects .equals (command , "" )) {
65
+ pluginEnvs .put ("PLUGIN_COMMAND" , command );
66
+ }
64
67
65
68
for (WorkspaceVariables variable : variables ) {
66
69
switch (variable .getKind ()) {
67
70
case "env" :
68
71
if (Objects .equals (variable .getValue_type (), "secret" )) {
69
- env .put (variable .getKey (), "${ngSecretManager.obtain(\" " + variable .getKey () + "\" , -871314908)}" );
72
+ pluginEnvs .put ("PLUGIN_WS_ENV_VAR_" + variable .getKey (),
73
+ "${ngSecretManager.obtain(\" " + variable .getValue () + "\" , " + ambiance .getExpressionFunctorToken ()
74
+ + ")}" );
70
75
} else {
71
- env .put (variable .getKey (), variable .getValue ());
76
+ pluginEnvs .put ("PLUGIN_WS_ENV_VAR_" + variable .getKey (), variable .getValue ());
72
77
}
73
78
break ;
74
79
case "tf" :
75
80
if (Objects .equals (variable .getValue_type (), "secret" )) {
76
- tfInputEnvs .put (variable .getKey (), "${ngSecretManager.obtain(\" " + variable .getKey () + "\" , -871314908)}" );
81
+ pluginEnvs .put ("PLUGIN_WS_TF_VAR_" + variable .getKey (),
82
+ "${ngSecretManager.obtain(\" " + variable .getValue () + "\" , " + ambiance .getExpressionFunctorToken ()
83
+ + ")}" );
77
84
} else {
78
- tfInputEnvs .put (variable .getKey (), variable .getValue ());
85
+ pluginEnvs .put ("PLUGIN_WS_TF_VAR_" + variable .getKey (), variable .getValue ());
79
86
}
80
87
break ;
81
88
default :
82
89
break ;
83
90
}
84
91
}
85
92
86
- // Plugin system env variables
87
- pluginEnvs .put ("ROOT_DIR" , workspaceInfo .getRepository_path ());
88
- pluginEnvs .put ("TF_VERSION" , workspaceInfo .getProvisioner_version ());
89
- pluginEnvs .put ("ENDPOINT_VARIABLES" , getTerraformEndpointsInfo (ambiance , workspaceID ));
90
- pluginEnvs .put ("VARS" , transformMapToString (tfInputEnvs ));
91
- pluginEnvs .put ("ENV_VARS" , transformMapToString (env ));
92
-
93
- if (!Objects .equals (command , "" )) {
94
- pluginEnvs .put ("COMMAND" , command );
95
- }
96
- return prepareEnvsMaps (pluginEnvs , pluginEnvPrefix );
97
- }
98
-
99
- private Map <String , String > prepareEnvsMaps (Map <String , String > envs , String prefix ) {
100
- Map <String , String > envVars = new HashMap <>();
101
- if (!isEmpty (envs )) {
102
- for (Map .Entry <String , String > entry : envs .entrySet ()) {
103
- String key = prefix + entry .getKey ();
104
- envVars .put (key , entry .getValue ());
105
- }
106
- }
107
- return envVars ;
93
+ return pluginEnvs ;
108
94
}
109
95
110
96
private WorkspaceVariables [] getIACMWorkspaceVariables (
@@ -128,6 +114,7 @@ public Map<String, String> getIACMEnvVariables(Ambiance ambiance, PluginStepInfo
128
114
String command = extractOperation (stepInfo );
129
115
return buildIACMEnvVariables (ambiance , workspaceId , command );
130
116
}
117
+
131
118
private Map <String , String > buildIACMEnvVariables (Ambiance ambiance , String workspaceId , String command ) {
132
119
NGAccess ngAccess = AmbianceUtils .getNgAccess (ambiance );
133
120
0 commit comments