Skip to content

Commit 6d043bc

Browse files
authored
[datadog_security_monitoring_rule] Add default tag support (#2968)
* [datadog_security_monitoring_rule] Add default tag support * [datadog_security_monitoring_rule] Added tests for default tags * [datadog_security_monitoring_rule] Addressed documentation comment * [datadog_security_monitoring_rule] Ran acceptance tests with record
1 parent 444c4d1 commit 6d043bc

File tree

29 files changed

+2351
-1443
lines changed

29 files changed

+2351
-1443
lines changed

datadog/fwprovider/framework_provider.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -222,13 +222,13 @@ func (p *FrameworkProvider) Schema(_ context.Context, _ provider.SchemaRequest,
222222
Validators: []validator.List{
223223
listvalidator.SizeAtMost(1),
224224
},
225-
Description: "[Experimental - Monitors and Logs Pipelines only] Configuration block containing settings to apply default resource tags across all resources.",
225+
Description: "[Experimental - Logs Pipelines, Monitors and Security Monitoring Rules only] Configuration block containing settings to apply default resource tags across all resources.",
226226
NestedObject: schema.NestedBlockObject{
227227
Attributes: map[string]schema.Attribute{
228228
"tags": schema.MapAttribute{
229229
ElementType: types.StringType,
230230
Optional: true,
231-
Description: "[Experimental - Monitors and Logs Pipelines only] Resource tags to be applied by default across all resources.",
231+
Description: "[Experimental - Logs Pipelines, Monitors and Security Monitoring Rules only] Resource tags to be applied by default across all resources.",
232232
},
233233
},
234234
},

datadog/provider.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,14 +159,14 @@ func Provider() *schema.Provider {
159159
Type: schema.TypeList,
160160
Optional: true,
161161
MaxItems: 1,
162-
Description: "[Experimental - Monitors and Logs Pipelines only] Configuration block containing settings to apply default resource tags across all resources.",
162+
Description: "[Experimental - Logs Pipelines, Monitors and Security Monitoring Rules only] Configuration block containing settings to apply default resource tags across all resources.",
163163
Elem: &schema.Resource{
164164
Schema: map[string]*schema.Schema{
165165
"tags": {
166166
Type: schema.TypeMap,
167167
Optional: true,
168168
Elem: &schema.Schema{Type: schema.TypeString},
169-
Description: "[Experimental - Monitors and Logs Pipelines only] Resource tags to be applied by default across all resources.",
169+
Description: "[Experimental - Logs Pipelines, Monitors and Security Monitoring Rules only] Resource tags to be applied by default across all resources.",
170170
},
171171
},
172172
},

datadog/resource_datadog_security_monitoring_rule.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111

1212
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
1313
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
14+
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/customdiff"
1415
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1516
)
1617

@@ -21,7 +22,7 @@ func resourceDatadogSecurityMonitoringRule() *schema.Resource {
2122
ReadContext: resourceDatadogSecurityMonitoringRuleRead,
2223
UpdateContext: resourceDatadogSecurityMonitoringRuleUpdate,
2324
DeleteContext: resourceDatadogSecurityMonitoringRuleDelete,
24-
CustomizeDiff: resourceDatadogSecurityMonitoringRuleCustomizeDiff,
25+
CustomizeDiff: customdiff.All(resourceDatadogSecurityMonitoringRuleCustomizeDiff, tagDiff),
2526
Importer: &schema.ResourceImporter{
2627
StateContext: schema.ImportStatePassthroughContext,
2728
},
@@ -444,7 +445,8 @@ func datadogSecurityMonitoringRuleSchema(includeValidate bool) map[string]*schem
444445
"tags": {
445446
Type: schema.TypeSet,
446447
Optional: true,
447-
Description: "Tags for generated signals.",
448+
Computed: true,
449+
Description: "Tags for generated signals. Note: if default tags are present at provider level, they will be added to this resource.",
448450
Elem: &schema.Schema{Type: schema.TypeString},
449451
},
450452

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2025-04-07T12:39:37.478358-04:00
1+
2025-04-29T17:00:32.53202+02:00

datadog/tests/cassettes/TestAccDatadogSecurityMonitoringRule_AppsecRule.yaml

Lines changed: 57 additions & 193 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2025-04-07T14:25:12.472298-04:00
1+
2025-04-29T17:00:32.539248+02:00

datadog/tests/cassettes/TestAccDatadogSecurityMonitoringRule_Basic.yaml

Lines changed: 58 additions & 58 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2025-03-26T14:59:25.962891-04:00
1+
2025-04-29T17:00:32.531644+02:00

datadog/tests/cassettes/TestAccDatadogSecurityMonitoringRule_CreateInvalidRule.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ interactions:
1313
remote_addr: ""
1414
request_uri: ""
1515
body: |
16-
{"cases":[{"condition":"a \u003e 0","name":"","notifications":[],"status":"high"}],"hasExtendedTitle":true,"isEnabled":true,"message":"validation failed","name":"tf-TestAccDatadogSecurityMonitoringRule_CreateInvalidRule-local-1743015565","options":{"decreaseCriticalityBasedOnEnv":false,"detectionMethod":"threshold","evaluationWindow":1800,"keepAlive":3600,"maxSignalDuration":1800},"queries":[{"aggregation":"count","dataSource":"logs","distinctFields":[],"groupByFields":["@userIdentity.assumed_role"],"metric":"","metrics":[],"name":"","query":"source:source_here"}],"tags":["team:security","env:prod"],"type":"log_detection"}
16+
{"cases":[{"condition":"a \u003e 0","name":"","notifications":[],"status":"high"}],"hasExtendedTitle":true,"isEnabled":true,"message":"validation failed","name":"tf-TestAccDatadogSecurityMonitoringRule_CreateInvalidRule-local-1745938832","options":{"decreaseCriticalityBasedOnEnv":false,"detectionMethod":"threshold","evaluationWindow":1800,"keepAlive":3600,"maxSignalDuration":1800},"queries":[{"aggregation":"count","dataSource":"logs","distinctFields":[],"groupByFields":["@userIdentity.assumed_role"],"metric":"","metrics":[],"name":"","query":"source:source_here"}],"tags":["team:security","env:prod"],"type":"log_detection"}
1717
form: {}
1818
headers:
1919
Accept:
@@ -36,4 +36,4 @@ interactions:
3636
- application/json
3737
status: 400 Bad Request
3838
code: 400
39-
duration: 152.514459ms
39+
duration: 385.698792ms
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2025-04-03T15:56:34.113385-04:00
1+
2025-04-29T17:00:32.537628+02:00

0 commit comments

Comments
 (0)