Skip to content

Commit 54449cc

Browse files
committed
Make install dir of provider configurable
1 parent 7eddaff commit 54449cc

File tree

10 files changed

+59
-38
lines changed

10 files changed

+59
-38
lines changed

go.mod

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,17 @@ go 1.13
44

55
require (
66
github.com/apex/log v1.1.2
7-
github.com/aws/aws-sdk-go v1.29.1
7+
github.com/aws/aws-sdk-go v1.30.12
88
github.com/fatih/color v1.9.0
99
github.com/golang/mock v1.4.0
1010
github.com/gruntwork-io/terratest v0.23.0
1111
github.com/hashicorp/go-hclog v0.12.0
1212
github.com/hashicorp/go-plugin v1.0.1
1313
github.com/hashicorp/go-version v1.2.0
14-
github.com/hashicorp/terraform v0.12.24
14+
github.com/hashicorp/terraform v0.12.25
1515
github.com/mitchellh/cli v1.0.0
16+
github.com/mitchellh/go-homedir v1.1.0
1617
github.com/onsi/gomega v1.9.0
17-
github.com/stretchr/testify v1.4.0
18+
github.com/stretchr/testify v1.5.1
1819
github.com/zclconf/go-cty v1.2.1
1920
)

go.sum

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,12 @@ github.com/aws/aws-sdk-go v1.23.8/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN
9292
github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
9393
github.com/aws/aws-sdk-go v1.29.1 h1:U2vZ5WprhGAMjzb4bKVzl2QecUtZFW2BXVqa5bnd+OY=
9494
github.com/aws/aws-sdk-go v1.29.1/go.mod h1:1KvfttTE3SPKMpo8g2c6jL3ZKfXtFvKscTgahTma5Xg=
95+
github.com/aws/aws-sdk-go v1.30.12 h1:KrjyosZvkpJjcwMk0RNxMZewQ47v7+ZkbQDXjWsJMs8=
96+
github.com/aws/aws-sdk-go v1.30.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
97+
github.com/aws/aws-sdk-go-v2 v0.22.0 h1:mlixfS5HVzn7Sf3KVhjAIM2H3bB7uoTbLCtKHvteUfE=
98+
github.com/aws/aws-sdk-go-v2 v0.22.0/go.mod h1:2LhT7UgHOXK3UXONKI5OMgIyoQL6zTAw/jwIeX6yqzw=
99+
github.com/aws/aws-sdk-go-v2 v0.23.0 h1:+E1q1LLSfHSDn/DzOtdJOX+pLZE2HiNV2yO5AjZINwM=
100+
github.com/aws/aws-sdk-go-v2 v0.23.0/go.mod h1:2LhT7UgHOXK3UXONKI5OMgIyoQL6zTAw/jwIeX6yqzw=
95101
github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59/go.mod h1:q/89r3U2H7sSsE2t6Kca0lfwTK8JdoNGS/yzM/4iH5I=
96102
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f h1:ZNv7On9kyUzm7fvRZumSyy/IUiSC7AzL0I1jKKtwooA=
97103
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=
@@ -187,6 +193,8 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a
187193
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
188194
github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg=
189195
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
196+
github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
197+
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
190198
github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk=
191199
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
192200
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
@@ -282,6 +290,8 @@ github.com/hashicorp/serf v0.0.0-20160124182025-e4ec8cc423bb h1:ZbgmOQt8DOg796fi
282290
github.com/hashicorp/serf v0.0.0-20160124182025-e4ec8cc423bb/go.mod h1:h/Ru6tmZazX7WO/GDmwdpS975F019L4t5ng5IgwbNrE=
283291
github.com/hashicorp/terraform v0.12.24 h1:lTTswsCcmTOhTwuUl2NdjtJBCNdGqZmRGQi0cjFHYOM=
284292
github.com/hashicorp/terraform v0.12.24/go.mod h1:eJcloDEx5ywM4a1tetIuVrlqklM0bUVRYJBYAh4CYzA=
293+
github.com/hashicorp/terraform v0.12.25 h1:4RCbJeJvBTl+t9SDa3xqEU9G9sH5khqjlabr/89bshk=
294+
github.com/hashicorp/terraform v0.12.25/go.mod h1:B9VZ/cn0j1wpi16bdgLBCw5D5wNOqM8DVP0al92nPXc=
285295
github.com/hashicorp/terraform-config-inspect v0.0.0-20191212124732-c6ae6269b9d7 h1:Pc5TCv9mbxFN6UVX0LH6CpQrdTM5YjbVI2w15237Pjk=
286296
github.com/hashicorp/terraform-config-inspect v0.0.0-20191212124732-c6ae6269b9d7/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A=
287297
github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596 h1:hjyO2JsNZUKT1ym+FAdlBEkGPevazYsmVgIMw7dVELg=
@@ -295,6 +305,8 @@ github.com/imdario/mergo v0.3.7/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ
295305
github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
296306
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM=
297307
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
308+
github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc=
309+
github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik=
298310
github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo=
299311
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
300312
github.com/joyent/triton-go v0.0.0-20180313100802-d8f9c0314926 h1:kie3qOosvRKqwij2HGzXWffwpXvcqfPPXRUw8I4F/mg=
@@ -474,6 +486,8 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf
474486
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
475487
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
476488
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
489+
github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
490+
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
477491
github.com/svanharmelen/jsonapi v0.0.0-20180618144545-0c0828c3f16d h1:Z4EH+5EffvBEhh37F0C0DnpklTMh00JOkjW5zK3ofBI=
478492
github.com/svanharmelen/jsonapi v0.0.0-20180618144545-0c0828c3f16d/go.mod h1:BSTlc8jOjh0niykqEGVXOLXdi9o0r0kR8tCYiMvjFgw=
479493
github.com/tencentcloud/tencentcloud-sdk-go v3.0.82+incompatible h1:5Td2b0yfaOvw9M9nZ5Oav6Li9bxUNxt4DgxMfIPpsa0=
@@ -528,6 +542,8 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U
528542
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
529543
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
530544
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
545+
golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37 h1:cg5LA/zNPRzIXIWSCxQW10Rvpy94aQh3LT/ShoCpkHw=
546+
golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
531547
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
532548
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
533549
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
@@ -612,6 +628,7 @@ golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0 h1:Dh6fw+p6FyRl5x/FvNswO1j
612628
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
613629
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc=
614630
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
631+
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
615632
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
616633
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
617634
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=

