add support for initializeUrl

This commit is contained in:
Shreyas Goenka 2024-11-18 17:52:17 +01:00
parent f5ea8dac26
commit ea6906e88c
No known key found for this signature in database
GPG Key ID: 92A07DF49CCB0622
2 changed files with 38 additions and 0 deletions

View File

@ -80,6 +80,7 @@ func (r *Resources) AllResources() []ResourceGroup {
collectResourceMap(descriptions["schemas"], r.Schemas), collectResourceMap(descriptions["schemas"], r.Schemas),
collectResourceMap(descriptions["clusters"], r.Clusters), collectResourceMap(descriptions["clusters"], r.Clusters),
collectResourceMap(descriptions["dashboards"], r.Dashboards), collectResourceMap(descriptions["dashboards"], r.Dashboards),
collectResourceMap(descriptions["volumes"], r.Volumes),
} }
} }
@ -184,5 +185,11 @@ func SupportedResources() map[string]ResourceDescription {
SingularTitle: "Dashboard", SingularTitle: "Dashboard",
PluralTitle: "Dashboards", PluralTitle: "Dashboards",
}, },
"volumes": {
SingularName: "volume",
PluralName: "volumes",
SingularTitle: "Volume",
PluralTitle: "Volumes",
},
} }
} }

View File

@ -1,6 +1,11 @@
package resources package resources
import ( import (
"context"
"fmt"
"net/url"
"github.com/databricks/databricks-sdk-go"
"github.com/databricks/databricks-sdk-go/marshal" "github.com/databricks/databricks-sdk-go/marshal"
"github.com/databricks/databricks-sdk-go/service/catalog" "github.com/databricks/databricks-sdk-go/service/catalog"
) )
@ -16,6 +21,7 @@ type Volume struct {
*catalog.CreateVolumeRequestContent *catalog.CreateVolumeRequestContent
ModifiedStatus ModifiedStatus `json:"modified_status,omitempty" bundle:"internal"` ModifiedStatus ModifiedStatus `json:"modified_status,omitempty" bundle:"internal"`
URL string `json:"url,omitempty" bundle:"internal"`
} }
func (v *Volume) UnmarshalJSON(b []byte) error { func (v *Volume) UnmarshalJSON(b []byte) error {
@ -25,3 +31,28 @@ func (v *Volume) UnmarshalJSON(b []byte) error {
func (v Volume) MarshalJSON() ([]byte, error) { func (v Volume) MarshalJSON() ([]byte, error) {
return marshal.Marshal(v) return marshal.Marshal(v)
} }
func (v *Volume) Exists(ctx context.Context, w *databricks.WorkspaceClient, id string) (bool, error) {
return false, fmt.Errorf("volume.Exists() is not supported")
}
func (v *Volume) TerraformResourceName() string {
return "databricks_volume"
}
// TODO: Test unit and manually. Maybe just manually.
func (v *Volume) InitializeURL(baseURL url.URL) {
if v.ID == "" {
return
}
baseURL.Path = fmt.Sprintf("explore/data/volumes/%s", v.ID)
v.URL = baseURL.String()
}
func (v *Volume) GetURL() string {
return v.URL
}
func (v *Volume) GetName() string {
return v.Name
}