Skip to content

Commit 8c3f3f3

Browse files
fix bugs
1 parent 6e6bd84 commit 8c3f3f3

5 files changed

+21
-31
lines changed

datadog/fwprovider/data_source_datadog_csm_threats_multi_policy_agent_rules.go

+14-14
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ func (r *csmThreatsMultiPolicyAgentRulesDataSource) Read(ctx context.Context, re
131131
}
132132

133133
stateId := strings.Join(agentRuleIds, "--")
134-
state.Id = types.StringValue(computeDataSourceID(&stateId))
134+
state.Id = types.StringValue(computeMultiPolicyAgentRulesID(&stateId))
135135
tfAgentRuleIds, diags := types.ListValueFrom(ctx, types.StringType, agentRuleIds)
136136
response.Diagnostics.Append(diags...)
137137
state.AgentRulesIds = tfAgentRuleIds
@@ -140,6 +140,19 @@ func (r *csmThreatsMultiPolicyAgentRulesDataSource) Read(ctx context.Context, re
140140
response.Diagnostics.Append(response.State.Set(ctx, &state)...)
141141
}
142142

143+
func computeMultiPolicyAgentRulesID(ids *string) string {
144+
// Key for hashing
145+
var b strings.Builder
146+
if ids != nil {
147+
b.WriteString(*ids)
148+
}
149+
keyStr := b.String()
150+
h := sha256.New()
151+
h.Write([]byte(keyStr))
152+
153+
return fmt.Sprintf("%x", h.Sum(nil))
154+
}
155+
143156
func (*csmThreatsMultiPolicyAgentRulesDataSource) Schema(_ context.Context, _ datasource.SchemaRequest, response *datasource.SchemaResponse) {
144157
response.Schema = schema.Schema{
145158
Description: "Use this data source to retrieve information about existing Agent rules.",
@@ -173,16 +186,3 @@ func (*csmThreatsMultiPolicyAgentRulesDataSource) Schema(_ context.Context, _ da
173186
},
174187
}
175188
}
176-
177-
func computeDataSourceID(ids *string) string {
178-
// Key for hashing
179-
var b strings.Builder
180-
if ids != nil {
181-
b.WriteString(*ids)
182-
}
183-
keyStr := b.String()
184-
h := sha256.New()
185-
h.Write([]byte(keyStr))
186-
187-
return fmt.Sprintf("%x", h.Sum(nil))
188-
}

datadog/fwprovider/data_source_datadog_csm_threats_policy.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ func (r *csmThreatsPoliciesDataSource) Read(ctx context.Context, request datasou
7272
}
7373

7474
stateId := strings.Join(policyIds, "--")
75-
state.Id = types.StringValue(computeDataSourceID(&stateId))
75+
state.Id = types.StringValue(computeMultiPolicyAgentRulesID(&stateId))
7676
tfAgentRuleIds, diags := types.ListValueFrom(ctx, types.StringType, policyIds)
7777
response.Diagnostics.Append(diags...)
7878
state.PolicyIds = tfAgentRuleIds

datadog/fwprovider/resource_datadog_csm_threats_multi_policies.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package fwprovider
33
import (
44
"context"
55
"fmt"
6+
"sync"
67

78
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
89
"github.com/hashicorp/terraform-plugin-framework/diag"
@@ -15,8 +16,9 @@ import (
1516
)
1617

1718
var (
18-
_ resource.ResourceWithConfigure = &csmThreatsPoliciesListResource{}
19-
_ resource.ResourceWithImportState = &csmThreatsPoliciesListResource{}
19+
csmThreatsMutex sync.Mutex
20+
_ resource.ResourceWithConfigure = &csmThreatsPoliciesListResource{}
21+
_ resource.ResourceWithImportState = &csmThreatsPoliciesListResource{}
2022
)
2123

2224
type csmThreatsPoliciesListResource struct {

datadog/fwprovider/resource_datadog_csm_threats_multi_policy_agent_rule.go

+2-13
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package fwprovider
33
import (
44
"context"
55
"strings"
6-
"sync"
76

87
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
98
"github.com/hashicorp/terraform-plugin-framework/path"
@@ -17,9 +16,8 @@ import (
1716
)
1817

1918
var (
20-
csmThreatsMutex sync.Mutex
21-
_ resource.ResourceWithConfigure = &csmThreatsMultiPolicyAgentRuleResource{}
22-
_ resource.ResourceWithImportState = &csmThreatsMultiPolicyAgentRuleResource{}
19+
_ resource.ResourceWithConfigure = &csmThreatsMultiPolicyAgentRuleResource{}
20+
_ resource.ResourceWithImportState = &csmThreatsMultiPolicyAgentRuleResource{}
2321
)
2422

2523
type csmThreatsMultiPolicyAgentRuleResource struct {
@@ -110,9 +108,6 @@ func (r *csmThreatsMultiPolicyAgentRuleResource) Create(ctx context.Context, req
110108
return
111109
}
112110

113-
csmThreatsMutex.Lock()
114-
defer csmThreatsMutex.Unlock()
115-
116111
agentRulePayload, err := r.buildCreateCSMThreatsAgentRulePayload(&state)
117112
if err != nil {
118113
response.Diagnostics.AddError("error while parsing resource", err.Error())
@@ -166,9 +161,6 @@ func (r *csmThreatsMultiPolicyAgentRuleResource) Update(ctx context.Context, req
166161
return
167162
}
168163

169-
csmThreatsMutex.Lock()
170-
defer csmThreatsMutex.Unlock()
171-
172164
agentRulePayload, err := r.buildUpdateCSMThreatsAgentRulePayload(&state)
173165
if err != nil {
174166
response.Diagnostics.AddError("error while parsing resource", err.Error())
@@ -195,9 +187,6 @@ func (r *csmThreatsMultiPolicyAgentRuleResource) Delete(ctx context.Context, req
195187
return
196188
}
197189

198-
csmThreatsMutex.Lock()
199-
defer csmThreatsMutex.Unlock()
200-
201190
id := state.Id.ValueString()
202191
policyId := state.PolicyId.ValueString()
203192
httpResp, err := r.api.DeleteCSMThreatsAgentRule(r.auth, id, *datadogV2.NewDeleteCSMThreatsAgentRuleOptionalParameters().WithPolicyId(policyId))

go.mod

-1
Original file line numberDiff line numberDiff line change
@@ -102,4 +102,3 @@ require (
102102
)
103103

104104
go 1.23.0
105-
replace github.com/DataDog/datadog-api-client-go/v2 v2.35.0 => ../datadog-api-spec/generated/datadog-api-client-go

0 commit comments

Comments
 (0)