Skip to content

Commit 0191974

Browse files
authored
Merge pull request #533 from SumoLogic/TRIDENT-18052
TRIDENT-18052: Add InsightConfiguration Field
2 parents 39c7d7b + ff6e102 commit 0191974

File tree

5 files changed

+27
-10
lines changed

5 files changed

+27
-10
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
## 2.23.1 (Unreleased)
22
FEATURES:
33
* **New Resource:** sumologic_cse_outlier_rule (GH-532)
4+
* Add new optional `global_signal_suppression_window` field to sumologic_cse_insights_configuration (TRIDENT-18052)
45

56
## 2.23.0 (May 24, 2023)
67
FEATURES:

sumologic/resource_sumologic_cse_insights_configuration.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ func resourceSumologicCSEInsightsConfiguration() *schema.Resource {
2626
Optional: true,
2727
ForceNew: false,
2828
},
29+
"global_signal_suppression_window": {
30+
Type: schema.TypeFloat,
31+
Optional: true,
32+
ForceNew: false,
33+
},
2934
},
3035
}
3136
}
@@ -49,6 +54,7 @@ func resourceSumologicCSEInsightsConfigurationRead(d *schema.ResourceData, meta
4954

5055
d.Set("lookback_days", CSEInsightsConfiguration.LookbackDays)
5156
d.Set("threshold", CSEInsightsConfiguration.Threshold)
57+
d.Set("global_signal_suppression_window", CSEInsightsConfiguration.GlobalSignalSuppressionWindow)
5258

5359
return nil
5460
}
@@ -93,9 +99,11 @@ func resourceToCSEInsightsConfiguration(d *schema.ResourceData) (CSEInsightsConf
9399

94100
lookbackDays := d.Get("lookback_days").(float64)
95101
threshold := d.Get("threshold").(float64)
102+
globalSignalSuppressionWindow := d.Get("global_signal_suppression_window").(float64)
96103

97104
return CSEInsightsConfiguration{
98-
LookbackDays: &lookbackDays,
99-
Threshold: &threshold,
105+
LookbackDays: &lookbackDays,
106+
Threshold: &threshold,
107+
GlobalSignalSuppressionWindow: &globalSignalSuppressionWindow,
100108
}, nil
101109
}

