Skip to content

Commit 3a38e19

Browse files
authored
Revert "Add support for Databricks Account Console IP Access Lists (#2586)" (#3041)
This reverts commit 40c92d6.
1 parent 40c92d6 commit 3a38e19

File tree

4 files changed

+65
-432
lines changed

4 files changed

+65
-432
lines changed

access/resource_ip_access_list.go

Lines changed: 38 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,24 @@ package access
33
import (
44
"context"
55

6-
"github.com/databricks/databricks-sdk-go"
76
"github.com/databricks/databricks-sdk-go/service/settings"
87
"github.com/databricks/terraform-provider-databricks/common"
98

109
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1110
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
1211
)
1312

13+
type ipAccessListUpdateRequest struct {
14+
Label string `json:"label"`
15+
ListType settings.ListType `json:"list_type"`
16+
IpAddresses []string `json:"ip_addresses"`
17+
Enabled bool `json:"enabled,omitempty" tf:"default:true"`
18+
}
19+
1420
// ResourceIPAccessList manages IP access lists
1521
func ResourceIPAccessList() *schema.Resource {
16-
s := common.StructToSchema(settings.CreateIpAccessList{}, func(s map[string]*schema.Schema) map[string]*schema.Schema {
22+
s := common.StructToSchema(ipAccessListUpdateRequest{}, func(s map[string]*schema.Schema) map[string]*schema.Schema {
1723
// nolint
18-
s["enabled"] = &schema.Schema{
19-
Type: schema.TypeBool,
20-
Optional: true,
21-
Default: true,
22-
}
2324
s["list_type"].ValidateFunc = validation.StringInSlice([]string{"ALLOW", "BLOCK"}, false)
2425
s["ip_addresses"].Elem = &schema.Schema{
2526
Type: schema.TypeString,
@@ -30,67 +31,47 @@ func ResourceIPAccessList() *schema.Resource {
3031
return common.Resource{
3132
Schema: s,
3233
Create: func(ctx context.Context, d *schema.ResourceData, c *common.DatabricksClient) error {
34+
w, err := c.WorkspaceClient()
35+
if err != nil {
36+
return err
37+
}
3338
var iacl settings.CreateIpAccessList
34-
var updateIacl settings.UpdateIpAccessList
3539
common.DataToStructPointer(d, s, &iacl)
36-
common.DataToStructPointer(d, s, &updateIacl)
37-
return c.AccountOrWorkspaceRequest(func(acc *databricks.AccountClient) error {
38-
status, err := acc.IpAccessLists.Create(ctx, iacl)
39-
if err != nil {
40-
return err
41-
}
42-
//need to enable the IP Access List with update
43-
if d.Get("enabled").(bool) {
44-
updateIacl.IpAccessListId = status.IpAccessList.ListId
45-
err = acc.IpAccessLists.Update(ctx, updateIacl)
46-
if err != nil {
47-
return err
48-
}
49-
}
50-
d.SetId(status.IpAccessList.ListId)
51-
return nil
52-
}, func(w *databricks.WorkspaceClient) error {
53-
status, err := w.IpAccessLists.Create(ctx, iacl)
54-
if err != nil {
55-
return err
56-
}
57-
d.SetId(status.IpAccessList.ListId)
58-
return nil
59-
})
40+
status, err := w.IpAccessLists.Create(ctx, iacl)
41+
if err != nil {
42+
return err
43+
}
44+
d.SetId(status.IpAccessList.ListId)
45+
return nil
6046
},
6147
Read: func(ctx context.Context, d *schema.ResourceData, c *common.DatabricksClient) error {
62-
return c.AccountOrWorkspaceRequest(func(acc *databricks.AccountClient) error {
63-
status, err := acc.IpAccessLists.GetByIpAccessListId(ctx, d.Id())
64-
if err != nil {
65-
return err
66-
}
67-
common.StructToData(status.IpAccessList, s, d)
68-
return nil
69-
}, func(w *databricks.WorkspaceClient) error {
70-
status, err := w.IpAccessLists.GetByIpAccessListId(ctx, d.Id())
71-
if err != nil {
72-
return err
73-
}
74-
common.StructToData(status.IpAccessList, s, d)
75-
return nil
76-
})
48+
w, err := c.WorkspaceClient()
49+
if err != nil {
50+
return err
51+
}
52+
status, err := w.IpAccessLists.GetByIpAccessListId(ctx, d.Id())
53+
if err != nil {
54+
return err
55+
}
56+
common.StructToData(status.IpAccessList, s, d)
57+
return nil
7758
},
7859
Update: func(ctx context.Context, d *schema.ResourceData, c *common.DatabricksClient) error {
60+
w, err := c.WorkspaceClient()
61+
if err != nil {
62+
return err
63+
}
7964
var iacl settings.UpdateIpAccessList
8065
common.DataToStructPointer(d, s, &iacl)
8166
iacl.IpAccessListId = d.Id()
82-
return c.AccountOrWorkspaceRequest(func(acc *databricks.AccountClient) error {
83-
return acc.IpAccessLists.Update(ctx, iacl)
84-
}, func(w *databricks.WorkspaceClient) error {
85-
return w.IpAccessLists.Update(ctx, iacl)
86-
})
67+
return w.IpAccessLists.Update(ctx, iacl)
8768
},
8869
Delete: func(ctx context.Context, d *schema.ResourceData, c *common.DatabricksClient) error {
89-
return c.AccountOrWorkspaceRequest(func(acc *databricks.AccountClient) error {
90-
return acc.IpAccessLists.DeleteByIpAccessListId(ctx, d.Id())
91-
}, func(w *databricks.WorkspaceClient) error {
92-
return w.IpAccessLists.DeleteByIpAccessListId(ctx, d.Id())
93-
})
70+
w, err := c.WorkspaceClient()
71+
if err != nil {
72+
return err
73+
}
74+
return w.IpAccessLists.DeleteByIpAccessListId(ctx, d.Id())
9475
},
9576
}.ToResource()
9677
}

0 commit comments

Comments
 (0)