From 5148b0f119d12c9f295e2f710f4ff709c9e6545c Mon Sep 17 00:00:00 2001 From: Shruti Suryawanshi Date: Mon, 23 Sep 2024 12:01:28 -0400 Subject: [PATCH] resolved comments --- ...urce_genesyscloud_outbound_digitalruleset_test.go | 2 -- ...genesyscloud_outbound_digitalruleset_init_test.go | 1 - .../genesyscloud_outbound_digitalruleset_proxy.go | 12 +++++++++++- .../resource_genesyscloud_outbound_digitalruleset.go | 1 - ...ce_genesyscloud_outbound_digitalruleset_schema.go | 5 ----- ...urce_genesyscloud_outbound_digitalruleset_test.go | 2 -- ...rce_genesyscloud_outbound_digitalruleset_utils.go | 1 - genesyscloud/tfexporter/tf_exporter_resource_test.go | 5 ++++- 8 files changed, 15 insertions(+), 14 deletions(-) diff --git a/genesyscloud/outbound_digitalruleset/data_source_genesyscloud_outbound_digitalruleset_test.go b/genesyscloud/outbound_digitalruleset/data_source_genesyscloud_outbound_digitalruleset_test.go index 46d285ba2..512fec3ce 100644 --- a/genesyscloud/outbound_digitalruleset/data_source_genesyscloud_outbound_digitalruleset_test.go +++ b/genesyscloud/outbound_digitalruleset/data_source_genesyscloud_outbound_digitalruleset_test.go @@ -24,7 +24,6 @@ func TestAccDataSourceOutboundDigitalruleset(t *testing.T) { resourceId = "digital-rule-set" ruleName = "RuleWork" dataSourceId = "data-digital-rule-set" - version1 = "1" ruleOrder = "0" ruleCategory = "PreContact" contactColumnName = "Work" @@ -82,7 +81,6 @@ func TestAccDataSourceOutboundDigitalruleset(t *testing.T) { resourceId, name1, "genesyscloud_outbound_contact_list."+contactListResourceId1+".id", - GenerateDigitalRuleSetVersion(version1), GenerateDigitalRules( ruleName, ruleOrder, diff --git a/genesyscloud/outbound_digitalruleset/genesyscloud_outbound_digitalruleset_init_test.go b/genesyscloud/outbound_digitalruleset/genesyscloud_outbound_digitalruleset_init_test.go index e05a3f122..8ca80c728 100644 --- a/genesyscloud/outbound_digitalruleset/genesyscloud_outbound_digitalruleset_init_test.go +++ b/genesyscloud/outbound_digitalruleset/genesyscloud_outbound_digitalruleset_init_test.go @@ -41,7 +41,6 @@ func (r *registerTestInstance) registerTestDataSources() { defer r.datasourceMapMutex.Unlock() providerDataSources[resourceName] = DataSourceOutboundDigitalruleset() - // TODO: Add references } // initTestResources initializes all test resources and data sources. diff --git a/genesyscloud/outbound_digitalruleset/genesyscloud_outbound_digitalruleset_proxy.go b/genesyscloud/outbound_digitalruleset/genesyscloud_outbound_digitalruleset_proxy.go index 304d5de72..42fcfca8b 100644 --- a/genesyscloud/outbound_digitalruleset/genesyscloud_outbound_digitalruleset_proxy.go +++ b/genesyscloud/outbound_digitalruleset/genesyscloud_outbound_digitalruleset_proxy.go @@ -157,7 +157,17 @@ func getOutboundDigitalrulesetByIdFn(ctx context.Context, p *outboundDigitalrule // updateOutboundDigitalrulesetFn is an implementation of the function to update a Genesys Cloud outbound digitalruleset func updateOutboundDigitalrulesetFn(ctx context.Context, p *outboundDigitalrulesetProxy, id string, outboundDigitalruleset *platformclientv2.Digitalruleset) (*platformclientv2.Digitalruleset, *platformclientv2.APIResponse, error) { - return p.outboundApi.PutOutboundDigitalruleset(id, *outboundDigitalruleset) + digitalRuleSet, resp, err := getOutboundDigitalrulesetByIdFn(ctx, p, id) + if err != nil { + return nil, resp, fmt.Errorf("Failed to fetch ruleset by id %s: %s", id, err) + } + + outboundDigitalruleset.Version = digitalRuleSet.Version + outboundDigitalruleset, resp, err = p.outboundApi.PutOutboundDigitalruleset(id, *outboundDigitalruleset) + if err != nil { + return nil, resp, fmt.Errorf("Failed to update ruleset %s", err) + } + return outboundDigitalruleset, resp, nil } // deleteOutboundDigitalrulesetFn is an implementation function for deleting a Genesys Cloud outbound digitalruleset diff --git a/genesyscloud/outbound_digitalruleset/resource_genesyscloud_outbound_digitalruleset.go b/genesyscloud/outbound_digitalruleset/resource_genesyscloud_outbound_digitalruleset.go index 42154f72d..49693b3bf 100644 --- a/genesyscloud/outbound_digitalruleset/resource_genesyscloud_outbound_digitalruleset.go +++ b/genesyscloud/outbound_digitalruleset/resource_genesyscloud_outbound_digitalruleset.go @@ -81,7 +81,6 @@ func readOutboundDigitalruleset(ctx context.Context, d *schema.ResourceData, met resourcedata.SetNillableValue(d, "name", digitalRuleSet.Name) resourcedata.SetNillableReference(d, "contact_list_id", digitalRuleSet.ContactList) resourcedata.SetNillableValueWithInterfaceArrayWithFunc(d, "rules", digitalRuleSet.Rules, flattenDigitalRules) - resourcedata.SetNillableValue(d, "version", digitalRuleSet.Version) log.Printf("Read outbound digitalruleset %s %s", d.Id(), *digitalRuleSet.Name) return cc.CheckState(d) diff --git a/genesyscloud/outbound_digitalruleset/resource_genesyscloud_outbound_digitalruleset_schema.go b/genesyscloud/outbound_digitalruleset/resource_genesyscloud_outbound_digitalruleset_schema.go index d988ef755..4e852ccbf 100644 --- a/genesyscloud/outbound_digitalruleset/resource_genesyscloud_outbound_digitalruleset_schema.go +++ b/genesyscloud/outbound_digitalruleset/resource_genesyscloud_outbound_digitalruleset_schema.go @@ -499,11 +499,6 @@ func ResourceOutboundDigitalruleset() *schema.Resource { Optional: true, Type: schema.TypeString, }, - `version`: { - Description: `Required for updates, must match the version number of the most recent update`, - Optional: true, - Type: schema.TypeInt, - }, `contact_list_id`: { Description: `A ContactList to provide suggestions for contact columns on relevant conditions and actions.`, Optional: true, diff --git a/genesyscloud/outbound_digitalruleset/resource_genesyscloud_outbound_digitalruleset_test.go b/genesyscloud/outbound_digitalruleset/resource_genesyscloud_outbound_digitalruleset_test.go index f16ef335f..7374c3669 100644 --- a/genesyscloud/outbound_digitalruleset/resource_genesyscloud_outbound_digitalruleset_test.go +++ b/genesyscloud/outbound_digitalruleset/resource_genesyscloud_outbound_digitalruleset_test.go @@ -91,7 +91,6 @@ func TestAccResourceOutboundDigitalruleset(t *testing.T) { resourceId, name2, "genesyscloud_outbound_contact_list."+contactListResourceId1+".id", - GenerateDigitalRuleSetVersion("1"), GenerateDigitalRules( ruleName, ruleOrder, @@ -141,7 +140,6 @@ func TestAccResourceOutboundDigitalruleset(t *testing.T) { Check: resource.ComposeTestCheckFunc( resource.TestCheckResourceAttr("genesyscloud_outbound_digitalruleset."+resourceId, "name", name2), resource.TestCheckResourceAttrPair("genesyscloud_outbound_digitalruleset."+resourceId, "contact_list_id", "genesyscloud_outbound_contact_list."+contactListResourceId1, "id"), - resource.TestCheckResourceAttr("genesyscloud_outbound_digitalruleset."+resourceId, "version", "1"), resource.TestCheckResourceAttr("genesyscloud_outbound_digitalruleset."+resourceId, "rules.0.name", ruleName), resource.TestCheckResourceAttr("genesyscloud_outbound_digitalruleset."+resourceId, "rules.0.order", ruleOrder), resource.TestCheckResourceAttr("genesyscloud_outbound_digitalruleset."+resourceId, "rules.0.category", ruleCategory), diff --git a/genesyscloud/outbound_digitalruleset/resource_genesyscloud_outbound_digitalruleset_utils.go b/genesyscloud/outbound_digitalruleset/resource_genesyscloud_outbound_digitalruleset_utils.go index aa0fe62d6..a7bee0041 100644 --- a/genesyscloud/outbound_digitalruleset/resource_genesyscloud_outbound_digitalruleset_utils.go +++ b/genesyscloud/outbound_digitalruleset/resource_genesyscloud_outbound_digitalruleset_utils.go @@ -22,7 +22,6 @@ func getOutboundDigitalrulesetFromResourceData(d *schema.ResourceData) platformc Name: platformclientv2.String(d.Get("name").(string)), ContactList: util.BuildSdkDomainEntityRef(d, "contact_list_id"), Rules: buildDigitalRules(d.Get("rules").([]interface{})), - Version: platformclientv2.Int(d.Get("version").(int)), } } diff --git a/genesyscloud/tfexporter/tf_exporter_resource_test.go b/genesyscloud/tfexporter/tf_exporter_resource_test.go index 9be980db9..7af979428 100644 --- a/genesyscloud/tfexporter/tf_exporter_resource_test.go +++ b/genesyscloud/tfexporter/tf_exporter_resource_test.go @@ -43,6 +43,7 @@ import ( outboundContactListContact "terraform-provider-genesyscloud/genesyscloud/outbound_contact_list_contact" outboundContactListTemplate "terraform-provider-genesyscloud/genesyscloud/outbound_contact_list_template" obContactListFilter "terraform-provider-genesyscloud/genesyscloud/outbound_contactlistfilter" + obDigitalRuleset "terraform-provider-genesyscloud/genesyscloud/outbound_digitalruleset" obDncList "terraform-provider-genesyscloud/genesyscloud/outbound_dnclist" obfst "terraform-provider-genesyscloud/genesyscloud/outbound_filespecificationtemplate" obRuleset "terraform-provider-genesyscloud/genesyscloud/outbound_ruleset" @@ -62,8 +63,8 @@ import ( routingQueueConditionalGroupRouting "terraform-provider-genesyscloud/genesyscloud/routing_queue_conditional_group_routing" routingQueueOutboundEmailAddress "terraform-provider-genesyscloud/genesyscloud/routing_queue_outbound_email_address" routingSettings "terraform-provider-genesyscloud/genesyscloud/routing_settings" - routingSkillGroup "terraform-provider-genesyscloud/genesyscloud/routing_skill_group" routingSkill "terraform-provider-genesyscloud/genesyscloud/routing_skill" + routingSkillGroup "terraform-provider-genesyscloud/genesyscloud/routing_skill_group" routingSmsAddress "terraform-provider-genesyscloud/genesyscloud/routing_sms_addresses" routingUtilization "terraform-provider-genesyscloud/genesyscloud/routing_utilization" routingUtilizationLabel "terraform-provider-genesyscloud/genesyscloud/routing_utilization_label" @@ -196,6 +197,7 @@ func (r *registerTestInstance) registerTestResources() { providerResources["genesyscloud_outbound_sequence"] = obSequence.ResourceOutboundSequence() providerResources["genesyscloud_outbound_dnclist"] = obDncList.ResourceOutboundDncList() providerResources["genesyscloud_outbound_campaignrule"] = obCampaignRule.ResourceOutboundCampaignrule() + providerResources["genesyscloud_outbound_digitalruleset"] = obDigitalRuleset.ResourceOutboundDigitalruleset() providerResources["genesyscloud_outbound_filespecificationtemplate"] = obfst.ResourceOutboundFileSpecificationTemplate() providerResources["genesyscloud_outbound_wrapupcodemappings"] = obw.ResourceOutboundWrapUpCodeMappings() providerResources["genesyscloud_quality_forms_survey"] = gcloud.ResourceSurveyForm() @@ -268,6 +270,7 @@ func (r *registerTestInstance) registerTestExporters() { RegisterExporter("genesyscloud_outbound_dnclist", obDncList.OutboundDncListExporter()) RegisterExporter("genesyscloud_outbound_campaignrule", obCampaignRule.OutboundCampaignruleExporter()) RegisterExporter("genesyscloud_outbound_settings", obSettings.OutboundSettingsExporter()) + RegisterExporter("genesyscloud_outbound_digitalruleset", obDigitalRuleset.OutboundDigitalrulesetExporter()) RegisterExporter("genesyscloud_outbound_filespecificationtemplate", obfst.OutboundFileSpecificationTemplateExporter()) RegisterExporter("genesyscloud_outbound_wrapupcodemappings", obw.OutboundWrapupCodeMappingsExporter()) RegisterExporter("genesyscloud_quality_forms_evaluation", gcloud.EvaluationFormExporter())