main.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ func mainExitCode() int {
4242
}
4343

4444
flags.StringVar(&timeout, "timeout", "30s", "Amount of time to wait for a destroy of a resource to finish")
45-
flags.BoolVar(&dryRun, "dry", false, "Show what would be destroyed")
45+
flags.BoolVar(&dryRun, "dry-run", false, "Show what would be destroyed")
4646
flags.BoolVar(&force, "force", false, "Destroy without asking for confirmation")
4747
flags.BoolVar(&logDebug, "debug", false, "Enable debug logging")
4848
flags.IntVar(&parallel, "parallel", 10, "Limit the number of concurrent destroy operations")
@@ -69,7 +69,7 @@ func mainExitCode() int {
6969
}
7070

7171
if force && dryRun {
72-
fmt.Fprint(os.Stderr, color.RedString("Error:️ -force and -dry flag cannot be used together\n"))
72+
fmt.Fprint(os.Stderr, color.RedString("Error:️ -force and -dry-run flag cannot be used together\n"))
7373
printHelp(flags)
7474

7575
return 1
@@ -102,7 +102,7 @@ func mainExitCode() int {
102102
internal.LogTitle("reading state")
103103
log.WithField("file", pathToState).Info(internal.Pad("using state"))
104104

105-
providers, err := provider.InitProviders(tfstate.ProviderNames(), timeoutDuration)
105+
providers, err := provider.InitProviders(tfstate.ProviderNames(), "~/.terradozer", timeoutDuration)
106106
if err != nil {
107107
fmt.Fprint(os.Stderr, color.RedString("\nError:️ failed to initialize Terraform providers: %s\n", err))
108108

@@ -168,10 +168,10 @@ func printHelp(fs *flag.FlagSet) {
168168
}
169169

170170
const help = `
171-
Terraform destroy using only the state file.
171+
Terraform destroy using only the state - no *.tf files needed.
172172
173173
USAGE:
174-
$ terradozer [flags] [path/to/terraform.tfstate]
174+
$ terradozer [flags] <path/to/terraform.tfstate>
175175
176176
FLAGS:
177177
`

pkg/provider/provider.go

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import (
1010
"strings"
1111
"time"
1212

13+
"github.com/mitchellh/cli"
14+
1315
"github.com/hashicorp/terraform/helper/resource"
1416

1517
"github.com/jckuester/terradozer/internal"
@@ -22,7 +24,7 @@ import (
2224
"github.com/hashicorp/terraform/plugin"
2325
"github.com/hashicorp/terraform/plugin/discovery"
2426
"github.com/hashicorp/terraform/providers"
25-
"github.com/mitchellh/cli"
27+
goHomeDir "github.com/mitchellh/go-homedir"
2628
"github.com/zclconf/go-cty/cty"
2729
)
2830

@@ -250,15 +252,18 @@ func enableForceDestroyAttributes(state cty.Value) cty.Value {
250252

251253
// Install installs a Terraform Provider Plugin binary with a given version.
252254
// For example, call:
253-
// Install("aws", "2.43.0", true)
254-
func Install(providerName, versionConstraint string, cacheBinary bool) (discovery.PluginMeta, error) {
255-
installDir := ".terradozer"
255+
// Install("aws", "2.43.0", "~/.terradozer", true)
256+
func Install(providerName, versionConstraint, installDir string, cacheBinary bool) (discovery.PluginMeta, error) {
257+
expandedInstallDir, err := goHomeDir.Expand(installDir)
258+
if err != nil {
259+
return discovery.PluginMeta{}, err
260+
}
256261

257262
providerInstaller := &discovery.ProviderInstaller{
258-
Dir: installDir,
263+
Dir: filepath.FromSlash(expandedInstallDir),
259264
Cache: func() discovery.PluginCache {
260265
if cacheBinary {
261-
return discovery.NewLocalPluginCache(filepath.FromSlash(installDir + "/cache"))
266+
return discovery.NewLocalPluginCache(filepath.FromSlash(expandedInstallDir + "/cache"))
262267
}
263268
return nil
264269
}(),
@@ -298,14 +303,14 @@ func Install(providerName, versionConstraint string, cacheBinary bool) (discover
298303
//
299304
// Note: Init() combines calls to the functions Install(), Launch(), and Configure().
300305
// Timeout is the amount of time to wait for a destroy operation of the provider to finish.
301-
func Init(providerName string, timeout time.Duration) (*TerraformProvider, error) {
306+
func Init(providerName string, installDir string, timeout time.Duration) (*TerraformProvider, error) {
302307
pConfig, pVersion, err := config(providerName)
303308
if err != nil {
304309
log.WithField("name", providerName).Info(internal.Pad("ignoring resources of (yet) unsupported provider"))
305310
return nil, nil
306311
}
307312

308-
metaPlugin, err := Install(providerName, pVersion, true)
313+
metaPlugin, err := Install(providerName, pVersion, installDir, true)
309314
if err != nil {
310315
return nil, fmt.Errorf("failed to install provider (%s): %s", providerName, err)
311316
}
@@ -336,11 +341,11 @@ func Init(providerName string, timeout time.Duration) (*TerraformProvider, error
336341

337342
// InitProviders installs, launches (i.e., starts the plugin binary process), and configures
338343
// a given list of Terraform Providers by name with a default configuration.
339-
func InitProviders(providerNames []string, timeout time.Duration) (map[string]*TerraformProvider, error) {
344+
func InitProviders(providerNames []string, installDir string, timeout time.Duration) (map[string]*TerraformProvider, error) {
340345
providers := map[string]*TerraformProvider{}
341346

342347
for _, pName := range providerNames {
343-
p, err := Init(pName, timeout)
348+
p, err := Init(pName, installDir, timeout)
344349
if err != nil {
345350
return nil, err
346351
}

pkg/provider/provider_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ func TestInstall(t *testing.T) {
4646
err := os.RemoveAll(".terradozer")
4747
require.NoError(t, err)
4848

49-
p, err := provider.Install(tc.providerName, tc.constraint, true)
49+
p, err := provider.Install(tc.providerName, tc.constraint, ".terradozer", true)
5050
require.NoError(t, err)
5151

5252
if tc.expectedFile != "" {
@@ -100,7 +100,7 @@ func TestInstall_Cache(t *testing.T) {
100100
err := os.RemoveAll(".terradozer")
101101
require.NoError(t, err)
102102

103-
p, err := provider.Install(tc.providerName, tc.constraint, tc.useCache)
103+
p, err := provider.Install(tc.providerName, tc.constraint, ".terradozer", tc.useCache)
104104
require.NoError(t, err)
105105
assert.Equal(t, tc.providerName, p.Name)
106106
assert.Equal(t, tc.constraint, p.Version.MustParse().String())
@@ -119,7 +119,7 @@ func TestInstall_Cache(t *testing.T) {
119119
}
120120
}
121121

122-
p2, err := provider.Install(tc.providerName, tc.constraint, tc.useCache)
122+
p2, err := provider.Install(tc.providerName, tc.constraint, ".terradozer", tc.useCache)
123123
require.NoError(t, err)
124124
assert.Equal(t, tc.providerName, p2.Name)
125125
assert.Equal(t, tc.constraint, p2.Version.MustParse().String())
@@ -153,7 +153,7 @@ func TestTerraformProvider_ImportResource(t *testing.T) {
153153
actualVpcID := terraform.Output(t, terraformOptions, "vpc_id")
154154
aws.GetVpcById(t, actualVpcID, env.AWSRegion)
155155

156-
provider, err := provider.Init("aws", 15)
156+
provider, err := provider.Init("aws", ".terradozer", 15)
157157
require.NoError(t, err)
158158

159159
importedResources, err := provider.ImportResource("aws_vpc", actualVpcID)
@@ -201,7 +201,7 @@ func TestTerraformProvider_ReadResource(t *testing.T) {
201201
actualVpcID := terraform.Output(t, terraformOptions, "vpc_id")
202202
aws.GetVpcById(t, actualVpcID, env.AWSRegion)
203203

204-
p, err := provider.Init("aws", 15)
204+
p, err := provider.Init("aws", ".terradozer", 15)
205205
require.NoError(t, err)
206206

207207
currentResourceState, err := p.ReadResource("aws_vpc",
@@ -261,7 +261,7 @@ func TestInitProviders(t *testing.T) {
261261
}
262262
for _, tc := range tests {
263263
t.Run(tc.name, func(t *testing.T) {
264-
actualProviders, err := provider.InitProviders(tc.providerNames, 15)
264+
actualProviders, err := provider.InitProviders(tc.providerNames, ".terradozer", 15)
265265

266266
if tc.expectedErrMsg != "" {
267267
assert.EqualError(t, err, tc.expectedErrMsg)

pkg/resource/destroy.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ func workerDestroy(id int, resources <-chan DestroyableResource, result chan<- w
9090
switch err := err.(type) {
9191
case *RetryDestroyError:
9292
log.WithFields(log.Fields{
93-
"worker_id": id,
9493
"type": r.Type(),
9594
"resource_id": r.ID(),
9695
}).Info(internal.Pad("will retry to delete resource"))
@@ -101,7 +100,6 @@ func workerDestroy(id int, resources <-chan DestroyableResource, result chan<- w
101100

102101
default:
103102
log.WithError(err).WithFields(log.Fields{
104-
"worker_id": id,
105103
"type": r.Type(),
106104
"resource_id": r.ID(),
107105
}).Debug(internal.Pad("unable to delete resource"))

pkg/resource/destroy_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ func TestResource_Destroy(t *testing.T) {
140140
actualVpcID := terraform.Output(t, terraformOptions, "vpc_id")
141141
aws.GetVpcById(t, actualVpcID, env.AWSRegion)
142142

143-
awsProvider, err := provider.Init("aws", 10*time.Second)
143+
awsProvider, err := provider.Init("aws", ".terradozer", 10*time.Second)
144144
require.NoError(t, err)
145145

146146
r := resource.New("aws_vpc", actualVpcID, nil, awsProvider)
@@ -178,7 +178,7 @@ func TestResource_Destroy_AwsEcsCluster(t *testing.T) {
178178

179179
test.AssertEcsClusterExists(t, env, actualID)
180180

181-
awsProvider, err := provider.Init("aws", 10*time.Second)
181+
awsProvider, err := provider.Init("aws", ".terradozer", 10*time.Second)
182182
require.NoError(t, err)
183183

184184
r := resource.New("aws_ecs_cluster", actualID, nil, awsProvider)
@@ -217,7 +217,7 @@ func TestResource_Destroy_AwsLambdaFunction(t *testing.T) {
217217
actualID := terraform.Output(t, terraformOptions, "id")
218218
test.AssertLambdaFunctionExists(t, env, actualID)
219219

220-
awsProvider, err := provider.Init("aws", 10*time.Second)
220+
awsProvider, err := provider.Init("aws", ".terradozer", 10*time.Second)
221221
require.NoError(t, err)
222222

223223
r := resource.New("aws_lambda_function", actualID, nil, awsProvider)
@@ -256,7 +256,7 @@ func TestResource_Destroy_Timeout(t *testing.T) {
256256

257257
terraform.InitAndApply(t, terraformOptionsDependency)
258258

259-
awsProvider, err := provider.Init("aws", 5*time.Second)
259+
awsProvider, err := provider.Init("aws", ".terradozer", 5*time.Second)
260260
require.NoError(t, err)
261261

262262
r := resource.New("aws_vpc", actualVpcID, nil, awsProvider)

pkg/resource/resource.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Package resource manages the deletion of Terraform resources.
1+
// Package resource manages the state update and deletion of Terraform resources.
22
package resource
33

44
import (

pkg/state/state_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ func TestState_Resources(t *testing.T) {
109109

110110
test.InitEnv(t)
111111

112-
awsProvider, err := provider.Init("aws", 10*time.Second)
112+
awsProvider, err := provider.Init("aws", ".terradozer", 10*time.Second)
113113
require.NoError(t, err)
114114

115115
tests := []struct {

test/acc_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ import (
2020
const (
2121
packagePath = "github.com/jckuester/terradozer"
2222
usageMessage = `
23-
Terraform destroy using only the state file.
23+
Terraform destroy using only the state - no *.tf files needed.
2424
2525
USAGE:
26-
$ terradozer [flags] [path/to/terraform.tfstate]
26+
$ terradozer [flags] <path/to/terraform.tfstate>
2727
2828
FLAGS:
2929
-debug
3030
Enable debug logging
31-
-dry
31+
-dry-run
3232
Show what would be destroyed
3333
-force
3434
Destroy without asking for confirmation
@@ -224,7 +224,7 @@ func TestAcc_DryRun(t *testing.T) {
224224
}{
225225
{
226226
name: "with dry-run flag",
227-
flag: "-dry",
227+
flag: "-dry-run",
228228
expectedLogs: []string{
229229
"SHOWING RESOURCES THAT WOULD BE DELETED (DRY RUN)",
230230
"TOTAL NUMBER OF RESOURCES THAT WOULD BE DELETED: 1",
@@ -332,9 +332,9 @@ func TestAcc_Force(t *testing.T) {
332332
},
333333
{
334334
name: "with force and dry-run flag",
335-
flags: []string{"-force", "-dry"},
335+
flags: []string{"-force", "-dry-run"},
336336
expectedLogs: []string{
337-
"-force and -dry flag cannot be used together",
337+
"-force and -dry-run flag cannot be used together",
338338
},
339339
unexpectedLogs: []string{
340340
"STARTING TO DELETE RESOURCES",

0 commit comments

Comments
 (0)