|
9 | 9 |
|
10 | 10 | sharedmodels "github.com/hashicorp/hcp-sdk-go/clients/cloud-shared/v1/models"
|
11 | 11 | vaultmodels "github.com/hashicorp/hcp-sdk-go/clients/cloud-vault-service/stable/2020-11-25/models"
|
| 12 | + |
12 | 13 | "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
|
13 | 14 | "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
14 | 15 |
|
@@ -811,17 +812,25 @@ func getObservabilityConfig(propertyName string, d *schema.ResourceData) (*vault
|
811 | 812 | return nil, nil
|
812 | 813 | }
|
813 | 814 |
|
| 815 | + emptyConfig := vaultmodels.HashicorpCloudVault20201125ObservabilityConfig{ |
| 816 | + Grafana: &vaultmodels.HashicorpCloudVault20201125Grafana{}, |
| 817 | + Splunk: &vaultmodels.HashicorpCloudVault20201125Splunk{}, |
| 818 | + Datadog: &vaultmodels.HashicorpCloudVault20201125Datadog{}, |
| 819 | + } |
| 820 | + |
814 | 821 | //if we don't find the property we return the empty object to be updated and delete the configuration
|
815 | 822 | configParam, ok := d.GetOk(propertyName)
|
816 | 823 | 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 |
823 | 833 | }
|
824 |
| - config := configParam.([]interface{})[0].(map[string]interface{}) |
825 | 834 |
|
826 | 835 | return getValidObservabilityConfig(config)
|
827 | 836 | }
|
|
0 commit comments