@@ -24,6 +24,8 @@ type TerraformDeployment struct {
2424
2525 terraformResources map [string ]cdktf.TerraformHclModule
2626 terraformInfraResources map [string ]cdktf.TerraformHclModule
27+ terraformIdentityResources map [string ]cdktf.TerraformHclModule
28+ identityBlueprints map [string ]* ResourceBlueprint
2729 terraformVariables map [string ]cdktf.TerraformVariable
2830 instancedTerraformVariables map [string ]map [string ]cdktf.TerraformVariable
2931}
@@ -53,6 +55,8 @@ func NewTerraformDeployment(engine *TerraformEngine, stackName string) *Terrafor
5355 engine : engine ,
5456 terraformResources : map [string ]cdktf.TerraformHclModule {},
5557 terraformInfraResources : map [string ]cdktf.TerraformHclModule {},
58+ terraformIdentityResources : map [string ]cdktf.TerraformHclModule {},
59+ identityBlueprints : map [string ]* ResourceBlueprint {},
5660 terraformVariables : map [string ]cdktf.TerraformVariable {},
5761 instancedTerraformVariables : map [string ]map [string ]cdktf.TerraformVariable {},
5862 serviceIdentities : map [string ]map [string ]interface {}{},
@@ -219,16 +223,25 @@ func (td *TerraformDeployment) resolveService(name string, spec *app_spec_schema
219223 return nil , err
220224 }
221225
222- idModule := cdktf .NewTerraformHclModule (td .stack , jsii .Sprintf ("%s_%s_role" , name , identityPlugin .Name ), & cdktf.TerraformHclModuleConfig {
226+ identityModuleName := fmt .Sprintf ("%s_%s_role" , name , identityPlugin .Name )
227+
228+ // Create variables for the identity blueprint
229+ td .createVariablesForIntent (identityModuleName , & id )
230+
231+ idModule := cdktf .NewTerraformHclModule (td .stack , jsii .String (identityModuleName ), & cdktf.TerraformHclModuleConfig {
223232 Source : jsii .String (identityPlugin .Deployment .Terraform ),
224- Variables : & id . Properties ,
233+ Variables : & map [ string ] interface {}{} ,
225234 })
226235
227236 idModule .Set (jsii .String ("suga" ), map [string ]interface {}{
228237 "name" : jsii .String (name ),
229238 "stack_id" : td .stackId .Result (),
230239 })
231240
241+ // Store the identity module and blueprint for later token resolution
242+ td .terraformIdentityResources [identityModuleName ] = idModule
243+ td .identityBlueprints [identityModuleName ] = & id
244+
232245 identityModuleOutputs [identityPlugin .IdentityType ] = idModule .Get (jsii .String ("suga" ))
233246 }
234247 }
0 commit comments