sumologic/resource_sumologic_cse_insights_configuration_test.go

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,18 @@ func TestAccSumologicSCEInsightsConfiguration_create(t *testing.T) {
1414
var insightConfiguration CSEInsightsConfiguration
1515
nLookbackDays := 10.0
1616
nThreshold := 13.0
17+
nGlobalSignalSuppressionWindow := 48.0
1718
resourceName := "sumologic_cse_insights_configuration.insights_configuration"
1819
resource.Test(t, resource.TestCase{
1920
PreCheck: func() { testAccPreCheck(t) },
2021
Providers: testAccProviders,
2122
CheckDestroy: testAccCSEInsightsConfigurationDestroy,
2223
Steps: []resource.TestStep{
2324
{
24-
Config: testCreateCSEInsightsConfigurationConfig(nLookbackDays, nThreshold),
25+
Config: testCreateCSEInsightsConfigurationConfig(nLookbackDays, nThreshold, nGlobalSignalSuppressionWindow),
2526
Check: resource.ComposeTestCheckFunc(
2627
testCheckCSEInsightsConfigurationExists(resourceName, &insightConfiguration),
27-
testCheckInsightsConfigurationValues(&insightConfiguration, nLookbackDays, nThreshold),
28+
testCheckInsightsConfigurationValues(&insightConfiguration, nLookbackDays, nThreshold, nGlobalSignalSuppressionWindow),
2829
resource.TestCheckResourceAttrSet(resourceName, "id"),
2930
),
3031
},
@@ -49,21 +50,22 @@ func testAccCSEInsightsConfigurationDestroy(s *terraform.State) error {
4950
return fmt.Errorf("Encountered an error: " + err.Error())
5051
}
5152
if s != nil {
52-
if s.Threshold != nil && s.LookbackDays != nil {
53+
if s.Threshold != nil && s.LookbackDays != nil && s.GlobalSignalSuppressionWindow != nil {
5354
return fmt.Errorf("insight Configuration still exists")
5455
}
5556
}
5657
}
5758
return nil
5859
}
5960

60-
func testCreateCSEInsightsConfigurationConfig(nLookbackDays float64, nThreshold float64) string {
61+
func testCreateCSEInsightsConfigurationConfig(nLookbackDays float64, nThreshold float64, nGlobalSignalSuppressionWindow float64) string {
6162
return fmt.Sprintf(`
6263
resource "sumologic_cse_insights_configuration" "insights_configuration" {
6364
lookback_days = "%f"
6465
threshold = "%f"
66+
global_signal_suppression_window = "%f"
6567
}
66-
`, nLookbackDays, nThreshold)
68+
`, nLookbackDays, nThreshold, nGlobalSignalSuppressionWindow)
6769
}
6870

6971
func testCheckCSEInsightsConfigurationExists(n string, insightConfiguration *CSEInsightsConfiguration) resource.TestCheckFunc {
@@ -89,14 +91,17 @@ func testCheckCSEInsightsConfigurationExists(n string, insightConfiguration *CSE
8991
}
9092
}
9193

92-
func testCheckInsightsConfigurationValues(insightConfiguration *CSEInsightsConfiguration, nLookbackDays float64, nThreshold float64) resource.TestCheckFunc {
94+
func testCheckInsightsConfigurationValues(insightConfiguration *CSEInsightsConfiguration, nLookbackDays float64, nThreshold float64, nGlobalSignalSuppressionWindow float64) resource.TestCheckFunc {
9395
return func(s *terraform.State) error {
9496
if *insightConfiguration.LookbackDays != nLookbackDays {
9597
return fmt.Errorf("bad lookback days, expected \"%f\", got: %#v", nLookbackDays, insightConfiguration.LookbackDays)
9698
}
9799
if *insightConfiguration.Threshold != nThreshold {
98100
return fmt.Errorf("bad threshold, expected \"%f\", got: %#v", nThreshold, insightConfiguration.Threshold)
99101
}
102+
if *insightConfiguration.GlobalSignalSuppressionWindow != nGlobalSignalSuppressionWindow {
103+
return fmt.Errorf("bad global signal suppression window, expected \"%f\", got: %#v", nGlobalSignalSuppressionWindow, insightConfiguration.GlobalSignalSuppressionWindow)
104+
}
100105

101106
return nil
102107
}

sumologic/sumologic_cse_insights_configuration.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ type CSEInsightsConfigurationResponse struct {
4444
}
4545

4646
type CSEInsightsConfiguration struct {
47-
LookbackDays *float64 `json:"lookbackDays,omitempty"`
48-
Threshold *float64 `json:"threshold,omitempty"`
47+
LookbackDays *float64 `json:"lookbackDays,omitempty"`
48+
Threshold *float64 `json:"threshold,omitempty"`
49+
GlobalSignalSuppressionWindow *float64 `json:"globalSignalSuppressionWindow,omitempty"`
4950
}

website/docs/r/cse_insights_configuration.html.markdown

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Provides the Sumologic CSE Insights Configuration for the whole organization. Th
1313
resource "sumologic_cse_insights_configuration" "insights_configuration" {
1414
lookback_days = 13.0
1515
threshold = 12.0
16+
global_signal_suppression_window = 48.0
1617
}
1718
```
1819

@@ -22,6 +23,7 @@ The following arguments are supported:
2223

2324
- `lookback_days` - (Optional) Detection window expressed in days.
2425
- `threshold` - (Optional) Detection threshold activity score.
26+
- `global_signal_suppression_window` - (Optional) Detection global signal suppression window expressed in hours.
2527

2628
The following attributes are exported:
2729

0 commit comments

Comments
 (0)