Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita2ba69d

Browse files
authored
fix: Parse resources from Terraform Modules (#1501)
Fixes when Terraform modules are used to primariy provisioninfrastructure!
1 parent9b1ef29 commita2ba69d

File tree

1 file changed

+23
-5
lines changed

1 file changed

+23
-5
lines changed

‎provisioner/terraform/provision.go

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -290,8 +290,17 @@ func parseTerraformPlan(ctx context.Context, terraform *tfexec.Terraform, planfi
290290
resources:=make([]*proto.Resource,0)
291291
agents:=map[string]*proto.Agent{}
292292

293+
tfResources:=plan.Config.RootModule.Resources
294+
varappendResourcesfunc(mod*tfjson.ConfigModule)
295+
appendResources=func(mod*tfjson.ConfigModule) {
296+
for_,module:=rangemod.ModuleCalls {
297+
appendResources(module.Module)
298+
}
299+
tfResources=append(tfResources,mod.Resources...)
300+
}
301+
293302
// Store all agents inside the maps!
294-
for_,resource:=rangeplan.Config.RootModule.Resources {
303+
for_,resource:=rangetfResources {
295304
ifresource.Type!="coder_agent" {
296305
continue
297306
}
@@ -340,7 +349,7 @@ func parseTerraformPlan(ctx context.Context, terraform *tfexec.Terraform, planfi
340349
agents[resource.Address]=agent
341350
}
342351

343-
for_,resource:=rangeplan.PlannedValues.RootModule.Resources {
352+
for_,resource:=rangetfResources {
344353
ifresource.Mode==tfjson.DataResourceMode {
345354
continue
346355
}
@@ -407,8 +416,17 @@ func parseTerraformApply(ctx context.Context, terraform *tfexec.Terraform, state
407416
}
408417
agents:=map[string]*proto.Agent{}
409418

419+
tfResources:=state.Values.RootModule.Resources
420+
varappendResourcesfunc(resource*tfjson.StateModule)
421+
appendResources=func(mod*tfjson.StateModule) {
422+
for_,module:=rangemod.ChildModules {
423+
appendResources(module)
424+
}
425+
tfResources=append(tfResources,mod.Resources...)
426+
}
427+
410428
// Store all agents inside the maps!
411-
for_,resource:=rangestate.Values.RootModule.Resources {
429+
for_,resource:=rangetfResources {
412430
ifresource.Type!="coder_agent" {
413431
continue
414432
}
@@ -439,7 +457,7 @@ func parseTerraformApply(ctx context.Context, terraform *tfexec.Terraform, state
439457
}
440458

441459
// Manually associate agents with instance IDs.
442-
for_,resource:=rangestate.Values.RootModule.Resources {
460+
for_,resource:=rangetfResources {
443461
ifresource.Type!="coder_agent_instance" {
444462
continue
445463
}
@@ -471,7 +489,7 @@ func parseTerraformApply(ctx context.Context, terraform *tfexec.Terraform, state
471489
}
472490
}
473491

474-
for_,resource:=rangestate.Values.RootModule.Resources {
492+
for_,resource:=rangetfResources {
475493
ifresource.Mode==tfjson.DataResourceMode {
476494
continue
477495
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp