Skip to content

Commit 09fbe7a

Browse files
author
Kevin Kredit
committed
Check type assertions in Vault cluster resource
1 parent df883b2 commit 09fbe7a

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

Diff for: internal/provider/resource_vault_cluster.go

+16-7
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99

1010
sharedmodels "github.com/hashicorp/hcp-sdk-go/clients/cloud-shared/v1/models"
1111
vaultmodels "github.com/hashicorp/hcp-sdk-go/clients/cloud-vault-service/stable/2020-11-25/models"
12+
1213
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1314
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1415

@@ -811,17 +812,25 @@ func getObservabilityConfig(propertyName string, d *schema.ResourceData) (*vault
811812
return nil, nil
812813
}
813814

815+
emptyConfig := vaultmodels.HashicorpCloudVault20201125ObservabilityConfig{
816+
Grafana: &vaultmodels.HashicorpCloudVault20201125Grafana{},
817+
Splunk: &vaultmodels.HashicorpCloudVault20201125Splunk{},
818+
Datadog: &vaultmodels.HashicorpCloudVault20201125Datadog{},
819+
}
820+
814821
//if we don't find the property we return the empty object to be updated and delete the configuration
815822
configParam, ok := d.GetOk(propertyName)
816823
if !ok {
817-
obsconfig := vaultmodels.HashicorpCloudVault20201125ObservabilityConfig{
818-
Grafana: &vaultmodels.HashicorpCloudVault20201125Grafana{},
819-
Splunk: &vaultmodels.HashicorpCloudVault20201125Splunk{},
820-
Datadog: &vaultmodels.HashicorpCloudVault20201125Datadog{},
821-
}
822-
return &obsconfig, nil
824+
return &emptyConfig, nil
825+
}
826+
configIfaceArr, ok := configParam.([]interface{})
827+
if !ok || len(configIfaceArr) == 0 {
828+
return &emptyConfig, nil
829+
}
830+
config, ok := configIfaceArr[0].(map[string]interface{})
831+
if !ok {
832+
return &emptyConfig, nil
823833
}
824-
config := configParam.([]interface{})[0].(map[string]interface{})
825834

826835
return getValidObservabilityConfig(config)
827836
}

0 commit comments

Comments
 (0)