Skip to content

Commit b500317

Browse files
authored
Suppress defaults when planning changes to jira service desk params (#205)
As mentioned in #161, terraform plan shows changes to saved search parameters action_jira_service_desk_param_jira_description and action_jira_service_desk_param_jira_summary when using the defaults for those parameters. From what I can tell, the default values are computed server-side by Splunk. I believe this change will suppress superfluous changes to these Jira parameters, but may break in the future if the Splunk -computed defaults were to change.
1 parent 989dcef commit b500317

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

splunk/resource_splunk_saved_searches.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ import (
1313
"github.com/splunk/terraform-provider-splunk/client/models"
1414
)
1515

16+
func suppressDefault(defaultValue string) schema.SchemaDiffSuppressFunc {
17+
return func(k, old, new string, d *schema.ResourceData) bool {
18+
return old == defaultValue && new == ""
19+
}
20+
}
21+
1622
func savedSearches() *schema.Resource {
1723
return &schema.Resource{
1824
Schema: map[string]*schema.Schema{
@@ -673,6 +679,7 @@ func savedSearches() *schema.Resource {
673679
Type: schema.TypeString,
674680
Optional: true,
675681
Description: "Jira Issue Summary or title",
682+
DiffSuppressFunc: suppressDefault("Splunk Alert: $name$"),
676683
},
677684
"action_jira_service_desk_param_jira_priority": {
678685
Type: schema.TypeString,
@@ -683,6 +690,7 @@ func savedSearches() *schema.Resource {
683690
Type: schema.TypeString,
684691
Optional: true,
685692
Description: "Enter the description of issue created",
693+
DiffSuppressFunc: suppressDefault("The alert condition for '$name$' was triggered."),
686694
},
687695
"action_jira_service_desk_param_jira_customfields": {
688696
Type: schema.TypeString,
@@ -1483,14 +1491,18 @@ func savedSearchesRead(d *schema.ResourceData, meta interface{}) error {
14831491
if err = d.Set("action_jira_service_desk_param_jira_issue_type", entry.Content.ActionJiraServiceDeskParamJiraIssueType); err != nil {
14841492
return err
14851493
}
1486-
if err = d.Set("action_jira_service_desk_param_jira_summary", entry.Content.ActionJiraServiceDeskParamJiraSummary); err != nil {
1487-
return err
1494+
if entry.Content.ActionJiraServiceDeskParamJiraSummary != "Splunk Alert: $name$" {
1495+
if err = d.Set("action_jira_service_desk_param_jira_summary", entry.Content.ActionJiraServiceDeskParamJiraSummary); err != nil {
1496+
return err
1497+
}
14881498
}
14891499
if err = d.Set("action_jira_service_desk_param_jira_priority", entry.Content.ActionJiraServiceDeskParamJiraPriority); err != nil {
14901500
return err
14911501
}
1492-
if err = d.Set("action_jira_service_desk_param_jira_description", entry.Content.ActionJiraServiceDeskParamJiraDescription); err != nil {
1493-
return err
1502+
if entry.Content.ActionJiraServiceDeskParamJiraDescription != "The alert condition for '$name$' was triggered." {
1503+
if err = d.Set("action_jira_service_desk_param_jira_description", entry.Content.ActionJiraServiceDeskParamJiraDescription); err != nil {
1504+
return err
1505+
}
14941506
}
14951507
if err = d.Set("action_jira_service_desk_param_jira_customfields", entry.Content.ActionJiraServiceDeskParamJiraCustomfields); err != nil {
14961508
return err

0 commit comments

Comments
 (0)