From d9a4ada1ff9bf9a6a9fd69b2ba2b4d7460704e9d Mon Sep 17 00:00:00 2001 From: Deepak Chhikara Date: Fri, 11 Aug 2023 13:56:44 +0530 Subject: [PATCH] [fix]: [SRM-15255]: Removing enabled scope from terraform (#640) * [fix]: [SRM-15255]: Deprecating enabled scope from terraform --------- Signed-off-by: Mirko Teodorovic Co-authored-by: Mirko Teodorovic --- .changelog/640.txt | 3 + docs/resources/platform_monitored_service.md | 3 +- .../resource.tf | 1 - go.mod | 2 +- go.sum | 4 +- .../data_source_monitored_service_test.go | 1 - .../resource_monitored_service.go | 3 +- .../resource_monitored_service_test.go | 79 +++++++++++++++++++ .../platform/slo/data_source_slo_test.go | 1 - .../service/platform/slo/resource_slo_test.go | 1 - 10 files changed, 88 insertions(+), 10 deletions(-) create mode 100644 .changelog/640.txt diff --git a/.changelog/640.txt b/.changelog/640.txt new file mode 100644 index 000000000..75288c891 --- /dev/null +++ b/.changelog/640.txt @@ -0,0 +1,3 @@ +```release-note:bug + - Deprecated enabled from the monitored service dto to not allow customer to set monitored service as enabled to start with via terraform +``` \ No newline at end of file diff --git a/docs/resources/platform_monitored_service.md b/docs/resources/platform_monitored_service.md index fafde48d1..e8ea3c6ee 100644 --- a/docs/resources/platform_monitored_service.md +++ b/docs/resources/platform_monitored_service.md @@ -71,7 +71,6 @@ resource "harness_platform_monitored_service" "example" { notification_rule_ref = "notification_rule_ref1" enabled = false } - enabled = true } } ``` @@ -107,9 +106,9 @@ Optional: - `dependencies` (Block Set) Dependencies of the monitored service. (see [below for nested schema](#nestedblock--request--dependencies)) - `description` (String) Description for the monitored service. -- `enabled` (Boolean) Enable or disable the monitored service. - `environment_ref_list` (List of String) Environment reference list for the monitored service. - `notification_rule_refs` (Block List) Notification rule references for the monitored service. (see [below for nested schema](#nestedblock--request--notification_rule_refs)) +- `enabled` (Boolean) Enable or disable the monitored service. Enabled field is deprecated. - `tags` (Set of String) Tags for the monitored service. comma-separated key value string pairs. - `template_ref` (String) Template reference for the monitored service. - `version_label` (String) Template version label for the monitored service. diff --git a/examples/resources/harness_platform_monitored_service/resource.tf b/examples/resources/harness_platform_monitored_service/resource.tf index 43490ba4c..d7d37dc9a 100644 --- a/examples/resources/harness_platform_monitored_service/resource.tf +++ b/examples/resources/harness_platform_monitored_service/resource.tf @@ -56,6 +56,5 @@ resource "harness_platform_monitored_service" "example" { } template_ref = "template_ref" version_label = "version_label" - enabled = true } } \ No newline at end of file diff --git a/go.mod b/go.mod index 0fcd56dc7..4c834b8d6 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.18 require ( github.com/antihax/optional v1.0.0 github.com/docker/docker v20.10.22+incompatible - github.com/harness/harness-go-sdk v0.3.41 + github.com/harness/harness-go-sdk v0.3.42 github.com/harness/harness-openapi-go-client v0.0.17 github.com/hashicorp/terraform-plugin-sdk/v2 v2.27.0 github.com/pkg/errors v0.9.1 diff --git a/go.sum b/go.sum index c2e2a9a5c..d82f39a6e 100644 --- a/go.sum +++ b/go.sum @@ -46,8 +46,8 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/harness/harness-go-sdk v0.3.41 h1:KwH+1NrRV72lSH/4YsQqNOP7JOZVCj1L5kH1Jnd1zb8= -github.com/harness/harness-go-sdk v0.3.41/go.mod h1:CPXydorp4zd5Dz2u2FXiHyWL4yd5PQafOMN69cgPSvk= +github.com/harness/harness-go-sdk v0.3.42 h1:zvj2Dq/T5LA3fmoMLf8BX50spC1ado5JWnjBCFzK/kc= +github.com/harness/harness-go-sdk v0.3.42/go.mod h1:CPXydorp4zd5Dz2u2FXiHyWL4yd5PQafOMN69cgPSvk= github.com/harness/harness-openapi-go-client v0.0.17 h1:EZneIyi6sV+dlTgXbawxdVD0OoDmG3mnGHEJbwslRzc= github.com/harness/harness-openapi-go-client v0.0.17/go.mod h1:u0vqYb994BJGotmEwJevF4L3BNAdU9i8ui2d22gmLPA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= diff --git a/internal/service/platform/monitored_service/data_source_monitored_service_test.go b/internal/service/platform/monitored_service/data_source_monitored_service_test.go index 647c96cfe..b6b8d0a34 100644 --- a/internal/service/platform/monitored_service/data_source_monitored_service_test.go +++ b/internal/service/platform/monitored_service/data_source_monitored_service_test.go @@ -95,7 +95,6 @@ func testAccDataSourceMonitoredService(id string, name string) string { } template_ref = "template_ref" version_label = "version_label" - enabled = true } } diff --git a/internal/service/platform/monitored_service/resource_monitored_service.go b/internal/service/platform/monitored_service/resource_monitored_service.go index 39d9b54e4..a3f595805 100644 --- a/internal/service/platform/monitored_service/resource_monitored_service.go +++ b/internal/service/platform/monitored_service/resource_monitored_service.go @@ -210,6 +210,7 @@ func ResourceMonitoredService() *schema.Resource { Description: "Enable or disable the monitored service.", Type: schema.TypeBool, Optional: true, + Deprecated: "enabled field is deprecated", }, }, }, @@ -396,7 +397,6 @@ func buildMonitoredServiceRequest(d *schema.ResourceData) *nextgen.MonitoredServ VersionLabel: request["version_label"].(string), } - monitoredServiceDto.Enabled = request["enabled"].(bool) } return monitoredServiceDto @@ -411,3 +411,4 @@ func readMonitoredService(d *schema.ResourceData, monitoredServiceResponse **nex d.Set("project_id", (*monitoredServiceDto).ProjectIdentifier) d.Set("identifier", (*monitoredServiceDto).Identifier) } + diff --git a/internal/service/platform/monitored_service/resource_monitored_service_test.go b/internal/service/platform/monitored_service/resource_monitored_service_test.go index f447b717c..e6524df13 100644 --- a/internal/service/platform/monitored_service/resource_monitored_service_test.go +++ b/internal/service/platform/monitored_service/resource_monitored_service_test.go @@ -242,3 +242,82 @@ func testMonitoredServiceWithoutChangeSource(id string, name string) string { } `, id, name) } + +func TestMonitoredServiceWithoutEnabled(t *testing.T) { + name := t.Name() + id := fmt.Sprintf("%s_%s", name, utils.RandStringBytes(5)) + updatedName := fmt.Sprintf("%s_updated", name) + resourceName := "harness_platform_monitored_service.test" + + resource.UnitTest(t, resource.TestCase{ + PreCheck: func() { acctest.TestAccPreCheck(t) }, + ProviderFactories: acctest.ProviderFactories, + CheckDestroy: testAccMonitoredServiceDestroy(resourceName), + Steps: []resource.TestStep{ + { + Config: testMonitoredServiceWithoutEnabled(id, name), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr(resourceName, "id", id), + ), + }, + { + Config: testMonitoredServiceWithoutEnabled(id, updatedName), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr(resourceName, "id", id), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.ProjectResourceImportStateIdFunc(resourceName), + }, + }, + }) +} + +func testMonitoredServiceWithoutEnabled(id string, name string) string { + return fmt.Sprintf(` + resource "harness_platform_organization" "test" { + identifier = "%[1]s" + name = "%[2]s" + } + + resource "harness_platform_project" "test" { + identifier = "%[1]s" + name = "%[2]s" + org_id = harness_platform_organization.test.id + color = "#472848" + } + + resource "harness_platform_monitored_service" "test" { + org_id = harness_platform_project.test.org_id + project_id = harness_platform_project.test.id + identifier = "%[1]s" + request { + name = "%[2]s" + type = "Application" + description = "description" + service_ref = "service_ref" + environment_ref = "environment_ref" + tags = ["foo:bar", "bar:foo"] + health_sources { + name = "name" + identifier = "identifier" + type = "DatadogLog" + spec = jsonencode({ + connectorRef = "connectorRef" + feature = "feature" + queries = [ + { + name = "name" + query = "query" + indexes = ["index"] + serviceInstanceIdentifier = "serviceInstanceIdentifier" + } + ]}) + } + } + } +`, id, name) +} + diff --git a/internal/service/platform/slo/data_source_slo_test.go b/internal/service/platform/slo/data_source_slo_test.go index 954c98f4f..81acebe81 100644 --- a/internal/service/platform/slo/data_source_slo_test.go +++ b/internal/service/platform/slo/data_source_slo_test.go @@ -118,7 +118,6 @@ func testAccDataSourceSlo(id string, name string) string { } template_ref = "template_ref" version_label = "version_label" - enabled = true } } diff --git a/internal/service/platform/slo/resource_slo_test.go b/internal/service/platform/slo/resource_slo_test.go index 9b2b31066..b39ff8078 100644 --- a/internal/service/platform/slo/resource_slo_test.go +++ b/internal/service/platform/slo/resource_slo_test.go @@ -204,7 +204,6 @@ func testAccResourceSlo(id string, name string) string { } template_ref = "template_ref" version_label = "version_label" - enabled = true } }