Use `any` as type for data sources and resources in `tf/schema` (#1216)

## Changes

We plan to use the any-equivalent of a `dyn.Value` such that we can use
variable references for non-string fields (e.g.
`${databricks_job.some_job.id}` where an integer is expected), as well
as properly emit zero values for primitive types (e.g. 0 for integers or
false for booleans).

This change is in preparation for the above.

## Tests

Unit tests.
This commit is contained in:
Pieter Noordhuis 2024-02-16 13:46:24 +01:00 committed by GitHub
parent ffae10d904
commit 788ec81785
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 320 additions and 308 deletions

View File

@ -6,6 +6,7 @@ import (
"github.com/databricks/cli/bundle/config" "github.com/databricks/cli/bundle/config"
"github.com/databricks/cli/bundle/config/resources" "github.com/databricks/cli/bundle/config/resources"
"github.com/databricks/cli/bundle/internal/tf/schema"
"github.com/databricks/databricks-sdk-go/service/catalog" "github.com/databricks/databricks-sdk-go/service/catalog"
"github.com/databricks/databricks-sdk-go/service/compute" "github.com/databricks/databricks-sdk-go/service/compute"
"github.com/databricks/databricks-sdk-go/service/jobs" "github.com/databricks/databricks-sdk-go/service/jobs"
@ -55,12 +56,14 @@ func TestBundleToTerraformJob(t *testing.T) {
} }
out := BundleToTerraform(&config) out := BundleToTerraform(&config)
assert.Equal(t, "my job", out.Resource.Job["my_job"].Name) resource := out.Resource.Job["my_job"].(*schema.ResourceJob)
assert.Len(t, out.Resource.Job["my_job"].JobCluster, 1)
assert.Equal(t, "https://github.com/foo/bar", out.Resource.Job["my_job"].GitSource.Url) assert.Equal(t, "my job", resource.Name)
assert.Len(t, out.Resource.Job["my_job"].Parameter, 2) assert.Len(t, resource.JobCluster, 1)
assert.Equal(t, "param1", out.Resource.Job["my_job"].Parameter[0].Name) assert.Equal(t, "https://github.com/foo/bar", resource.GitSource.Url)
assert.Equal(t, "param2", out.Resource.Job["my_job"].Parameter[1].Name) assert.Len(t, resource.Parameter, 2)
assert.Equal(t, "param1", resource.Parameter[0].Name)
assert.Equal(t, "param2", resource.Parameter[1].Name)
assert.Nil(t, out.Data) assert.Nil(t, out.Data)
} }
@ -83,12 +86,12 @@ func TestBundleToTerraformJobPermissions(t *testing.T) {
} }
out := BundleToTerraform(&config) out := BundleToTerraform(&config)
assert.NotEmpty(t, out.Resource.Permissions["job_my_job"].JobId) resource := out.Resource.Permissions["job_my_job"].(*schema.ResourcePermissions)
assert.Len(t, out.Resource.Permissions["job_my_job"].AccessControl, 1)
p := out.Resource.Permissions["job_my_job"].AccessControl[0] assert.NotEmpty(t, resource.JobId)
assert.Equal(t, "jane@doe.com", p.UserName) assert.Len(t, resource.AccessControl, 1)
assert.Equal(t, "CAN_VIEW", p.PermissionLevel) assert.Equal(t, "jane@doe.com", resource.AccessControl[0].UserName)
assert.Equal(t, "CAN_VIEW", resource.AccessControl[0].PermissionLevel)
} }
func TestBundleToTerraformJobTaskLibraries(t *testing.T) { func TestBundleToTerraformJobTaskLibraries(t *testing.T) {
@ -119,10 +122,12 @@ func TestBundleToTerraformJobTaskLibraries(t *testing.T) {
} }
out := BundleToTerraform(&config) out := BundleToTerraform(&config)
assert.Equal(t, "my job", out.Resource.Job["my_job"].Name) resource := out.Resource.Job["my_job"].(*schema.ResourceJob)
require.Len(t, out.Resource.Job["my_job"].Task, 1)
require.Len(t, out.Resource.Job["my_job"].Task[0].Library, 1) assert.Equal(t, "my job", resource.Name)
assert.Equal(t, "mlflow", out.Resource.Job["my_job"].Task[0].Library[0].Pypi.Package) require.Len(t, resource.Task, 1)
require.Len(t, resource.Task[0].Library, 1)
assert.Equal(t, "mlflow", resource.Task[0].Library[0].Pypi.Package)
} }
func TestBundleToTerraformPipeline(t *testing.T) { func TestBundleToTerraformPipeline(t *testing.T) {
@ -173,14 +178,15 @@ func TestBundleToTerraformPipeline(t *testing.T) {
} }
out := BundleToTerraform(&config) out := BundleToTerraform(&config)
assert.Equal(t, "my pipeline", out.Resource.Pipeline["my_pipeline"].Name) resource := out.Resource.Pipeline["my_pipeline"].(*schema.ResourcePipeline)
assert.Len(t, out.Resource.Pipeline["my_pipeline"].Library, 2)
notifs := out.Resource.Pipeline["my_pipeline"].Notification assert.Equal(t, "my pipeline", resource.Name)
assert.Len(t, notifs, 2) assert.Len(t, resource.Library, 2)
assert.Equal(t, notifs[0].Alerts, []string{"on-update-fatal-failure"}) assert.Len(t, resource.Notification, 2)
assert.Equal(t, notifs[0].EmailRecipients, []string{"jane@doe.com"}) assert.Equal(t, resource.Notification[0].Alerts, []string{"on-update-fatal-failure"})
assert.Equal(t, notifs[1].Alerts, []string{"on-update-failure", "on-flow-failure"}) assert.Equal(t, resource.Notification[0].EmailRecipients, []string{"jane@doe.com"})
assert.Equal(t, notifs[1].EmailRecipients, []string{"jane@doe.com", "john@doe.com"}) assert.Equal(t, resource.Notification[1].Alerts, []string{"on-update-failure", "on-flow-failure"})
assert.Equal(t, resource.Notification[1].EmailRecipients, []string{"jane@doe.com", "john@doe.com"})
assert.Nil(t, out.Data) assert.Nil(t, out.Data)
} }
@ -203,12 +209,12 @@ func TestBundleToTerraformPipelinePermissions(t *testing.T) {
} }
out := BundleToTerraform(&config) out := BundleToTerraform(&config)
assert.NotEmpty(t, out.Resource.Permissions["pipeline_my_pipeline"].PipelineId) resource := out.Resource.Permissions["pipeline_my_pipeline"].(*schema.ResourcePermissions)
assert.Len(t, out.Resource.Permissions["pipeline_my_pipeline"].AccessControl, 1)
p := out.Resource.Permissions["pipeline_my_pipeline"].AccessControl[0] assert.NotEmpty(t, resource.PipelineId)
assert.Equal(t, "jane@doe.com", p.UserName) assert.Len(t, resource.AccessControl, 1)
assert.Equal(t, "CAN_VIEW", p.PermissionLevel) assert.Equal(t, "jane@doe.com", resource.AccessControl[0].UserName)
assert.Equal(t, "CAN_VIEW", resource.AccessControl[0].PermissionLevel)
} }
func TestBundleToTerraformModel(t *testing.T) { func TestBundleToTerraformModel(t *testing.T) {
@ -238,13 +244,15 @@ func TestBundleToTerraformModel(t *testing.T) {
} }
out := BundleToTerraform(&config) out := BundleToTerraform(&config)
assert.Equal(t, "name", out.Resource.MlflowModel["my_model"].Name) resource := out.Resource.MlflowModel["my_model"].(*schema.ResourceMlflowModel)
assert.Equal(t, "description", out.Resource.MlflowModel["my_model"].Description)
assert.Len(t, out.Resource.MlflowModel["my_model"].Tags, 2) assert.Equal(t, "name", resource.Name)
assert.Equal(t, "k1", out.Resource.MlflowModel["my_model"].Tags[0].Key) assert.Equal(t, "description", resource.Description)
assert.Equal(t, "v1", out.Resource.MlflowModel["my_model"].Tags[0].Value) assert.Len(t, resource.Tags, 2)
assert.Equal(t, "k2", out.Resource.MlflowModel["my_model"].Tags[1].Key) assert.Equal(t, "k1", resource.Tags[0].Key)
assert.Equal(t, "v2", out.Resource.MlflowModel["my_model"].Tags[1].Value) assert.Equal(t, "v1", resource.Tags[0].Value)
assert.Equal(t, "k2", resource.Tags[1].Key)
assert.Equal(t, "v2", resource.Tags[1].Value)
assert.Nil(t, out.Data) assert.Nil(t, out.Data)
} }
@ -267,12 +275,12 @@ func TestBundleToTerraformModelPermissions(t *testing.T) {
} }
out := BundleToTerraform(&config) out := BundleToTerraform(&config)
assert.NotEmpty(t, out.Resource.Permissions["mlflow_model_my_model"].RegisteredModelId) resource := out.Resource.Permissions["mlflow_model_my_model"].(*schema.ResourcePermissions)
assert.Len(t, out.Resource.Permissions["mlflow_model_my_model"].AccessControl, 1)
p := out.Resource.Permissions["mlflow_model_my_model"].AccessControl[0] assert.NotEmpty(t, resource.RegisteredModelId)
assert.Equal(t, "jane@doe.com", p.UserName) assert.Len(t, resource.AccessControl, 1)
assert.Equal(t, "CAN_READ", p.PermissionLevel) assert.Equal(t, "jane@doe.com", resource.AccessControl[0].UserName)
assert.Equal(t, "CAN_READ", resource.AccessControl[0].PermissionLevel)
} }
func TestBundleToTerraformExperiment(t *testing.T) { func TestBundleToTerraformExperiment(t *testing.T) {
@ -291,7 +299,9 @@ func TestBundleToTerraformExperiment(t *testing.T) {
} }
out := BundleToTerraform(&config) out := BundleToTerraform(&config)
assert.Equal(t, "name", out.Resource.MlflowExperiment["my_experiment"].Name) resource := out.Resource.MlflowExperiment["my_experiment"].(*schema.ResourceMlflowExperiment)
assert.Equal(t, "name", resource.Name)
assert.Nil(t, out.Data) assert.Nil(t, out.Data)
} }
@ -314,12 +324,12 @@ func TestBundleToTerraformExperimentPermissions(t *testing.T) {
} }
out := BundleToTerraform(&config) out := BundleToTerraform(&config)
assert.NotEmpty(t, out.Resource.Permissions["mlflow_experiment_my_experiment"].ExperimentId) resource := out.Resource.Permissions["mlflow_experiment_my_experiment"].(*schema.ResourcePermissions)
assert.Len(t, out.Resource.Permissions["mlflow_experiment_my_experiment"].AccessControl, 1)
p := out.Resource.Permissions["mlflow_experiment_my_experiment"].AccessControl[0] assert.NotEmpty(t, resource.ExperimentId)
assert.Equal(t, "jane@doe.com", p.UserName) assert.Len(t, resource.AccessControl, 1)
assert.Equal(t, "CAN_READ", p.PermissionLevel) assert.Equal(t, "jane@doe.com", resource.AccessControl[0].UserName)
assert.Equal(t, "CAN_READ", resource.AccessControl[0].PermissionLevel)
} }
@ -357,7 +367,8 @@ func TestBundleToTerraformModelServing(t *testing.T) {
} }
out := BundleToTerraform(&config) out := BundleToTerraform(&config)
resource := out.Resource.ModelServing["my_model_serving_endpoint"] resource := out.Resource.ModelServing["my_model_serving_endpoint"].(*schema.ResourceModelServing)
assert.Equal(t, "name", resource.Name) assert.Equal(t, "name", resource.Name)
assert.Equal(t, "model_name", resource.Config.ServedModels[0].ModelName) assert.Equal(t, "model_name", resource.Config.ServedModels[0].ModelName)
assert.Equal(t, "1", resource.Config.ServedModels[0].ModelVersion) assert.Equal(t, "1", resource.Config.ServedModels[0].ModelVersion)
@ -387,12 +398,12 @@ func TestBundleToTerraformModelServingPermissions(t *testing.T) {
} }
out := BundleToTerraform(&config) out := BundleToTerraform(&config)
assert.NotEmpty(t, out.Resource.Permissions["model_serving_my_model_serving_endpoint"].ServingEndpointId) resource := out.Resource.Permissions["model_serving_my_model_serving_endpoint"].(*schema.ResourcePermissions)
assert.Len(t, out.Resource.Permissions["model_serving_my_model_serving_endpoint"].AccessControl, 1)
p := out.Resource.Permissions["model_serving_my_model_serving_endpoint"].AccessControl[0] assert.NotEmpty(t, resource.ServingEndpointId)
assert.Equal(t, "jane@doe.com", p.UserName) assert.Len(t, resource.AccessControl, 1)
assert.Equal(t, "CAN_VIEW", p.PermissionLevel) assert.Equal(t, "jane@doe.com", resource.AccessControl[0].UserName)
assert.Equal(t, "CAN_VIEW", resource.AccessControl[0].PermissionLevel)
} }
@ -415,7 +426,8 @@ func TestBundleToTerraformRegisteredModel(t *testing.T) {
} }
out := BundleToTerraform(&config) out := BundleToTerraform(&config)
resource := out.Resource.RegisteredModel["my_registered_model"] resource := out.Resource.RegisteredModel["my_registered_model"].(*schema.ResourceRegisteredModel)
assert.Equal(t, "name", resource.Name) assert.Equal(t, "name", resource.Name)
assert.Equal(t, "catalog", resource.CatalogName) assert.Equal(t, "catalog", resource.CatalogName)
assert.Equal(t, "schema", resource.SchemaName) assert.Equal(t, "schema", resource.SchemaName)
@ -442,12 +454,12 @@ func TestBundleToTerraformRegisteredModelGrants(t *testing.T) {
} }
out := BundleToTerraform(&config) out := BundleToTerraform(&config)
assert.NotEmpty(t, out.Resource.Grants["registered_model_my_registered_model"].Function) resource := out.Resource.Grants["registered_model_my_registered_model"].(*schema.ResourceGrants)
assert.Len(t, out.Resource.Grants["registered_model_my_registered_model"].Grant, 1)
p := out.Resource.Grants["registered_model_my_registered_model"].Grant[0] assert.NotEmpty(t, resource.Function)
assert.Equal(t, "jane@doe.com", p.Principal) assert.Len(t, resource.Grant, 1)
assert.Equal(t, "EXECUTE", p.Privileges[0]) assert.Equal(t, "jane@doe.com", resource.Grant[0].Principal)
assert.Equal(t, "EXECUTE", resource.Grant[0].Privileges[0])
} }
func TestTerraformToBundleEmptyLocalResources(t *testing.T) { func TestTerraformToBundleEmptyLocalResources(t *testing.T) {

View File

@ -4,14 +4,14 @@ package schema
type DataSources struct { type DataSources struct {
{{- range .Blocks }} {{- range .Blocks }}
{{ .FieldName }} map[string]*{{ .TypeName }} `json:"{{ .TerraformName }},omitempty"` {{ .FieldName }} map[string]any `json:"{{ .TerraformName }},omitempty"`
{{- end }} {{- end }}
} }
func NewDataSources() *DataSources { func NewDataSources() *DataSources {
return &DataSources{ return &DataSources{
{{- range .Blocks }} {{- range .Blocks }}
{{ .FieldName }}: make(map[string]*{{ .TypeName }}), {{ .FieldName }}: make(map[string]any),
{{- end }} {{- end }}
} }
} }

View File

@ -4,14 +4,14 @@ package schema
type Resources struct { type Resources struct {
{{- range .Blocks }} {{- range .Blocks }}
{{ .FieldName }} map[string]*{{ .TypeName }} `json:"{{ .TerraformName }},omitempty"` {{ .FieldName }} map[string]any `json:"{{ .TerraformName }},omitempty"`
{{- end }} {{- end }}
} }
func NewResources() *Resources { func NewResources() *Resources {
return &Resources{ return &Resources{
{{- range .Blocks }} {{- range .Blocks }}
{{ .FieldName }}: make(map[string]*{{ .TypeName }}), {{ .FieldName }}: make(map[string]any),
{{- end }} {{- end }}
} }
} }

View File

@ -3,91 +3,91 @@
package schema package schema
type DataSources struct { type DataSources struct {
AwsAssumeRolePolicy map[string]*DataSourceAwsAssumeRolePolicy `json:"databricks_aws_assume_role_policy,omitempty"` AwsAssumeRolePolicy map[string]any `json:"databricks_aws_assume_role_policy,omitempty"`
AwsBucketPolicy map[string]*DataSourceAwsBucketPolicy `json:"databricks_aws_bucket_policy,omitempty"` AwsBucketPolicy map[string]any `json:"databricks_aws_bucket_policy,omitempty"`
AwsCrossaccountPolicy map[string]*DataSourceAwsCrossaccountPolicy `json:"databricks_aws_crossaccount_policy,omitempty"` AwsCrossaccountPolicy map[string]any `json:"databricks_aws_crossaccount_policy,omitempty"`
AwsUnityCatalogPolicy map[string]*DataSourceAwsUnityCatalogPolicy `json:"databricks_aws_unity_catalog_policy,omitempty"` AwsUnityCatalogPolicy map[string]any `json:"databricks_aws_unity_catalog_policy,omitempty"`
Catalogs map[string]*DataSourceCatalogs `json:"databricks_catalogs,omitempty"` Catalogs map[string]any `json:"databricks_catalogs,omitempty"`
Cluster map[string]*DataSourceCluster `json:"databricks_cluster,omitempty"` Cluster map[string]any `json:"databricks_cluster,omitempty"`
ClusterPolicy map[string]*DataSourceClusterPolicy `json:"databricks_cluster_policy,omitempty"` ClusterPolicy map[string]any `json:"databricks_cluster_policy,omitempty"`
Clusters map[string]*DataSourceClusters `json:"databricks_clusters,omitempty"` Clusters map[string]any `json:"databricks_clusters,omitempty"`
CurrentConfig map[string]*DataSourceCurrentConfig `json:"databricks_current_config,omitempty"` CurrentConfig map[string]any `json:"databricks_current_config,omitempty"`
CurrentMetastore map[string]*DataSourceCurrentMetastore `json:"databricks_current_metastore,omitempty"` CurrentMetastore map[string]any `json:"databricks_current_metastore,omitempty"`
CurrentUser map[string]*DataSourceCurrentUser `json:"databricks_current_user,omitempty"` CurrentUser map[string]any `json:"databricks_current_user,omitempty"`
DbfsFile map[string]*DataSourceDbfsFile `json:"databricks_dbfs_file,omitempty"` DbfsFile map[string]any `json:"databricks_dbfs_file,omitempty"`
DbfsFilePaths map[string]*DataSourceDbfsFilePaths `json:"databricks_dbfs_file_paths,omitempty"` DbfsFilePaths map[string]any `json:"databricks_dbfs_file_paths,omitempty"`
Directory map[string]*DataSourceDirectory `json:"databricks_directory,omitempty"` Directory map[string]any `json:"databricks_directory,omitempty"`
Group map[string]*DataSourceGroup `json:"databricks_group,omitempty"` Group map[string]any `json:"databricks_group,omitempty"`
InstancePool map[string]*DataSourceInstancePool `json:"databricks_instance_pool,omitempty"` InstancePool map[string]any `json:"databricks_instance_pool,omitempty"`
InstanceProfiles map[string]*DataSourceInstanceProfiles `json:"databricks_instance_profiles,omitempty"` InstanceProfiles map[string]any `json:"databricks_instance_profiles,omitempty"`
Job map[string]*DataSourceJob `json:"databricks_job,omitempty"` Job map[string]any `json:"databricks_job,omitempty"`
Jobs map[string]*DataSourceJobs `json:"databricks_jobs,omitempty"` Jobs map[string]any `json:"databricks_jobs,omitempty"`
Metastore map[string]*DataSourceMetastore `json:"databricks_metastore,omitempty"` Metastore map[string]any `json:"databricks_metastore,omitempty"`
Metastores map[string]*DataSourceMetastores `json:"databricks_metastores,omitempty"` Metastores map[string]any `json:"databricks_metastores,omitempty"`
MlflowModel map[string]*DataSourceMlflowModel `json:"databricks_mlflow_model,omitempty"` MlflowModel map[string]any `json:"databricks_mlflow_model,omitempty"`
MwsCredentials map[string]*DataSourceMwsCredentials `json:"databricks_mws_credentials,omitempty"` MwsCredentials map[string]any `json:"databricks_mws_credentials,omitempty"`
MwsWorkspaces map[string]*DataSourceMwsWorkspaces `json:"databricks_mws_workspaces,omitempty"` MwsWorkspaces map[string]any `json:"databricks_mws_workspaces,omitempty"`
NodeType map[string]*DataSourceNodeType `json:"databricks_node_type,omitempty"` NodeType map[string]any `json:"databricks_node_type,omitempty"`
Notebook map[string]*DataSourceNotebook `json:"databricks_notebook,omitempty"` Notebook map[string]any `json:"databricks_notebook,omitempty"`
NotebookPaths map[string]*DataSourceNotebookPaths `json:"databricks_notebook_paths,omitempty"` NotebookPaths map[string]any `json:"databricks_notebook_paths,omitempty"`
Pipelines map[string]*DataSourcePipelines `json:"databricks_pipelines,omitempty"` Pipelines map[string]any `json:"databricks_pipelines,omitempty"`
Schemas map[string]*DataSourceSchemas `json:"databricks_schemas,omitempty"` Schemas map[string]any `json:"databricks_schemas,omitempty"`
ServicePrincipal map[string]*DataSourceServicePrincipal `json:"databricks_service_principal,omitempty"` ServicePrincipal map[string]any `json:"databricks_service_principal,omitempty"`
ServicePrincipals map[string]*DataSourceServicePrincipals `json:"databricks_service_principals,omitempty"` ServicePrincipals map[string]any `json:"databricks_service_principals,omitempty"`
Share map[string]*DataSourceShare `json:"databricks_share,omitempty"` Share map[string]any `json:"databricks_share,omitempty"`
Shares map[string]*DataSourceShares `json:"databricks_shares,omitempty"` Shares map[string]any `json:"databricks_shares,omitempty"`
SparkVersion map[string]*DataSourceSparkVersion `json:"databricks_spark_version,omitempty"` SparkVersion map[string]any `json:"databricks_spark_version,omitempty"`
SqlWarehouse map[string]*DataSourceSqlWarehouse `json:"databricks_sql_warehouse,omitempty"` SqlWarehouse map[string]any `json:"databricks_sql_warehouse,omitempty"`
SqlWarehouses map[string]*DataSourceSqlWarehouses `json:"databricks_sql_warehouses,omitempty"` SqlWarehouses map[string]any `json:"databricks_sql_warehouses,omitempty"`
Tables map[string]*DataSourceTables `json:"databricks_tables,omitempty"` Tables map[string]any `json:"databricks_tables,omitempty"`
User map[string]*DataSourceUser `json:"databricks_user,omitempty"` User map[string]any `json:"databricks_user,omitempty"`
Views map[string]*DataSourceViews `json:"databricks_views,omitempty"` Views map[string]any `json:"databricks_views,omitempty"`
Volumes map[string]*DataSourceVolumes `json:"databricks_volumes,omitempty"` Volumes map[string]any `json:"databricks_volumes,omitempty"`
Zones map[string]*DataSourceZones `json:"databricks_zones,omitempty"` Zones map[string]any `json:"databricks_zones,omitempty"`
} }
func NewDataSources() *DataSources { func NewDataSources() *DataSources {
return &DataSources{ return &DataSources{
AwsAssumeRolePolicy: make(map[string]*DataSourceAwsAssumeRolePolicy), AwsAssumeRolePolicy: make(map[string]any),
AwsBucketPolicy: make(map[string]*DataSourceAwsBucketPolicy), AwsBucketPolicy: make(map[string]any),
AwsCrossaccountPolicy: make(map[string]*DataSourceAwsCrossaccountPolicy), AwsCrossaccountPolicy: make(map[string]any),
AwsUnityCatalogPolicy: make(map[string]*DataSourceAwsUnityCatalogPolicy), AwsUnityCatalogPolicy: make(map[string]any),
Catalogs: make(map[string]*DataSourceCatalogs), Catalogs: make(map[string]any),
Cluster: make(map[string]*DataSourceCluster), Cluster: make(map[string]any),
ClusterPolicy: make(map[string]*DataSourceClusterPolicy), ClusterPolicy: make(map[string]any),
Clusters: make(map[string]*DataSourceClusters), Clusters: make(map[string]any),
CurrentConfig: make(map[string]*DataSourceCurrentConfig), CurrentConfig: make(map[string]any),
CurrentMetastore: make(map[string]*DataSourceCurrentMetastore), CurrentMetastore: make(map[string]any),
CurrentUser: make(map[string]*DataSourceCurrentUser), CurrentUser: make(map[string]any),
DbfsFile: make(map[string]*DataSourceDbfsFile), DbfsFile: make(map[string]any),
DbfsFilePaths: make(map[string]*DataSourceDbfsFilePaths), DbfsFilePaths: make(map[string]any),
Directory: make(map[string]*DataSourceDirectory), Directory: make(map[string]any),
Group: make(map[string]*DataSourceGroup), Group: make(map[string]any),
InstancePool: make(map[string]*DataSourceInstancePool), InstancePool: make(map[string]any),
InstanceProfiles: make(map[string]*DataSourceInstanceProfiles), InstanceProfiles: make(map[string]any),
Job: make(map[string]*DataSourceJob), Job: make(map[string]any),
Jobs: make(map[string]*DataSourceJobs), Jobs: make(map[string]any),
Metastore: make(map[string]*DataSourceMetastore), Metastore: make(map[string]any),
Metastores: make(map[string]*DataSourceMetastores), Metastores: make(map[string]any),
MlflowModel: make(map[string]*DataSourceMlflowModel), MlflowModel: make(map[string]any),
MwsCredentials: make(map[string]*DataSourceMwsCredentials), MwsCredentials: make(map[string]any),
MwsWorkspaces: make(map[string]*DataSourceMwsWorkspaces), MwsWorkspaces: make(map[string]any),
NodeType: make(map[string]*DataSourceNodeType), NodeType: make(map[string]any),
Notebook: make(map[string]*DataSourceNotebook), Notebook: make(map[string]any),
NotebookPaths: make(map[string]*DataSourceNotebookPaths), NotebookPaths: make(map[string]any),
Pipelines: make(map[string]*DataSourcePipelines), Pipelines: make(map[string]any),
Schemas: make(map[string]*DataSourceSchemas), Schemas: make(map[string]any),
ServicePrincipal: make(map[string]*DataSourceServicePrincipal), ServicePrincipal: make(map[string]any),
ServicePrincipals: make(map[string]*DataSourceServicePrincipals), ServicePrincipals: make(map[string]any),
Share: make(map[string]*DataSourceShare), Share: make(map[string]any),
Shares: make(map[string]*DataSourceShares), Shares: make(map[string]any),
SparkVersion: make(map[string]*DataSourceSparkVersion), SparkVersion: make(map[string]any),
SqlWarehouse: make(map[string]*DataSourceSqlWarehouse), SqlWarehouse: make(map[string]any),
SqlWarehouses: make(map[string]*DataSourceSqlWarehouses), SqlWarehouses: make(map[string]any),
Tables: make(map[string]*DataSourceTables), Tables: make(map[string]any),
User: make(map[string]*DataSourceUser), User: make(map[string]any),
Views: make(map[string]*DataSourceViews), Views: make(map[string]any),
Volumes: make(map[string]*DataSourceVolumes), Volumes: make(map[string]any),
Zones: make(map[string]*DataSourceZones), Zones: make(map[string]any),
} }
} }

View File

@ -3,173 +3,173 @@
package schema package schema
type Resources struct { type Resources struct {
AccessControlRuleSet map[string]*ResourceAccessControlRuleSet `json:"databricks_access_control_rule_set,omitempty"` AccessControlRuleSet map[string]any `json:"databricks_access_control_rule_set,omitempty"`
ArtifactAllowlist map[string]*ResourceArtifactAllowlist `json:"databricks_artifact_allowlist,omitempty"` ArtifactAllowlist map[string]any `json:"databricks_artifact_allowlist,omitempty"`
AwsS3Mount map[string]*ResourceAwsS3Mount `json:"databricks_aws_s3_mount,omitempty"` AwsS3Mount map[string]any `json:"databricks_aws_s3_mount,omitempty"`
AzureAdlsGen1Mount map[string]*ResourceAzureAdlsGen1Mount `json:"databricks_azure_adls_gen1_mount,omitempty"` AzureAdlsGen1Mount map[string]any `json:"databricks_azure_adls_gen1_mount,omitempty"`
AzureAdlsGen2Mount map[string]*ResourceAzureAdlsGen2Mount `json:"databricks_azure_adls_gen2_mount,omitempty"` AzureAdlsGen2Mount map[string]any `json:"databricks_azure_adls_gen2_mount,omitempty"`
AzureBlobMount map[string]*ResourceAzureBlobMount `json:"databricks_azure_blob_mount,omitempty"` AzureBlobMount map[string]any `json:"databricks_azure_blob_mount,omitempty"`
Catalog map[string]*ResourceCatalog `json:"databricks_catalog,omitempty"` Catalog map[string]any `json:"databricks_catalog,omitempty"`
CatalogWorkspaceBinding map[string]*ResourceCatalogWorkspaceBinding `json:"databricks_catalog_workspace_binding,omitempty"` CatalogWorkspaceBinding map[string]any `json:"databricks_catalog_workspace_binding,omitempty"`
Cluster map[string]*ResourceCluster `json:"databricks_cluster,omitempty"` Cluster map[string]any `json:"databricks_cluster,omitempty"`
ClusterPolicy map[string]*ResourceClusterPolicy `json:"databricks_cluster_policy,omitempty"` ClusterPolicy map[string]any `json:"databricks_cluster_policy,omitempty"`
Connection map[string]*ResourceConnection `json:"databricks_connection,omitempty"` Connection map[string]any `json:"databricks_connection,omitempty"`
DbfsFile map[string]*ResourceDbfsFile `json:"databricks_dbfs_file,omitempty"` DbfsFile map[string]any `json:"databricks_dbfs_file,omitempty"`
DefaultNamespaceSetting map[string]*ResourceDefaultNamespaceSetting `json:"databricks_default_namespace_setting,omitempty"` DefaultNamespaceSetting map[string]any `json:"databricks_default_namespace_setting,omitempty"`
Directory map[string]*ResourceDirectory `json:"databricks_directory,omitempty"` Directory map[string]any `json:"databricks_directory,omitempty"`
Entitlements map[string]*ResourceEntitlements `json:"databricks_entitlements,omitempty"` Entitlements map[string]any `json:"databricks_entitlements,omitempty"`
ExternalLocation map[string]*ResourceExternalLocation `json:"databricks_external_location,omitempty"` ExternalLocation map[string]any `json:"databricks_external_location,omitempty"`
GitCredential map[string]*ResourceGitCredential `json:"databricks_git_credential,omitempty"` GitCredential map[string]any `json:"databricks_git_credential,omitempty"`
GlobalInitScript map[string]*ResourceGlobalInitScript `json:"databricks_global_init_script,omitempty"` GlobalInitScript map[string]any `json:"databricks_global_init_script,omitempty"`
Grant map[string]*ResourceGrant `json:"databricks_grant,omitempty"` Grant map[string]any `json:"databricks_grant,omitempty"`
Grants map[string]*ResourceGrants `json:"databricks_grants,omitempty"` Grants map[string]any `json:"databricks_grants,omitempty"`
Group map[string]*ResourceGroup `json:"databricks_group,omitempty"` Group map[string]any `json:"databricks_group,omitempty"`
GroupInstanceProfile map[string]*ResourceGroupInstanceProfile `json:"databricks_group_instance_profile,omitempty"` GroupInstanceProfile map[string]any `json:"databricks_group_instance_profile,omitempty"`
GroupMember map[string]*ResourceGroupMember `json:"databricks_group_member,omitempty"` GroupMember map[string]any `json:"databricks_group_member,omitempty"`
GroupRole map[string]*ResourceGroupRole `json:"databricks_group_role,omitempty"` GroupRole map[string]any `json:"databricks_group_role,omitempty"`
InstancePool map[string]*ResourceInstancePool `json:"databricks_instance_pool,omitempty"` InstancePool map[string]any `json:"databricks_instance_pool,omitempty"`
InstanceProfile map[string]*ResourceInstanceProfile `json:"databricks_instance_profile,omitempty"` InstanceProfile map[string]any `json:"databricks_instance_profile,omitempty"`
IpAccessList map[string]*ResourceIpAccessList `json:"databricks_ip_access_list,omitempty"` IpAccessList map[string]any `json:"databricks_ip_access_list,omitempty"`
Job map[string]*ResourceJob `json:"databricks_job,omitempty"` Job map[string]any `json:"databricks_job,omitempty"`
Library map[string]*ResourceLibrary `json:"databricks_library,omitempty"` Library map[string]any `json:"databricks_library,omitempty"`
Metastore map[string]*ResourceMetastore `json:"databricks_metastore,omitempty"` Metastore map[string]any `json:"databricks_metastore,omitempty"`
MetastoreAssignment map[string]*ResourceMetastoreAssignment `json:"databricks_metastore_assignment,omitempty"` MetastoreAssignment map[string]any `json:"databricks_metastore_assignment,omitempty"`
MetastoreDataAccess map[string]*ResourceMetastoreDataAccess `json:"databricks_metastore_data_access,omitempty"` MetastoreDataAccess map[string]any `json:"databricks_metastore_data_access,omitempty"`
MlflowExperiment map[string]*ResourceMlflowExperiment `json:"databricks_mlflow_experiment,omitempty"` MlflowExperiment map[string]any `json:"databricks_mlflow_experiment,omitempty"`
MlflowModel map[string]*ResourceMlflowModel `json:"databricks_mlflow_model,omitempty"` MlflowModel map[string]any `json:"databricks_mlflow_model,omitempty"`
MlflowWebhook map[string]*ResourceMlflowWebhook `json:"databricks_mlflow_webhook,omitempty"` MlflowWebhook map[string]any `json:"databricks_mlflow_webhook,omitempty"`
ModelServing map[string]*ResourceModelServing `json:"databricks_model_serving,omitempty"` ModelServing map[string]any `json:"databricks_model_serving,omitempty"`
Mount map[string]*ResourceMount `json:"databricks_mount,omitempty"` Mount map[string]any `json:"databricks_mount,omitempty"`
MwsCredentials map[string]*ResourceMwsCredentials `json:"databricks_mws_credentials,omitempty"` MwsCredentials map[string]any `json:"databricks_mws_credentials,omitempty"`
MwsCustomerManagedKeys map[string]*ResourceMwsCustomerManagedKeys `json:"databricks_mws_customer_managed_keys,omitempty"` MwsCustomerManagedKeys map[string]any `json:"databricks_mws_customer_managed_keys,omitempty"`
MwsLogDelivery map[string]*ResourceMwsLogDelivery `json:"databricks_mws_log_delivery,omitempty"` MwsLogDelivery map[string]any `json:"databricks_mws_log_delivery,omitempty"`
MwsNetworks map[string]*ResourceMwsNetworks `json:"databricks_mws_networks,omitempty"` MwsNetworks map[string]any `json:"databricks_mws_networks,omitempty"`
MwsPermissionAssignment map[string]*ResourceMwsPermissionAssignment `json:"databricks_mws_permission_assignment,omitempty"` MwsPermissionAssignment map[string]any `json:"databricks_mws_permission_assignment,omitempty"`
MwsPrivateAccessSettings map[string]*ResourceMwsPrivateAccessSettings `json:"databricks_mws_private_access_settings,omitempty"` MwsPrivateAccessSettings map[string]any `json:"databricks_mws_private_access_settings,omitempty"`
MwsStorageConfigurations map[string]*ResourceMwsStorageConfigurations `json:"databricks_mws_storage_configurations,omitempty"` MwsStorageConfigurations map[string]any `json:"databricks_mws_storage_configurations,omitempty"`
MwsVpcEndpoint map[string]*ResourceMwsVpcEndpoint `json:"databricks_mws_vpc_endpoint,omitempty"` MwsVpcEndpoint map[string]any `json:"databricks_mws_vpc_endpoint,omitempty"`
MwsWorkspaces map[string]*ResourceMwsWorkspaces `json:"databricks_mws_workspaces,omitempty"` MwsWorkspaces map[string]any `json:"databricks_mws_workspaces,omitempty"`
Notebook map[string]*ResourceNotebook `json:"databricks_notebook,omitempty"` Notebook map[string]any `json:"databricks_notebook,omitempty"`
OboToken map[string]*ResourceOboToken `json:"databricks_obo_token,omitempty"` OboToken map[string]any `json:"databricks_obo_token,omitempty"`
PermissionAssignment map[string]*ResourcePermissionAssignment `json:"databricks_permission_assignment,omitempty"` PermissionAssignment map[string]any `json:"databricks_permission_assignment,omitempty"`
Permissions map[string]*ResourcePermissions `json:"databricks_permissions,omitempty"` Permissions map[string]any `json:"databricks_permissions,omitempty"`
Pipeline map[string]*ResourcePipeline `json:"databricks_pipeline,omitempty"` Pipeline map[string]any `json:"databricks_pipeline,omitempty"`
Provider map[string]*ResourceProvider `json:"databricks_provider,omitempty"` Provider map[string]any `json:"databricks_provider,omitempty"`
Recipient map[string]*ResourceRecipient `json:"databricks_recipient,omitempty"` Recipient map[string]any `json:"databricks_recipient,omitempty"`
RegisteredModel map[string]*ResourceRegisteredModel `json:"databricks_registered_model,omitempty"` RegisteredModel map[string]any `json:"databricks_registered_model,omitempty"`
Repo map[string]*ResourceRepo `json:"databricks_repo,omitempty"` Repo map[string]any `json:"databricks_repo,omitempty"`
Schema map[string]*ResourceSchema `json:"databricks_schema,omitempty"` Schema map[string]any `json:"databricks_schema,omitempty"`
Secret map[string]*ResourceSecret `json:"databricks_secret,omitempty"` Secret map[string]any `json:"databricks_secret,omitempty"`
SecretAcl map[string]*ResourceSecretAcl `json:"databricks_secret_acl,omitempty"` SecretAcl map[string]any `json:"databricks_secret_acl,omitempty"`
SecretScope map[string]*ResourceSecretScope `json:"databricks_secret_scope,omitempty"` SecretScope map[string]any `json:"databricks_secret_scope,omitempty"`
ServicePrincipal map[string]*ResourceServicePrincipal `json:"databricks_service_principal,omitempty"` ServicePrincipal map[string]any `json:"databricks_service_principal,omitempty"`
ServicePrincipalRole map[string]*ResourceServicePrincipalRole `json:"databricks_service_principal_role,omitempty"` ServicePrincipalRole map[string]any `json:"databricks_service_principal_role,omitempty"`
ServicePrincipalSecret map[string]*ResourceServicePrincipalSecret `json:"databricks_service_principal_secret,omitempty"` ServicePrincipalSecret map[string]any `json:"databricks_service_principal_secret,omitempty"`
Share map[string]*ResourceShare `json:"databricks_share,omitempty"` Share map[string]any `json:"databricks_share,omitempty"`
SqlAlert map[string]*ResourceSqlAlert `json:"databricks_sql_alert,omitempty"` SqlAlert map[string]any `json:"databricks_sql_alert,omitempty"`
SqlDashboard map[string]*ResourceSqlDashboard `json:"databricks_sql_dashboard,omitempty"` SqlDashboard map[string]any `json:"databricks_sql_dashboard,omitempty"`
SqlEndpoint map[string]*ResourceSqlEndpoint `json:"databricks_sql_endpoint,omitempty"` SqlEndpoint map[string]any `json:"databricks_sql_endpoint,omitempty"`
SqlGlobalConfig map[string]*ResourceSqlGlobalConfig `json:"databricks_sql_global_config,omitempty"` SqlGlobalConfig map[string]any `json:"databricks_sql_global_config,omitempty"`
SqlPermissions map[string]*ResourceSqlPermissions `json:"databricks_sql_permissions,omitempty"` SqlPermissions map[string]any `json:"databricks_sql_permissions,omitempty"`
SqlQuery map[string]*ResourceSqlQuery `json:"databricks_sql_query,omitempty"` SqlQuery map[string]any `json:"databricks_sql_query,omitempty"`
SqlTable map[string]*ResourceSqlTable `json:"databricks_sql_table,omitempty"` SqlTable map[string]any `json:"databricks_sql_table,omitempty"`
SqlVisualization map[string]*ResourceSqlVisualization `json:"databricks_sql_visualization,omitempty"` SqlVisualization map[string]any `json:"databricks_sql_visualization,omitempty"`
SqlWidget map[string]*ResourceSqlWidget `json:"databricks_sql_widget,omitempty"` SqlWidget map[string]any `json:"databricks_sql_widget,omitempty"`
StorageCredential map[string]*ResourceStorageCredential `json:"databricks_storage_credential,omitempty"` StorageCredential map[string]any `json:"databricks_storage_credential,omitempty"`
SystemSchema map[string]*ResourceSystemSchema `json:"databricks_system_schema,omitempty"` SystemSchema map[string]any `json:"databricks_system_schema,omitempty"`
Table map[string]*ResourceTable `json:"databricks_table,omitempty"` Table map[string]any `json:"databricks_table,omitempty"`
Token map[string]*ResourceToken `json:"databricks_token,omitempty"` Token map[string]any `json:"databricks_token,omitempty"`
User map[string]*ResourceUser `json:"databricks_user,omitempty"` User map[string]any `json:"databricks_user,omitempty"`
UserInstanceProfile map[string]*ResourceUserInstanceProfile `json:"databricks_user_instance_profile,omitempty"` UserInstanceProfile map[string]any `json:"databricks_user_instance_profile,omitempty"`
UserRole map[string]*ResourceUserRole `json:"databricks_user_role,omitempty"` UserRole map[string]any `json:"databricks_user_role,omitempty"`
Volume map[string]*ResourceVolume `json:"databricks_volume,omitempty"` Volume map[string]any `json:"databricks_volume,omitempty"`
WorkspaceConf map[string]*ResourceWorkspaceConf `json:"databricks_workspace_conf,omitempty"` WorkspaceConf map[string]any `json:"databricks_workspace_conf,omitempty"`
WorkspaceFile map[string]*ResourceWorkspaceFile `json:"databricks_workspace_file,omitempty"` WorkspaceFile map[string]any `json:"databricks_workspace_file,omitempty"`
} }
func NewResources() *Resources { func NewResources() *Resources {
return &Resources{ return &Resources{
AccessControlRuleSet: make(map[string]*ResourceAccessControlRuleSet), AccessControlRuleSet: make(map[string]any),
ArtifactAllowlist: make(map[string]*ResourceArtifactAllowlist), ArtifactAllowlist: make(map[string]any),
AwsS3Mount: make(map[string]*ResourceAwsS3Mount), AwsS3Mount: make(map[string]any),
AzureAdlsGen1Mount: make(map[string]*ResourceAzureAdlsGen1Mount), AzureAdlsGen1Mount: make(map[string]any),
AzureAdlsGen2Mount: make(map[string]*ResourceAzureAdlsGen2Mount), AzureAdlsGen2Mount: make(map[string]any),
AzureBlobMount: make(map[string]*ResourceAzureBlobMount), AzureBlobMount: make(map[string]any),
Catalog: make(map[string]*ResourceCatalog), Catalog: make(map[string]any),
CatalogWorkspaceBinding: make(map[string]*ResourceCatalogWorkspaceBinding), CatalogWorkspaceBinding: make(map[string]any),
Cluster: make(map[string]*ResourceCluster), Cluster: make(map[string]any),
ClusterPolicy: make(map[string]*ResourceClusterPolicy), ClusterPolicy: make(map[string]any),
Connection: make(map[string]*ResourceConnection), Connection: make(map[string]any),
DbfsFile: make(map[string]*ResourceDbfsFile), DbfsFile: make(map[string]any),
DefaultNamespaceSetting: make(map[string]*ResourceDefaultNamespaceSetting), DefaultNamespaceSetting: make(map[string]any),
Directory: make(map[string]*ResourceDirectory), Directory: make(map[string]any),
Entitlements: make(map[string]*ResourceEntitlements), Entitlements: make(map[string]any),
ExternalLocation: make(map[string]*ResourceExternalLocation), ExternalLocation: make(map[string]any),
GitCredential: make(map[string]*ResourceGitCredential), GitCredential: make(map[string]any),
GlobalInitScript: make(map[string]*ResourceGlobalInitScript), GlobalInitScript: make(map[string]any),
Grant: make(map[string]*ResourceGrant), Grant: make(map[string]any),
Grants: make(map[string]*ResourceGrants), Grants: make(map[string]any),
Group: make(map[string]*ResourceGroup), Group: make(map[string]any),
GroupInstanceProfile: make(map[string]*ResourceGroupInstanceProfile), GroupInstanceProfile: make(map[string]any),
GroupMember: make(map[string]*ResourceGroupMember), GroupMember: make(map[string]any),
GroupRole: make(map[string]*ResourceGroupRole), GroupRole: make(map[string]any),
InstancePool: make(map[string]*ResourceInstancePool), InstancePool: make(map[string]any),
InstanceProfile: make(map[string]*ResourceInstanceProfile), InstanceProfile: make(map[string]any),
IpAccessList: make(map[string]*ResourceIpAccessList), IpAccessList: make(map[string]any),
Job: make(map[string]*ResourceJob), Job: make(map[string]any),
Library: make(map[string]*ResourceLibrary), Library: make(map[string]any),
Metastore: make(map[string]*ResourceMetastore), Metastore: make(map[string]any),
MetastoreAssignment: make(map[string]*ResourceMetastoreAssignment), MetastoreAssignment: make(map[string]any),
MetastoreDataAccess: make(map[string]*ResourceMetastoreDataAccess), MetastoreDataAccess: make(map[string]any),
MlflowExperiment: make(map[string]*ResourceMlflowExperiment), MlflowExperiment: make(map[string]any),
MlflowModel: make(map[string]*ResourceMlflowModel), MlflowModel: make(map[string]any),
MlflowWebhook: make(map[string]*ResourceMlflowWebhook), MlflowWebhook: make(map[string]any),
ModelServing: make(map[string]*ResourceModelServing), ModelServing: make(map[string]any),
Mount: make(map[string]*ResourceMount), Mount: make(map[string]any),
MwsCredentials: make(map[string]*ResourceMwsCredentials), MwsCredentials: make(map[string]any),
MwsCustomerManagedKeys: make(map[string]*ResourceMwsCustomerManagedKeys), MwsCustomerManagedKeys: make(map[string]any),
MwsLogDelivery: make(map[string]*ResourceMwsLogDelivery), MwsLogDelivery: make(map[string]any),
MwsNetworks: make(map[string]*ResourceMwsNetworks), MwsNetworks: make(map[string]any),
MwsPermissionAssignment: make(map[string]*ResourceMwsPermissionAssignment), MwsPermissionAssignment: make(map[string]any),
MwsPrivateAccessSettings: make(map[string]*ResourceMwsPrivateAccessSettings), MwsPrivateAccessSettings: make(map[string]any),
MwsStorageConfigurations: make(map[string]*ResourceMwsStorageConfigurations), MwsStorageConfigurations: make(map[string]any),
MwsVpcEndpoint: make(map[string]*ResourceMwsVpcEndpoint), MwsVpcEndpoint: make(map[string]any),
MwsWorkspaces: make(map[string]*ResourceMwsWorkspaces), MwsWorkspaces: make(map[string]any),
Notebook: make(map[string]*ResourceNotebook), Notebook: make(map[string]any),
OboToken: make(map[string]*ResourceOboToken), OboToken: make(map[string]any),
PermissionAssignment: make(map[string]*ResourcePermissionAssignment), PermissionAssignment: make(map[string]any),
Permissions: make(map[string]*ResourcePermissions), Permissions: make(map[string]any),
Pipeline: make(map[string]*ResourcePipeline), Pipeline: make(map[string]any),
Provider: make(map[string]*ResourceProvider), Provider: make(map[string]any),
Recipient: make(map[string]*ResourceRecipient), Recipient: make(map[string]any),
RegisteredModel: make(map[string]*ResourceRegisteredModel), RegisteredModel: make(map[string]any),
Repo: make(map[string]*ResourceRepo), Repo: make(map[string]any),
Schema: make(map[string]*ResourceSchema), Schema: make(map[string]any),
Secret: make(map[string]*ResourceSecret), Secret: make(map[string]any),
SecretAcl: make(map[string]*ResourceSecretAcl), SecretAcl: make(map[string]any),
SecretScope: make(map[string]*ResourceSecretScope), SecretScope: make(map[string]any),
ServicePrincipal: make(map[string]*ResourceServicePrincipal), ServicePrincipal: make(map[string]any),
ServicePrincipalRole: make(map[string]*ResourceServicePrincipalRole), ServicePrincipalRole: make(map[string]any),
ServicePrincipalSecret: make(map[string]*ResourceServicePrincipalSecret), ServicePrincipalSecret: make(map[string]any),
Share: make(map[string]*ResourceShare), Share: make(map[string]any),
SqlAlert: make(map[string]*ResourceSqlAlert), SqlAlert: make(map[string]any),
SqlDashboard: make(map[string]*ResourceSqlDashboard), SqlDashboard: make(map[string]any),
SqlEndpoint: make(map[string]*ResourceSqlEndpoint), SqlEndpoint: make(map[string]any),
SqlGlobalConfig: make(map[string]*ResourceSqlGlobalConfig), SqlGlobalConfig: make(map[string]any),
SqlPermissions: make(map[string]*ResourceSqlPermissions), SqlPermissions: make(map[string]any),
SqlQuery: make(map[string]*ResourceSqlQuery), SqlQuery: make(map[string]any),
SqlTable: make(map[string]*ResourceSqlTable), SqlTable: make(map[string]any),
SqlVisualization: make(map[string]*ResourceSqlVisualization), SqlVisualization: make(map[string]any),
SqlWidget: make(map[string]*ResourceSqlWidget), SqlWidget: make(map[string]any),
StorageCredential: make(map[string]*ResourceStorageCredential), StorageCredential: make(map[string]any),
SystemSchema: make(map[string]*ResourceSystemSchema), SystemSchema: make(map[string]any),
Table: make(map[string]*ResourceTable), Table: make(map[string]any),
Token: make(map[string]*ResourceToken), Token: make(map[string]any),
User: make(map[string]*ResourceUser), User: make(map[string]any),
UserInstanceProfile: make(map[string]*ResourceUserInstanceProfile), UserInstanceProfile: make(map[string]any),
UserRole: make(map[string]*ResourceUserRole), UserRole: make(map[string]any),
Volume: make(map[string]*ResourceVolume), Volume: make(map[string]any),
WorkspaceConf: make(map[string]*ResourceWorkspaceConf), WorkspaceConf: make(map[string]any),
WorkspaceFile: make(map[string]*ResourceWorkspaceFile), WorkspaceFile: make(map[string]any),
} }
} }