From 4c4f35cf3c56756b317290b33247bb18349a3546 Mon Sep 17 00:00:00 2001 From: ziyeqf <51212351+ziyeqf@users.noreply.github.com> Date: Thu, 8 Jun 2023 00:19:45 +0800 Subject: [PATCH] `azurerm_sentinel_data_connector_microsoft_threat_intelligence`: deprecate `bing_safety_phishing_url_lookback_date` (#21954) --- ...connector_microsoft_threat_intelligence.go | 29 ++++++++++++++----- ...ctor_microsoft_threat_intelligence_test.go | 1 - ...icrosoft_threat_intelligence.html.markdown | 5 +++- 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/internal/services/sentinel/sentinel_data_connector_microsoft_threat_intelligence.go b/internal/services/sentinel/sentinel_data_connector_microsoft_threat_intelligence.go index 3838b73a9397..36482c5b33a4 100644 --- a/internal/services/sentinel/sentinel_data_connector_microsoft_threat_intelligence.go +++ b/internal/services/sentinel/sentinel_data_connector_microsoft_threat_intelligence.go @@ -8,6 +8,7 @@ import ( "github.com/hashicorp/go-azure-sdk/resource-manager/operationalinsights/2022-10-01/workspaces" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/hashicorp/terraform-provider-azurerm/internal/features" "github.com/hashicorp/terraform-provider-azurerm/internal/sdk" "github.com/hashicorp/terraform-provider-azurerm/internal/services/sentinel/parse" "github.com/hashicorp/terraform-provider-azurerm/internal/services/sentinel/validate" @@ -33,7 +34,7 @@ type DataConnectorMicrosoftThreatIntelligenceDataType struct { } func (s DataConnectorMicrosoftThreatIntelligenceResource) Arguments() map[string]*schema.Schema { - return map[string]*schema.Schema{ + res := map[string]*schema.Schema{ "name": { Type: pluginsdk.TypeString, Required: true, @@ -56,22 +57,36 @@ func (s DataConnectorMicrosoftThreatIntelligenceResource) Arguments() map[string ValidateFunc: validation.IsUUID, }, - "bing_safety_phishing_url_lookback_date": { + //lintignore: S013 + "microsoft_emerging_threat_feed_lookback_date": { Type: pluginsdk.TypeString, - Optional: true, ForceNew: true, + Optional: !features.FourPointOh(), + Required: features.FourPointOh(), ValidateFunc: validation.IsRFC3339Time, - AtLeastOneOf: []string{"bing_safety_phishing_url_lookback_date", "microsoft_emerging_threat_feed_lookback_date"}, + AtLeastOneOf: func() []string { + if !features.FourPointOh() { + return []string{"bing_safety_phishing_url_lookback_date", "microsoft_emerging_threat_feed_lookback_date"} + } + return []string{} + }(), }, + } - "microsoft_emerging_threat_feed_lookback_date": { + if !features.FourPointOh() { + // this has been removed in newer API version, and it's actually not working in current API version + // TODO Remove in 4.0 + res["bing_safety_phishing_url_lookback_date"] = &schema.Schema{ + Deprecated: "This field is deprecated and will be removed in version 4.0 of the AzureRM Provider.", Type: pluginsdk.TypeString, - ForceNew: true, Optional: true, + ForceNew: true, ValidateFunc: validation.IsRFC3339Time, AtLeastOneOf: []string{"bing_safety_phishing_url_lookback_date", "microsoft_emerging_threat_feed_lookback_date"}, - }, + } } + + return res } func (s DataConnectorMicrosoftThreatIntelligenceResource) Attributes() map[string]*schema.Schema { diff --git a/internal/services/sentinel/sentinel_data_connector_microsoft_threat_intelligence_test.go b/internal/services/sentinel/sentinel_data_connector_microsoft_threat_intelligence_test.go index 2f307338bb96..d78d38159d95 100644 --- a/internal/services/sentinel/sentinel_data_connector_microsoft_threat_intelligence_test.go +++ b/internal/services/sentinel/sentinel_data_connector_microsoft_threat_intelligence_test.go @@ -68,7 +68,6 @@ resource "azurerm_sentinel_data_connector_microsoft_threat_intelligence" "test" log_analytics_workspace_id = azurerm_sentinel_log_analytics_workspace_onboarding.test.workspace_id tenant_id = data.azurerm_client_config.test.tenant_id microsoft_emerging_threat_feed_lookback_date = "1970-01-01T00:00:00Z" - bing_safety_phishing_url_lookback_date = "1970-01-01T00:00:00Z" } `, r.template(data), data.RandomInteger) } diff --git a/website/docs/r/sentinel_data_connector_microsoft_threat_intelligence.html.markdown b/website/docs/r/sentinel_data_connector_microsoft_threat_intelligence.html.markdown index 5bc910eefe0f..c013a1ba33e9 100644 --- a/website/docs/r/sentinel_data_connector_microsoft_threat_intelligence.html.markdown +++ b/website/docs/r/sentinel_data_connector_microsoft_threat_intelligence.html.markdown @@ -36,7 +36,6 @@ resource "azurerm_sentinel_log_analytics_workspace_onboarding" "example" { resource "azurerm_sentinel_data_connector_microsoft_threat_intelligence" "example" { name = "example-dc-msti" log_analytics_workspace_id = azurerm_sentinel_log_analytics_workspace_onboarding.example.workspace_id - bing_safety_phishing_url_lookback_date = "1970-01-01T00:00:00Z" microsoft_emerging_threat_feed_lookback_date = "1970-01-01T00:00:00Z" } ``` @@ -51,8 +50,12 @@ The following arguments are supported: * `bing_safety_phishing_url_lookback_date` - (Optional) The lookback date for the Bing Safety Phishing Url in RFC3339. Changing this forces a new Data Connector to be created. +-> **Note:** `bing_safety_phishing_url_lookback_date` has been deprecated as the API no longer supports it and will be removed in version 4.0 of the provider. + * `microsoft_emerging_threat_feed_lookback_date` - (Optional) The lookback date for the Microsoft Emerging Threat Feed in RFC3339. Changing this forces a new Data Connector to be created. +-> **Note:** `microsoft_emerging_threat_feed_lookback_date` will be required in version 4.0 of the provider. + -> **NOTE:** At least one of `bing_safety_phishing_url_lookback_date` and `microsoft_emerging_threat_feed_lookback_date` must be specified. ---