Skip to content

Commit

Permalink
Revert "Add validation of viz objects (#554)" (#564)
Browse files Browse the repository at this point in the history
This reverts commit 3eb63b5.
  • Loading branch information
MovieStoreGuy authored Feb 2, 2025
1 parent 3eb63b5 commit b32fb8e
Show file tree
Hide file tree
Showing 20 changed files with 87 additions and 396 deletions.
14 changes: 0 additions & 14 deletions signalfx/resource_data_access.go

This file was deleted.

41 changes: 13 additions & 28 deletions signalfx/resource_signalfx_dashboard.go
Original file line number Diff line number Diff line change
Expand Up @@ -455,12 +455,11 @@ func dashboardResource() *schema.Resource {
},
},

CustomizeDiff: dashboardValidate,
Create: dashboardCreate,
Read: dashboardRead,
Update: dashboardUpdate,
Delete: dashboardDelete,
Exists: dashboardExists,
Create: dashboardCreate,
Read: dashboardRead,
Update: dashboardUpdate,
Delete: dashboardDelete,
Exists: dashboardExists,
Importer: &schema.ResourceImporter{
State: schema.ImportStatePassthrough,
},
Expand All @@ -470,7 +469,7 @@ func dashboardResource() *schema.Resource {
/*
Use Resource object to construct json payload in order to create a dashboard
*/
func getPayloadDashboard(d ResourceDataAccess) (*dashboard.CreateUpdateDashboardRequest, error) {
func getPayloadDashboard(d *schema.ResourceData) (*dashboard.CreateUpdateDashboardRequest, error) {

Check failure on line 472 in signalfx/resource_signalfx_dashboard.go

View workflow job for this annotation

GitHub Actions / lint

getPayloadDashboard - result 1 (error) is always nil (unparam)

cudr := &dashboard.CreateUpdateDashboardRequest{
Name: d.Get("name").(string),
Expand Down Expand Up @@ -568,7 +567,7 @@ func getPayloadDashboard(d ResourceDataAccess) (*dashboard.CreateUpdateDashboard
return cudr, nil
}

func getDashPermissions(d ResourceDataAccess) *dashboard.ObjectPermissions {
func getDashPermissions(d *schema.ResourceData) *dashboard.ObjectPermissions {
permissions := &dashboard.ObjectPermissions{}
if val, ok := d.GetOk("permissions"); ok {
p := val.([]interface{})[0].(map[string]interface{})
Expand Down Expand Up @@ -599,7 +598,7 @@ func getDashPermissionsAcl(set *schema.Set) []*dashboard.AclEntry {
return nil
}

func getDashboardTime(d ResourceDataAccess) *dashboard.ChartsFiltersTime {
func getDashboardTime(d *schema.ResourceData) *dashboard.ChartsFiltersTime {
var timeFilter *dashboard.ChartsFiltersTime
if val, ok := d.GetOk("time_range"); ok {
timeFilter = &dashboard.ChartsFiltersTime{
Expand All @@ -619,7 +618,7 @@ func getDashboardTime(d ResourceDataAccess) *dashboard.ChartsFiltersTime {
return timeFilter
}

func getDashboardCharts(d ResourceDataAccess) []*dashboard.DashboardChart {
func getDashboardCharts(d *schema.ResourceData) []*dashboard.DashboardChart {
charts := d.Get("chart").(*schema.Set).List()
chartsList := make([]*dashboard.DashboardChart, len(charts))
for i, chart := range charts {
Expand All @@ -637,7 +636,7 @@ func getDashboardCharts(d ResourceDataAccess) []*dashboard.DashboardChart {
return chartsList
}

func getDashboardColumns(d ResourceDataAccess) []*dashboard.DashboardChart {
func getDashboardColumns(d *schema.ResourceData) []*dashboard.DashboardChart {
columns := d.Get("column").([]interface{})
charts := make([]*dashboard.DashboardChart, 0)
for _, column := range columns {
Expand All @@ -661,7 +660,7 @@ func getDashboardColumns(d ResourceDataAccess) []*dashboard.DashboardChart {
return charts
}

func getDashboardGrids(d ResourceDataAccess) []*dashboard.DashboardChart {
func getDashboardGrids(d *schema.ResourceData) []*dashboard.DashboardChart {
grids := d.Get("grid").([]interface{})
charts := make([]*dashboard.DashboardChart, 0)
// We must keep track of the row outside the loop as there might be many
Expand Down Expand Up @@ -693,7 +692,7 @@ func getDashboardGrids(d ResourceDataAccess) []*dashboard.DashboardChart {
return charts
}

func getDashboardVariables(d ResourceDataAccess) []*dashboard.ChartsWebUiFilter {
func getDashboardVariables(d *schema.ResourceData) []*dashboard.ChartsWebUiFilter {
variables := d.Get("variable").(*schema.Set).List()
varsList := make([]*dashboard.ChartsWebUiFilter, len(variables))
for i, variable := range variables {
Expand Down Expand Up @@ -786,7 +785,7 @@ func getDashboardEventOverlayFilters(sources []interface{}) []*dashboard.EventOv
return sourcesList
}

func getDashboardFilters(d ResourceDataAccess) []*dashboard.ChartsSingleFilter {
func getDashboardFilters(d *schema.ResourceData) []*dashboard.ChartsSingleFilter {
filters := d.Get("filter").(*schema.Set).List()
filterList := make([]*dashboard.ChartsSingleFilter, len(filters))
for i, filter := range filters {
Expand All @@ -813,20 +812,6 @@ func getDashboardFilters(d ResourceDataAccess) []*dashboard.ChartsSingleFilter {
return filterList
}

func dashboardValidate(ctx context.Context, dashboardObject *schema.ResourceDiff, meta any) error {
payloadDashboard, err := getPayloadDashboard(dashboardObject)

if err != nil {
return err
}

if config, ok := meta.(*signalfxConfig); ok {
return config.Client.ValidateDashboard(ctx, payloadDashboard)
} else {
return fmt.Errorf("invalid type assertion: expected *signalfxConfig, got %T", meta)
}
}

func dashboardCreate(d *schema.ResourceData, meta interface{}) error {
config := meta.(*signalfxConfig)
payload, err := getPayloadDashboard(d)
Expand Down
25 changes: 8 additions & 17 deletions signalfx/resource_signalfx_dashboard_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -199,12 +199,11 @@ func dashboardGroupResource() *schema.Resource {
},
},

CustomizeDiff: dashboardgroupValidate,
Create: dashboardgroupCreate,
Read: dashboardgroupRead,
Update: dashboardgroupUpdate,
Delete: dashboardgroupDelete,
Exists: dashboardgroupExists,
Create: dashboardgroupCreate,
Read: dashboardgroupRead,
Update: dashboardgroupUpdate,
Delete: dashboardgroupDelete,
Exists: dashboardgroupExists,
Importer: &schema.ResourceImporter{
State: schema.ImportStatePassthrough,
},
Expand All @@ -226,7 +225,7 @@ func dashboardgroupExists(d *schema.ResourceData, meta interface{}) (bool, error
/*
Use Resource object to construct json payload in order to create a dasboard group
*/
func getPayloadDashboardGroup(d ResourceDataAccess) *dashboard_group.CreateUpdateDashboardGroupRequest {
func getPayloadDashboardGroup(d *schema.ResourceData) *dashboard_group.CreateUpdateDashboardGroupRequest {
cudgr := &dashboard_group.CreateUpdateDashboardGroupRequest{
Name: d.Get("name").(string),
Description: d.Get("description").(string),
Expand Down Expand Up @@ -394,15 +393,15 @@ func getPayloadDashboardGroup(d ResourceDataAccess) *dashboard_group.CreateUpdat
return cudgr
}

func getPermissions(d ResourceDataAccess) *dashboard_group.ObjectPermissions {
func getPermissions(d *schema.ResourceData) *dashboard_group.ObjectPermissions {
permissions := &dashboard_group.ObjectPermissions{}
if val := getPermissionsAcl(d); len(val) > 0 {
permissions.Acl = val
}
return permissions
}

func getPermissionsAcl(d ResourceDataAccess) []*dashboard_group.AclEntry {
func getPermissionsAcl(d *schema.ResourceData) []*dashboard_group.AclEntry {

Check failure on line 404 in signalfx/resource_signalfx_dashboard_group.go

View workflow job for this annotation

GitHub Actions / lint

var-naming: func getPermissionsAcl should be getPermissionsACL (revive)
acl := d.Get("permissions").(*schema.Set).List()
aclList := make([]*dashboard_group.AclEntry, len(acl))
for i, entry := range acl {
Expand All @@ -418,14 +417,6 @@ func getPermissionsAcl(d ResourceDataAccess) []*dashboard_group.AclEntry {
return aclList
}

func dashboardgroupValidate(ctx context.Context, d *schema.ResourceDiff, meta any) error {
if config, ok := meta.(*signalfxConfig); ok {
return config.Client.ValidateDashboardGroup(ctx, getPayloadDashboardGroup(d))
} else {
return fmt.Errorf("invalid type assertion: expected *signalfxConfig, got %T", meta)
}
}

func dashboardgroupCreate(d *schema.ResourceData, meta interface{}) error {
config := meta.(*signalfxConfig)
payload := getPayloadDashboardGroup(d)
Expand Down
23 changes: 0 additions & 23 deletions signalfx/resource_signalfx_dashboard_group_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
package signalfx

import (
"regexp"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
Expand Down Expand Up @@ -99,28 +98,6 @@ resource "signalfx_dashboard_group" "new_dashboard_group_2" {
}
`

const invalidDashboardGroup = `
resource "signalfx_dashboard_group" "invalid_dashboard_group" {
name = "Invalid dashboard"
dashboard {
dashboard_id = ""
}
}
`

func TestAccValidateDashboardGroup(t *testing.T) {
resource.Test(t, resource.TestCase{
Providers: testAccProviders,
CheckDestroy: testAccDashboardGroupDestroy,
Steps: []resource.TestStep{
{
Config: invalidDashboardGroup,
ExpectError: regexp.MustCompile("status code 400"),
},
},
})
}

func TestAccCreateDashboardGroup(t *testing.T) {
resource.Test(t, resource.TestCase{
Providers: testAccProviders,
Expand Down
21 changes: 0 additions & 21 deletions signalfx/resource_signalfx_dashboard_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ package signalfx

import (
"fmt"
"regexp"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
Expand Down Expand Up @@ -42,26 +41,6 @@ resource "signalfx_dashboard" "mydashboardX0" {
}
`

const invalidDashboard = `
resource "signalfx_dashboard" "invalid_dashboard" {
name = ""
dashboard_group = ""
}
`

func TestAccValidateDashboard(t *testing.T) {
resource.Test(t, resource.TestCase{
Providers: testAccProviders,
CheckDestroy: testAccDashboardGroupDestroy,
Steps: []resource.TestStep{
{
Config: invalidDashboard,
ExpectError: regexp.MustCompile("status code 400"),
},
},
})
}

func TestValidateChartsResolutionAllowed(t *testing.T) {
for _, value := range []string{"default", "low", "high", "highest"} {
_, errors := validateChartsResolution(value, "charts_resolution")
Expand Down
29 changes: 9 additions & 20 deletions signalfx/resource_signalfx_event_feed_chart.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,11 @@ func eventFeedChartResource() *schema.Resource {
},
},

CustomizeDiff: eventfeedchartValidate,
Create: eventFeedChartCreate,
Read: eventFeedChartRead,
Update: eventFeedChartUpdate,
Delete: eventFeedChartDelete,
Exists: chartExists,
Create: eventFeedChartCreate,
Read: eventFeedChartRead,
Update: eventFeedChartUpdate,
Delete: eventFeedChartDelete,
Exists: chartExists,
Importer: &schema.ResourceImporter{
State: schema.ImportStatePassthrough,
},
Expand All @@ -72,7 +71,7 @@ func eventFeedChartResource() *schema.Resource {
/*
Use Resource object to construct json payload in order to create an event feed chart
*/
func getPayloadEventFeedChart(d ResourceDataAccess) (*chart.CreateUpdateChartRequest, error) {
func getPayloadEventFeedChart(d *schema.ResourceData) *chart.CreateUpdateChartRequest {
var timeOptions *chart.TimeDisplayOptions
if val, ok := d.GetOk("time_range"); ok {
r := int64(val.(int) * 1000)
Expand Down Expand Up @@ -101,19 +100,12 @@ func getPayloadEventFeedChart(d ResourceDataAccess) (*chart.CreateUpdateChartReq
Time: timeOptions,
Type: "Event",
},
}, nil
}

func eventfeedchartValidate(ctx context.Context, d *schema.ResourceDiff, meta any) error {
return ChartValidatorFunc(getPayloadEventFeedChart).Validate(ctx, d, meta)
}
}

func eventFeedChartCreate(d *schema.ResourceData, meta interface{}) error {
config := meta.(*signalfxConfig)
payload, err := getPayloadEventFeedChart(d)
if err != nil {
return err
}
payload := getPayloadEventFeedChart(d)

debugOutput, _ := json.Marshal(payload)
log.Printf("[DEBUG] SignalFx: Create Event Feed Chart Payload: %s", string(debugOutput))
Expand Down Expand Up @@ -194,10 +186,7 @@ func eventFeedChartRead(d *schema.ResourceData, meta interface{}) error {

func eventFeedChartUpdate(d *schema.ResourceData, meta interface{}) error {
config := meta.(*signalfxConfig)
payload, err := getPayloadEventFeedChart(d)
if err != nil {
return err
}
payload := getPayloadEventFeedChart(d)
debugOutput, _ := json.Marshal(payload)
log.Printf("[DEBUG] SignalFx: Update Event Feed Chart Payload: %s", string(debugOutput))

Expand Down
21 changes: 0 additions & 21 deletions signalfx/resource_signalfx_event_feed_chart_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ package signalfx
import (
"context"
"fmt"
"regexp"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
Expand All @@ -33,26 +32,6 @@ resource "signalfx_event_feed_chart" "mychartEVX" {
}
`

const invalidEventFeedChart = `
resource "signalfx_event_feed_chart" "mychartEVX"{
name = ""
program_text = "A = events(eventType='Fart Testing').publish(label='A')"
}
`

func TestAccValidateEventFeedChart(t *testing.T) {
resource.Test(t, resource.TestCase{
Providers: testAccProviders,
CheckDestroy: testAccEventFeedChartDestroy,
Steps: []resource.TestStep{
{
Config: invalidEventFeedChart,
ExpectError: regexp.MustCompile("status code 400"),
},
},
})
}

func TestAccCreateUpdateEventFeedChart(t *testing.T) {
resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Expand Down
Loading

0 comments on commit b32fb8e

Please sign in to comment.