Skip to content

Commit ce1341f

Browse files
authored
fix: monitor - throw multi errors hidden in array (#1119)
* fix: monitor - throw multi errors hidden in array * fix: monitor - read type error fields
1 parent 1e2e5eb commit ce1341f

File tree

12 files changed

+225
-37
lines changed

12 files changed

+225
-37
lines changed

go.mod

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ require (
1010
github.com/fatih/color v1.9.0
1111
github.com/golangci/golangci-lint v1.27.0
1212
github.com/google/go-querystring v1.1.0 // indirect
13+
github.com/hashicorp/errwrap v1.1.0 // indirect
14+
github.com/hashicorp/go-multierror v1.1.1
1315
github.com/hashicorp/hcl/v2 v2.6.0
1416
github.com/hashicorp/terraform-plugin-sdk v1.14.0
1517
github.com/katbyte/terrafmt v0.2.0

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t
204204
github.com/hashicorp/errwrap v0.0.0-20180715044906-d6c0cd880357/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
205205
github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
206206
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
207+
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
208+
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
207209
github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
208210
github.com/hashicorp/go-cleanhttp v0.5.1 h1:dH3aiDG9Jvb5r5+bYHsikaOUIpcM0xvgMXVoDkXMzJM=
209211
github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
@@ -215,6 +217,8 @@ github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrj
215217
github.com/hashicorp/go-multierror v0.0.0-20180717150148-3d5d8f294aa0/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I=
216218
github.com/hashicorp/go-multierror v1.0.0 h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uPribsnS6o=
217219
github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
220+
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
221+
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
218222
github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY=
219223
github.com/hashicorp/go-plugin v1.2.0 h1:CUfYokW0EJNDcGecVrHZK//Cp1GFlHwoqtcUIEiU6BY=
220224
github.com/hashicorp/go-plugin v1.2.0/go.mod h1:F9eH4LrE/ZsRdbwhfjs9k9HoDUwAHnYtXdgmf1AVNs0=

tencentcloud/resource_tc_monitor_alarm_policy.go

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,10 @@ package tencentcloud
226226
import (
227227
"fmt"
228228
"log"
229+
"strconv"
230+
"time"
231+
232+
"github.com/hashicorp/go-multierror"
229233

230234
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
231235
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
@@ -735,11 +739,26 @@ func resourceTencentMonitorAlarmPolicyRead(d *schema.ResourceData, meta interfac
735739
d.Set("remark", policy.Remark),
736740
d.Set("enable", policy.Enable),
737741
d.Set("project_id", policy.ProjectId),
738-
d.Set("conditon_template_id", policy.ConditionTemplateId),
739-
d.Set("create_time", policy.InsertTime),
740-
d.Set("update_time", policy.UpdateTime),
741742
)
742743

744+
if policy.ConditionTemplateId != nil && *policy.ConditionTemplateId != "" {
745+
id, err := strconv.ParseInt(*policy.ConditionTemplateId, 10, 64)
746+
if id != 0 && err == nil {
747+
errs = append(errs, d.Set("conditon_template_id", id))
748+
}
749+
}
750+
751+
if policy.InsertTime != nil {
752+
t := time.Unix(*policy.InsertTime, 0)
753+
tFmt := t.Format("2006-01-02 15:04:05")
754+
errs = append(errs, d.Set("create_time", tFmt))
755+
}
756+
if policy.UpdateTime != nil {
757+
t := time.Unix(*policy.UpdateTime, 0)
758+
tFmt := t.Format("2006-01-02 15:04:05")
759+
errs = append(errs, d.Set("update_time", tFmt))
760+
}
761+
743762
var rules = make([]interface{}, 0, 100)
744763
for _, rule := range policy.Condition.Rules {
745764

@@ -832,11 +851,14 @@ func resourceTencentMonitorAlarmPolicyRead(d *schema.ResourceData, meta interfac
832851
}
833852
_ = d.Set("policy_tag", tagSets)
834853

835-
if len(errs) > 0 {
836-
return errs[0]
837-
} else {
838-
return nil
854+
var errResults *multierror.Error
855+
for i := range errs {
856+
err := errs[i]
857+
if err != nil {
858+
errResults = multierror.Append(errResults, err)
859+
}
839860
}
861+
return errResults.ErrorOrNil()
840862
}
841863

842864
func resourceTencentMonitorAlarmPolicyUpdate(d *schema.ResourceData, meta interface{}) error {

vendor/github.com/hashicorp/errwrap/errwrap.go

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/hashicorp/go-multierror/.travis.yml

Lines changed: 0 additions & 12 deletions
This file was deleted.

vendor/github.com/hashicorp/go-multierror/README.md

Lines changed: 61 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/hashicorp/go-multierror/append.go

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/hashicorp/go-multierror/go.mod

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/hashicorp/go-multierror/go.sum

Lines changed: 0 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/hashicorp/go-multierror/group.go

Lines changed: 38 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)