Skip to content

Commit 70aaf67

Browse files
authored
Update lint configuration; fix numerous lint issues (#498)
* Remove blanket lint ignore directives * Remove unused lint directives * Fix style on load-balancer error messages * Add golangci-lint YAML config * Switch from deprecated gomnd linter to mnd * Fix magic number linter issues * Fix whitespace linter issues * Exclude unparam from test files * Remove unused param for instance plan upgrade * Remove unused param from ISO refresh * Ignore unused param on slice util func * Fix spelling * Address line legth issues * Fix implicit loops using pointers * Fix some missed whitespace * Increase cyclomatic complexity threshold to 25 * Remove gocyclo and funlen linters * Remove dupl linter * Decrease line length tolerance to 120 cols * Remove usage of private network functions & fields
1 parent 2f4bf19 commit 70aaf67

File tree

53 files changed

+391
-327
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+391
-327
lines changed

.golangci.yaml

+126
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
linters-settings:
2+
dupl:
3+
threshold: 300
4+
goconst:
5+
min-len: 2
6+
min-occurrences: 3
7+
gocritic:
8+
enabled-tags:
9+
- diagnostic
10+
- experimental
11+
- opinionated
12+
- performance
13+
- style
14+
disabled-checks:
15+
- dupImport # https://github.com/go-critic/go-critic/issues/845
16+
- ifElseChain
17+
- octalLiteral
18+
- whyNoLint
19+
goimports:
20+
local-prefixes: github.com/golangci/golangci-lint
21+
mnd:
22+
checks:
23+
# don't include the "operation" and "assign"
24+
- argument
25+
- case
26+
- condition
27+
- return
28+
ignored-numbers:
29+
- '0'
30+
- '1'
31+
- '2'
32+
- '3'
33+
govet:
34+
settings:
35+
printf:
36+
funcs:
37+
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Infof
38+
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Warnf
39+
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Errorf
40+
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Fatalf
41+
lll:
42+
line-length: 120
43+
misspell:
44+
locale: US
45+
nolintlint:
46+
allow-unused: false # report any unused nolint directives
47+
require-explanation: false # don't require an explanation for nolint directives
48+
require-specific: false # don't require nolint directives to be specific about which linter is being skipped
49+
revive:
50+
rules:
51+
- name: unexported-return
52+
disabled: true
53+
54+
linters:
55+
disable-all: true
56+
enable:
57+
- dogsled
58+
- errcheck
59+
- exportloopref
60+
- gofmt
61+
- goimports
62+
- mnd
63+
- goprintffuncname
64+
- gosec
65+
- gosimple
66+
- govet
67+
- ineffassign
68+
- lll
69+
- misspell
70+
- nakedret
71+
- noctx
72+
- nolintlint
73+
- revive
74+
- staticcheck
75+
- stylecheck
76+
- typecheck
77+
- unconvert
78+
- unparam
79+
- unused
80+
- whitespace
81+
82+
# don't enable:
83+
# - asciicheck
84+
# - bodyclose
85+
# - depguard
86+
# - dupl
87+
# - funlen
88+
# - gochecknoglobals
89+
# - gocognit
90+
# - gocritic
91+
# - gocyclo
92+
# - godot
93+
# - godox
94+
# - goerr113
95+
# - interfacer
96+
# - maligned
97+
# - nestif
98+
# - prealloc
99+
# - scopelint
100+
# - testpackage
101+
# - wsl
102+
103+
issues:
104+
# List of regexps of issue texts to exclude.
105+
#
106+
# But independently of this option we use default exclude patterns,
107+
# it can be disabled by `exclude-use-default: false`.
108+
# To list all excluded by default patterns execute `golangci-lint run --help`
109+
#
110+
# Default: https://golangci-lint.run/usage/false-positives/#default-exclusions
111+
exclude:
112+
- abcdef
113+
- ST1023
114+
exclude-rules:
115+
- path: _test\.go
116+
linters:
117+
- gocyclo
118+
- errcheck
119+
- dupl
120+
- gosec
121+
- lll
122+
- goconst
123+
- dogsled
124+
- unparam
125+
run:
126+
timeout: 5m

vultr/data_source_vultr_account.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,16 @@ func dataSourceVultrAccountRead(ctx context.Context, d *schema.ResourceData, met
6161
if err := d.Set("email", account.Email); err != nil {
6262
return diag.Errorf("unable to set account `email` read value: %v", err)
6363
}
64-
if err := d.Set("balance", math.Round(float64(account.Balance)*100)/100); err != nil {
64+
if err := d.Set("balance", math.Round(float64(account.Balance)*100)/100); err != nil { //nolint:mnd
6565
return diag.Errorf("unable to set account `balance` read value: %v", err)
6666
}
67-
if err := d.Set("pending_charges", math.Round(float64(account.PendingCharges)*100)/100); err != nil {
67+
if err := d.Set("pending_charges", math.Round(float64(account.PendingCharges)*100)/100); err != nil { //nolint:mnd
6868
return diag.Errorf("unable to set account `pending_charges` read value: %v", err)
6969
}
7070
if err := d.Set("last_payment_date", account.LastPaymentDate); err != nil {
7171
return diag.Errorf("unable to set account `last_payment_date` read value: %v", err)
7272
}
73-
if err := d.Set("last_payment_amount", math.Round(float64(account.LastPaymentAmount)*100)/100); err != nil {
73+
if err := d.Set("last_payment_amount", math.Round(float64(account.LastPaymentAmount)*100)/100); err != nil { //nolint:mnd,lll
7474
return diag.Errorf("unable to set account `last_payment_amount` read value: %v", err)
7575
}
7676
if err := d.Set("acl", account.ACL); err != nil {

vultr/data_source_vultr_application.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,10 @@ func dataSourceVultrApplicationRead(ctx context.Context, d *schema.ResourceData,
8282
}
8383
}
8484
if len(appList) > 1 {
85-
return diag.Errorf("your search returned too many results : %d. Please refine your search to be more specific", len(appList))
85+
return diag.Errorf(
86+
"your search returned too many results : %d. Please refine your search to be more specific",
87+
len(appList),
88+
)
8689
}
8790

8891
if len(appList) < 1 {

vultr/data_source_vultr_bare_metal_server.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ func dataSourceVultrBareMetalServer() *schema.Resource {
108108
}
109109
}
110110

111-
func dataSourceVultrBareMetalServerRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
111+
func dataSourceVultrBareMetalServerRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { //nolint:lll
112112
client := meta.(*Client).govultrClient()
113113

114114
filters, filtersOk := d.GetOk("filter")

vultr/data_source_vultr_container_registry.go

+5-3
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func dataSourceVultrContainerRegistry() *schema.Resource {
4848
}
4949
}
5050

51-
func dataSourceVultrContainerRegistryRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
51+
func dataSourceVultrContainerRegistryRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { //nolint:lll
5252
client := meta.(*Client).govultrClient()
5353

5454
filters, filtersOk := d.GetOk("filter")
@@ -88,7 +88,10 @@ func dataSourceVultrContainerRegistryRead(ctx context.Context, d *schema.Resourc
8888
}
8989

9090
if len(crList) > 1 {
91-
return diag.Errorf("your search returned too many results : %d. Please refine your search to be more specific", len(crList))
91+
return diag.Errorf(
92+
"your search returned too many results : %d. Please refine your search to be more specific",
93+
len(crList),
94+
)
9295
}
9396
if len(crList) < 1 {
9497
return diag.Errorf("no results were found")
@@ -162,7 +165,6 @@ func flattenCRRepositories(repos []govultr.ContainerRegistryRepo) []map[string]i
162165
var allRepos []map[string]interface{}
163166

164167
for i := range repos {
165-
166168
repo := map[string]interface{}{
167169
"name": repos[i].Name,
168170
"image": repos[i].Image,

vultr/data_source_vultr_firewall_group.go

-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ func dataSourceVultrFirewallGroup() *schema.Resource {
4242
}
4343

4444
func dataSourceVultrFirewallGroupRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
45-
4645
client := meta.(*Client).govultrClient()
4746

4847
filters, filtersOk := d.GetOk("filter")

vultr/data_source_vultr_firewall_group_test.go

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
)
1010

1111
func TestAccVultrFirewallGroup(t *testing.T) {
12-
1312
rDesc := acctest.RandomWithPrefix("tf-fwg-ds")
1413

1514
resource.Test(t, resource.TestCase{

vultr/data_source_vultr_instance.go

-8
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,6 @@ func dataSourceVultrInstance() *schema.Resource {
136136
Type: schema.TypeString,
137137
Computed: true,
138138
},
139-
"private_network_ids": {
140-
Type: schema.TypeList,
141-
Computed: true,
142-
Elem: &schema.Schema{Type: schema.TypeString},
143-
},
144139
"vpc_ids": {
145140
Type: schema.TypeList,
146141
Computed: true,
@@ -313,9 +308,6 @@ func dataSourceVultrInstanceRead(ctx context.Context, d *schema.ResourceData, me
313308
return diag.Errorf(err.Error())
314309
}
315310

316-
if err := d.Set("private_network_ids", vpcs); err != nil {
317-
return diag.Errorf("unable to set instance `private_network_ids` read value: %v", err)
318-
}
319311
if err := d.Set("vpc_ids", vpcs); err != nil {
320312
return diag.Errorf("unable to set instance `vpc_ids` read value: %v", err)
321313
}

vultr/data_source_vultr_instance_ipv4.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ func dataSourceVultrInstanceIPV4Read(ctx context.Context, d *schema.ResourceData
8686
continue
8787
}
8888
}
89-
9089
}
9190

9291
filter := buildVultrDataSourceFilter(filters.(*schema.Set))
@@ -99,8 +98,8 @@ func dataSourceVultrInstanceIPV4Read(ctx context.Context, d *schema.ResourceData
9998
return diag.Errorf("error getting IPv4s: %v", err)
10099
}
101100

102-
for _, ipv4 := range ipv4s {
103-
m, err := structToMap(ipv4)
101+
for i := range ipv4s {
102+
m, err := structToMap(ipv4s[i])
104103
if err != nil {
105104
return diag.FromErr(err)
106105
}
@@ -110,7 +109,7 @@ func dataSourceVultrInstanceIPV4Read(ctx context.Context, d *schema.ResourceData
110109
return diag.Errorf("your search returned too many results - please refine your search to be more specific")
111110
}
112111

113-
result = &ipv4
112+
result = &ipv4s[i]
114113
resultInstanceID = instanceID
115114
}
116115
}

vultr/data_source_vultr_kubernetes.go

-1
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,6 @@ func flattenNodePools(np []govultr.NodePool) []map[string]interface{} {
202202
var nodePools []map[string]interface{}
203203

204204
for _, n := range np {
205-
206205
var instances []map[string]interface{}
207206

208207
for _, v := range n.Nodes {

vultr/data_source_vultr_load_balancer.go

-7
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,6 @@ func dataSourceVultrLoadBalancer() *schema.Resource {
8282
Computed: true,
8383
Elem: &schema.Schema{Type: schema.TypeMap},
8484
},
85-
"private_network": {
86-
Type: schema.TypeString,
87-
Computed: true,
88-
},
8985
},
9086
}
9187
}
@@ -171,9 +167,6 @@ func dataSourceVultrLoadBalancerRead(ctx context.Context, d *schema.ResourceData
171167
if err := d.Set("ipv6", lbList[0].IPV6); err != nil {
172168
return diag.Errorf("unable to set load_balancer `ipv6` read value: %v", err)
173169
}
174-
if err := d.Set("private_network", lbList[0].GenericInfo.PrivateNetwork); err != nil { // nolint
175-
return diag.Errorf("unable to set load_balancer `private_network` read value: %v", err)
176-
}
177170

178171
var rulesList []map[string]interface{}
179172
for _, rules := range lbList[0].ForwardingRules {

vultr/data_source_vultr_object_storage_cluster.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ func dataSourceVultrObjectStorageClusters() *schema.Resource {
3434
}
3535
}
3636

37-
func dataSourceVultrObjectStorageClustersRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
37+
func dataSourceVultrObjectStorageClustersRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { //nolint:lll
3838
client := meta.(*Client).govultrClient()
3939

4040
filters, filtersOk := d.GetOk("filter")

vultr/data_source_vultr_reverse_ipv4.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ func dataSourceVultrReverseIPV4Read(ctx context.Context, d *schema.ResourceData,
8686
continue
8787
}
8888
}
89-
9089
}
9190

9291
filter := buildVultrDataSourceFilter(filters.(*schema.Set))
@@ -99,8 +98,8 @@ func dataSourceVultrReverseIPV4Read(ctx context.Context, d *schema.ResourceData,
9998
return diag.Errorf("error getting IPv4s: %v", err)
10099
}
101100

102-
for _, ipv4 := range ipv4s {
103-
m, err := structToMap(ipv4)
101+
for i := range ipv4s {
102+
m, err := structToMap(ipv4s[i])
104103
if err != nil {
105104
return diag.FromErr(err)
106105
}
@@ -110,7 +109,7 @@ func dataSourceVultrReverseIPV4Read(ctx context.Context, d *schema.ResourceData,
110109
return diag.Errorf("your search returned too many results - please refine your search to be more specific")
111110
}
112111

113-
result = &ipv4
112+
result = &ipv4s[i]
114113
resultInstanceID = instanceID
115114
}
116115
}

vultr/data_source_vultr_reverse_ipv6.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@ func dataSourceVultrReverseIPV6Read(ctx context.Context, d *schema.ResourceData,
9393
return diag.Errorf("error getting reverse IPv6s: %v", err)
9494
}
9595

96-
for _, reverseIPV6 := range reverseIPV6s {
97-
m, err := structToMap(reverseIPV6)
96+
for i := range reverseIPV6s {
97+
m, err := structToMap(reverseIPV6s[i])
9898
if err != nil {
9999
return diag.FromErr(err)
100100
}
@@ -104,7 +104,7 @@ func dataSourceVultrReverseIPV6Read(ctx context.Context, d *schema.ResourceData,
104104
return diag.Errorf("your search returned too many results - please refine your search to be more specific")
105105
}
106106

107-
result = &reverseIPV6
107+
result = &reverseIPV6s[i]
108108
resultInstanceID = instanceID
109109
}
110110
}

vultr/data_source_vultr_snapshot.go

-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ func dataSourceVultrSnapshot() *schema.Resource {
4242
}
4343

4444
func dataSourceVultrSnapshotRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
45-
4645
client := meta.(*Client).govultrClient()
4746

4847
filters, filtersOk := d.GetOk("filter")

vultr/data_source_vultr_ssh_key.go

-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ func dataSourceVultrSSHKey() *schema.Resource {
3434
}
3535

3636
func dataSourceVultrSSHKeyRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
37-
3837
client := meta.(*Client).govultrClient()
3938

4039
filters, filtersOk := d.GetOk("filter")

vultr/data_source_vultr_ssh_key_test.go

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
)
1010

1111
func TestAccVultrSSHKey(t *testing.T) {
12-
1312
rName := fmt.Sprintf("%s-%d-terraform", acctest.RandString(3), acctest.RandInt())
1413
rSSH, _, err := acctest.RandSSHKeyPair("foobar")
1514
name := "data.vultr_ssh_key.my_key"

vultr/data_source_vultr_startup_script.go

-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ func dataSourceVultrStartupScript() *schema.Resource {
3838
}
3939

4040
func dataSourceVultrStartupScriptRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
41-
4241
client := meta.(*Client).govultrClient()
4342

4443
filters, filtersOk := d.GetOk("filter")

vultr/data_source_vultr_startup_script_test.go

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
)
1010

1111
func TestAccVultrStartupScript(t *testing.T) {
12-
1312
rName := acctest.RandomWithPrefix("tf-startup-ds")
1413
name := "data.vultr_startup_script.my_script"
1514

0 commit comments

Comments
 (0)