6
6
"github.com/hashicorp/go-version"
7
7
"github.com/hashicorp/hcl/v2"
8
8
"github.com/hashicorp/hcl/v2/gohcl"
9
- "github.com/terraform-linters/tflint-plugin-sdk/terraform"
9
+ "github.com/terraform-linters/tflint-plugin-sdk/terraform/addrs "
10
10
"github.com/terraform-linters/tflint-plugin-sdk/terraform/configs"
11
11
"github.com/terraform-linters/tflint-plugin-sdk/tflint"
12
12
"github.com/zclconf/go-cty/cty/gocty"
@@ -105,7 +105,7 @@ func (r *Runner) WalkResourceBlocks(resourceType, blockType string, walker func(
105
105
}
106
106
107
107
// WalkResources visits all specified resources from Files.
108
- func (r * Runner ) WalkResources (resourceType string , walker func (* terraform .Resource ) error ) error {
108
+ func (r * Runner ) WalkResources (resourceType string , walker func (* configs .Resource ) error ) error {
109
109
for _ , file := range r .Files {
110
110
resources , _ , diags := file .Body .PartialContent (& hcl.BodySchema {
111
111
Blocks : []hcl.BlockHeaderSchema {
@@ -140,7 +140,7 @@ func (r *Runner) WalkResources(resourceType string, walker func(*terraform.Resou
140
140
}
141
141
142
142
// WalkModuleCalls visits all module calls from Files.
143
- func (r * Runner ) WalkModuleCalls (walker func (* terraform .ModuleCall ) error ) error {
143
+ func (r * Runner ) WalkModuleCalls (walker func (* configs .ModuleCall ) error ) error {
144
144
for _ , file := range r .Files {
145
145
calls , _ , diags := file .Body .PartialContent (& hcl.BodySchema {
146
146
Blocks : []hcl.BlockHeaderSchema {
@@ -171,7 +171,7 @@ func (r *Runner) WalkModuleCalls(walker func(*terraform.ModuleCall) error) error
171
171
}
172
172
173
173
// Backend returns the terraform backend configuration.
174
- func (r * Runner ) Backend () (* terraform .Backend , error ) {
174
+ func (r * Runner ) Backend () (* configs .Backend , error ) {
175
175
for _ , file := range r .Files {
176
176
tfcfg , _ , diags := file .Body .PartialContent (& hcl.BodySchema {
177
177
Blocks : []hcl.BlockHeaderSchema {
@@ -193,7 +193,7 @@ func (r *Runner) Backend() (*terraform.Backend, error) {
193
193
}
194
194
195
195
for _ , backendBlock := range backendCfg .Blocks {
196
- return & terraform .Backend {
196
+ return & configs .Backend {
197
197
Type : backendBlock .Labels [0 ],
198
198
TypeRange : backendBlock .LabelRanges [0 ],
199
199
Config : backendBlock .Body ,
@@ -229,7 +229,7 @@ func (r *Runner) Config() (*configs.Config, error) {
229
229
for _ , block := range content .Blocks {
230
230
switch block .Type {
231
231
case "backend" :
232
- config .Module .Backend = & terraform .Backend {
232
+ config .Module .Backend = & configs .Backend {
233
233
Type : block .Labels [0 ],
234
234
TypeRange : block .LabelRanges [0 ],
235
235
Config : block .Body ,
@@ -316,7 +316,7 @@ func (r *Runner) EnsureNoError(err error, proc func() error) error {
316
316
// without depending on Terraform. Some operations have been omitted for ease of implementation.
317
317
// As such, it is expected to parse the minimal code needed for testing.
318
318
// https://github.com/hashicorp/terraform/blob/v0.12.26/configs/resource.go#L78-L288
319
- func simpleDecodeResouceBlock (resource * hcl.Block ) (* terraform .Resource , hcl.Diagnostics ) {
319
+ func simpleDecodeResouceBlock (resource * hcl.Block ) (* configs .Resource , hcl.Diagnostics ) {
320
320
content , resourceRemain , diags := resource .Body .PartialContent (& hcl.BodySchema {
321
321
Attributes : []hcl.AttributeSchema {
322
322
{
@@ -352,15 +352,15 @@ func simpleDecodeResouceBlock(resource *hcl.Block) (*terraform.Resource, hcl.Dia
352
352
forEach = attr .Expr
353
353
}
354
354
355
- var ref * terraform .ProviderConfigRef
355
+ var ref * configs .ProviderConfigRef
356
356
if attr , exists := content .Attributes ["provider" ]; exists {
357
357
ref , diags = decodeProviderConfigRef (attr .Expr )
358
358
if diags .HasErrors () {
359
359
return nil , diags
360
360
}
361
361
}
362
362
363
- managed := & terraform .ManagedResource {}
363
+ managed := & configs .ManagedResource {}
364
364
for _ , block := range content .Blocks {
365
365
switch block .Type {
366
366
case "lifecycle" :
@@ -399,17 +399,17 @@ func simpleDecodeResouceBlock(resource *hcl.Block) (*terraform.Resource, hcl.Dia
399
399
}
400
400
}
401
401
case "connection" :
402
- managed .Connection = & terraform .Connection {
402
+ managed .Connection = & configs .Connection {
403
403
Config : block .Body ,
404
404
DeclRange : block .DefRange ,
405
405
}
406
406
case "provisioner" :
407
- pv := & terraform .Provisioner {
407
+ pv := & configs .Provisioner {
408
408
Type : block .Labels [0 ],
409
409
TypeRange : block .LabelRanges [0 ],
410
410
DeclRange : block .DefRange ,
411
- When : terraform .ProvisionerWhenCreate ,
412
- OnFailure : terraform .ProvisionerOnFailureFail ,
411
+ When : configs .ProvisionerWhenCreate ,
412
+ OnFailure : configs .ProvisionerOnFailureFail ,
413
413
}
414
414
415
415
content , config , diags := block .Body .PartialContent (& hcl.BodySchema {
@@ -429,23 +429,23 @@ func simpleDecodeResouceBlock(resource *hcl.Block) (*terraform.Resource, hcl.Dia
429
429
if attr , exists := content .Attributes ["when" ]; exists {
430
430
switch hcl .ExprAsKeyword (attr .Expr ) {
431
431
case "create" :
432
- pv .When = terraform .ProvisionerWhenCreate
432
+ pv .When = configs .ProvisionerWhenCreate
433
433
case "destroy" :
434
- pv .When = terraform .ProvisionerWhenDestroy
434
+ pv .When = configs .ProvisionerWhenDestroy
435
435
}
436
436
}
437
437
438
438
if attr , exists := content .Attributes ["on_failure" ]; exists {
439
439
switch hcl .ExprAsKeyword (attr .Expr ) {
440
440
case "continue" :
441
- pv .OnFailure = terraform .ProvisionerOnFailureContinue
441
+ pv .OnFailure = configs .ProvisionerOnFailureContinue
442
442
case "fail" :
443
- pv .OnFailure = terraform .ProvisionerOnFailureFail
443
+ pv .OnFailure = configs .ProvisionerOnFailureFail
444
444
}
445
445
}
446
446
447
447
for _ , block := range content .Blocks {
448
- pv .Connection = & terraform .Connection {
448
+ pv .Connection = & configs .Connection {
449
449
Config : block .Body ,
450
450
DeclRange : block .DefRange ,
451
451
}
@@ -455,8 +455,8 @@ func simpleDecodeResouceBlock(resource *hcl.Block) (*terraform.Resource, hcl.Dia
455
455
}
456
456
}
457
457
458
- return & terraform .Resource {
459
- Mode : terraform .ManagedResourceMode ,
458
+ return & configs .Resource {
459
+ Mode : addrs .ManagedResourceMode ,
460
460
Name : resource .Labels [1 ],
461
461
Type : resource .Labels [0 ],
462
462
Config : resourceRemain ,
@@ -472,7 +472,7 @@ func simpleDecodeResouceBlock(resource *hcl.Block) (*terraform.Resource, hcl.Dia
472
472
}, nil
473
473
}
474
474
475
- func simpleDecodeModuleCallBlock (block * hcl.Block ) (* terraform .ModuleCall , hcl.Diagnostics ) {
475
+ func simpleDecodeModuleCallBlock (block * hcl.Block ) (* configs .ModuleCall , hcl.Diagnostics ) {
476
476
content , remain , diags := block .Body .PartialContent (& hcl.BodySchema {
477
477
Attributes : []hcl.AttributeSchema {
478
478
{Name : "source" , Required : true },
@@ -493,7 +493,7 @@ func simpleDecodeModuleCallBlock(block *hcl.Block) (*terraform.ModuleCall, hcl.D
493
493
sourceAddrRange = attr .Expr .Range ()
494
494
}
495
495
496
- providers := []terraform .PassedProviderConfig {}
496
+ providers := []configs .PassedProviderConfig {}
497
497
if attr , exists := content .Attributes ["providers" ]; exists {
498
498
pairs , diags := hcl .ExprMap (attr .Expr )
499
499
if diags .HasErrors () {
@@ -511,7 +511,7 @@ func simpleDecodeModuleCallBlock(block *hcl.Block) (*terraform.ModuleCall, hcl.D
511
511
return nil , diags
512
512
}
513
513
514
- providers = append (providers , terraform .PassedProviderConfig {
514
+ providers = append (providers , configs .PassedProviderConfig {
515
515
InChild : key ,
516
516
InParent : value ,
517
517
})
@@ -537,7 +537,7 @@ func simpleDecodeModuleCallBlock(block *hcl.Block) (*terraform.ModuleCall, hcl.D
537
537
}
538
538
}
539
539
540
- return & terraform .ModuleCall {
540
+ return & configs .ModuleCall {
541
541
Name : block .Labels [0 ],
542
542
543
543
SourceAddr : sourceAddr ,
@@ -546,7 +546,7 @@ func simpleDecodeModuleCallBlock(block *hcl.Block) (*terraform.ModuleCall, hcl.D
546
546
547
547
Config : remain ,
548
548
549
- Version : terraform .VersionConstraint {
549
+ Version : configs .VersionConstraint {
550
550
Required : versionRequired ,
551
551
DeclRange : versionRange ,
552
552
},
@@ -557,13 +557,13 @@ func simpleDecodeModuleCallBlock(block *hcl.Block) (*terraform.ModuleCall, hcl.D
557
557
}, nil
558
558
}
559
559
560
- func decodeProviderConfigRef (expr hcl.Expression ) (* terraform .ProviderConfigRef , hcl.Diagnostics ) {
560
+ func decodeProviderConfigRef (expr hcl.Expression ) (* configs .ProviderConfigRef , hcl.Diagnostics ) {
561
561
traversal , diags := hcl .AbsTraversalForExpr (expr )
562
562
if diags .HasErrors () {
563
563
return nil , diags
564
564
}
565
565
566
- ref := & terraform .ProviderConfigRef {
566
+ ref := & configs .ProviderConfigRef {
567
567
Name : traversal .RootName (),
568
568
NameRange : traversal [0 ].SourceRange (),
569
569
}
0 commit comments