From c7540d3fb29eb0a0596b39271e49325af6b98721 Mon Sep 17 00:00:00 2001 From: Andrew Nester Date: Thu, 7 Aug 2025 10:55:15 +0200 Subject: [PATCH 1/3] Upgrade TF provider to 1.86.0 --- acceptance/terraform/main.tf | 2 +- acceptance/terraform/output.txt | 6 +- bundle/internal/tf/codegen/schema/version.go | 2 +- .../tf/schema/data_source_clean_room_asset.go | 136 +++++++ ...n_room_asset_revisions_clean_room_asset.go | 136 +++++++ ..._room_asset_revisions_clean_room_assets.go | 140 +++++++ .../schema/data_source_clean_room_assets.go | 140 +++++++ ...ta_source_clean_room_auto_approval_rule.go | 13 + ...a_source_clean_room_auto_approval_rules.go | 17 + .../tf/schema/data_source_functions.go | 68 ++-- .../schema/data_source_service_principal.go | 1 + .../internal/tf/schema/data_source_share.go | 51 ++- .../internal/tf/schema/data_source_shares.go | 1 - bundle/internal/tf/schema/data_sources.go | 344 +++++++++--------- .../tf/schema/resource_clean_room_asset.go | 136 +++++++ .../resource_clean_room_auto_approval_rule.go | 13 + .../internal/tf/schema/resource_connection.go | 44 ++- .../tf/schema/resource_database_instance.go | 1 + .../tf/schema/resource_lakehouse_monitor.go | 2 +- .../tf/schema/resource_model_serving.go | 27 +- ...ce_model_serving_provisioned_throughput.go | 20 +- .../internal/tf/schema/resource_pipeline.go | 76 ++-- .../tf/schema/resource_quality_monitor.go | 5 +- bundle/internal/tf/schema/resource_share.go | 33 +- bundle/internal/tf/schema/resources.go | 4 + bundle/internal/tf/schema/root.go | 2 +- 26 files changed, 1115 insertions(+), 305 deletions(-) create mode 100644 bundle/internal/tf/schema/data_source_clean_room_asset.go create mode 100644 bundle/internal/tf/schema/data_source_clean_room_asset_revisions_clean_room_asset.go create mode 100644 bundle/internal/tf/schema/data_source_clean_room_asset_revisions_clean_room_assets.go create mode 100644 bundle/internal/tf/schema/data_source_clean_room_assets.go create mode 100644 bundle/internal/tf/schema/data_source_clean_room_auto_approval_rule.go create mode 100644 bundle/internal/tf/schema/data_source_clean_room_auto_approval_rules.go create mode 100644 bundle/internal/tf/schema/resource_clean_room_asset.go create mode 100644 bundle/internal/tf/schema/resource_clean_room_auto_approval_rule.go diff --git a/acceptance/terraform/main.tf b/acceptance/terraform/main.tf index 96c2963fbe..5f32a63742 100644 --- a/acceptance/terraform/main.tf +++ b/acceptance/terraform/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { databricks = { source = "databricks/databricks" - version = "1.85.0" + version = "1.86.0" } } diff --git a/acceptance/terraform/output.txt b/acceptance/terraform/output.txt index 9a0198f120..c7ff7e2ada 100644 --- a/acceptance/terraform/output.txt +++ b/acceptance/terraform/output.txt @@ -4,9 +4,9 @@ Initializing the backend... Initializing provider plugins... -- Finding databricks/databricks versions matching "1.85.0"... -- Installing databricks/databricks v1.85.0... -- Installed databricks/databricks v1.85.0 (unauthenticated) +- Finding databricks/databricks versions matching "1.86.0"... +- Installing databricks/databricks v1.86.0... +- Installed databricks/databricks v1.86.0 (unauthenticated) Terraform has created a lock file .terraform.lock.hcl to record the provider selections it made above. Include this file in your version control repository diff --git a/bundle/internal/tf/codegen/schema/version.go b/bundle/internal/tf/codegen/schema/version.go index 6cd999927b..ac28f15052 100644 --- a/bundle/internal/tf/codegen/schema/version.go +++ b/bundle/internal/tf/codegen/schema/version.go @@ -1,3 +1,3 @@ package schema -const ProviderVersion = "1.85.0" +const ProviderVersion = "1.86.0" diff --git a/bundle/internal/tf/schema/data_source_clean_room_asset.go b/bundle/internal/tf/schema/data_source_clean_room_asset.go new file mode 100644 index 0000000000..ba34a77828 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_clean_room_asset.go @@ -0,0 +1,136 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceCleanRoomAssetForeignTableColumnsMask struct { + FunctionName string `json:"function_name,omitempty"` + UsingColumnNames []string `json:"using_column_names,omitempty"` +} + +type DataSourceCleanRoomAssetForeignTableColumns struct { + Comment string `json:"comment,omitempty"` + Mask *DataSourceCleanRoomAssetForeignTableColumnsMask `json:"mask,omitempty"` + Name string `json:"name,omitempty"` + Nullable bool `json:"nullable,omitempty"` + PartitionIndex int `json:"partition_index,omitempty"` + Position int `json:"position,omitempty"` + TypeIntervalType string `json:"type_interval_type,omitempty"` + TypeJson string `json:"type_json,omitempty"` + TypeName string `json:"type_name,omitempty"` + TypePrecision int `json:"type_precision,omitempty"` + TypeScale int `json:"type_scale,omitempty"` + TypeText string `json:"type_text,omitempty"` +} + +type DataSourceCleanRoomAssetForeignTable struct { + Columns []DataSourceCleanRoomAssetForeignTableColumns `json:"columns,omitempty"` +} + +type DataSourceCleanRoomAssetForeignTableLocalDetails struct { + LocalName string `json:"local_name"` +} + +type DataSourceCleanRoomAssetNotebookReviews struct { + Comment string `json:"comment,omitempty"` + CreatedAtMillis int `json:"created_at_millis,omitempty"` + ReviewState string `json:"review_state,omitempty"` + ReviewSubReason string `json:"review_sub_reason,omitempty"` + ReviewerCollaboratorAlias string `json:"reviewer_collaborator_alias,omitempty"` +} + +type DataSourceCleanRoomAssetNotebook struct { + Etag string `json:"etag,omitempty"` + NotebookContent string `json:"notebook_content"` + ReviewState string `json:"review_state,omitempty"` + Reviews []DataSourceCleanRoomAssetNotebookReviews `json:"reviews,omitempty"` + RunnerCollaboratorAliases []string `json:"runner_collaborator_aliases,omitempty"` +} + +type DataSourceCleanRoomAssetTableColumnsMask struct { + FunctionName string `json:"function_name,omitempty"` + UsingColumnNames []string `json:"using_column_names,omitempty"` +} + +type DataSourceCleanRoomAssetTableColumns struct { + Comment string `json:"comment,omitempty"` + Mask *DataSourceCleanRoomAssetTableColumnsMask `json:"mask,omitempty"` + Name string `json:"name,omitempty"` + Nullable bool `json:"nullable,omitempty"` + PartitionIndex int `json:"partition_index,omitempty"` + Position int `json:"position,omitempty"` + TypeIntervalType string `json:"type_interval_type,omitempty"` + TypeJson string `json:"type_json,omitempty"` + TypeName string `json:"type_name,omitempty"` + TypePrecision int `json:"type_precision,omitempty"` + TypeScale int `json:"type_scale,omitempty"` + TypeText string `json:"type_text,omitempty"` +} + +type DataSourceCleanRoomAssetTable struct { + Columns []DataSourceCleanRoomAssetTableColumns `json:"columns,omitempty"` +} + +type DataSourceCleanRoomAssetTableLocalDetailsPartitionsValue struct { + Name string `json:"name,omitempty"` + Op string `json:"op,omitempty"` + RecipientPropertyKey string `json:"recipient_property_key,omitempty"` + Value string `json:"value,omitempty"` +} + +type DataSourceCleanRoomAssetTableLocalDetailsPartitions struct { + Value []DataSourceCleanRoomAssetTableLocalDetailsPartitionsValue `json:"value,omitempty"` +} + +type DataSourceCleanRoomAssetTableLocalDetails struct { + LocalName string `json:"local_name"` + Partitions []DataSourceCleanRoomAssetTableLocalDetailsPartitions `json:"partitions,omitempty"` +} + +type DataSourceCleanRoomAssetViewColumnsMask struct { + FunctionName string `json:"function_name,omitempty"` + UsingColumnNames []string `json:"using_column_names,omitempty"` +} + +type DataSourceCleanRoomAssetViewColumns struct { + Comment string `json:"comment,omitempty"` + Mask *DataSourceCleanRoomAssetViewColumnsMask `json:"mask,omitempty"` + Name string `json:"name,omitempty"` + Nullable bool `json:"nullable,omitempty"` + PartitionIndex int `json:"partition_index,omitempty"` + Position int `json:"position,omitempty"` + TypeIntervalType string `json:"type_interval_type,omitempty"` + TypeJson string `json:"type_json,omitempty"` + TypeName string `json:"type_name,omitempty"` + TypePrecision int `json:"type_precision,omitempty"` + TypeScale int `json:"type_scale,omitempty"` + TypeText string `json:"type_text,omitempty"` +} + +type DataSourceCleanRoomAssetView struct { + Columns []DataSourceCleanRoomAssetViewColumns `json:"columns,omitempty"` +} + +type DataSourceCleanRoomAssetViewLocalDetails struct { + LocalName string `json:"local_name"` +} + +type DataSourceCleanRoomAssetVolumeLocalDetails struct { + LocalName string `json:"local_name"` +} + +type DataSourceCleanRoomAsset struct { + AddedAt int `json:"added_at,omitempty"` + AssetType string `json:"asset_type"` + CleanRoomName string `json:"clean_room_name,omitempty"` + ForeignTable *DataSourceCleanRoomAssetForeignTable `json:"foreign_table,omitempty"` + ForeignTableLocalDetails *DataSourceCleanRoomAssetForeignTableLocalDetails `json:"foreign_table_local_details,omitempty"` + Name string `json:"name"` + Notebook *DataSourceCleanRoomAssetNotebook `json:"notebook,omitempty"` + OwnerCollaboratorAlias string `json:"owner_collaborator_alias,omitempty"` + Status string `json:"status,omitempty"` + Table *DataSourceCleanRoomAssetTable `json:"table,omitempty"` + TableLocalDetails *DataSourceCleanRoomAssetTableLocalDetails `json:"table_local_details,omitempty"` + View *DataSourceCleanRoomAssetView `json:"view,omitempty"` + ViewLocalDetails *DataSourceCleanRoomAssetViewLocalDetails `json:"view_local_details,omitempty"` + VolumeLocalDetails *DataSourceCleanRoomAssetVolumeLocalDetails `json:"volume_local_details,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_clean_room_asset_revisions_clean_room_asset.go b/bundle/internal/tf/schema/data_source_clean_room_asset_revisions_clean_room_asset.go new file mode 100644 index 0000000000..1bbfa8f0ee --- /dev/null +++ b/bundle/internal/tf/schema/data_source_clean_room_asset_revisions_clean_room_asset.go @@ -0,0 +1,136 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetForeignTableColumnsMask struct { + FunctionName string `json:"function_name,omitempty"` + UsingColumnNames []string `json:"using_column_names,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetForeignTableColumns struct { + Comment string `json:"comment,omitempty"` + Mask *DataSourceCleanRoomAssetRevisionsCleanRoomAssetForeignTableColumnsMask `json:"mask,omitempty"` + Name string `json:"name,omitempty"` + Nullable bool `json:"nullable,omitempty"` + PartitionIndex int `json:"partition_index,omitempty"` + Position int `json:"position,omitempty"` + TypeIntervalType string `json:"type_interval_type,omitempty"` + TypeJson string `json:"type_json,omitempty"` + TypeName string `json:"type_name,omitempty"` + TypePrecision int `json:"type_precision,omitempty"` + TypeScale int `json:"type_scale,omitempty"` + TypeText string `json:"type_text,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetForeignTable struct { + Columns []DataSourceCleanRoomAssetRevisionsCleanRoomAssetForeignTableColumns `json:"columns,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetForeignTableLocalDetails struct { + LocalName string `json:"local_name"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetNotebookReviews struct { + Comment string `json:"comment,omitempty"` + CreatedAtMillis int `json:"created_at_millis,omitempty"` + ReviewState string `json:"review_state,omitempty"` + ReviewSubReason string `json:"review_sub_reason,omitempty"` + ReviewerCollaboratorAlias string `json:"reviewer_collaborator_alias,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetNotebook struct { + Etag string `json:"etag,omitempty"` + NotebookContent string `json:"notebook_content"` + ReviewState string `json:"review_state,omitempty"` + Reviews []DataSourceCleanRoomAssetRevisionsCleanRoomAssetNotebookReviews `json:"reviews,omitempty"` + RunnerCollaboratorAliases []string `json:"runner_collaborator_aliases,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetTableColumnsMask struct { + FunctionName string `json:"function_name,omitempty"` + UsingColumnNames []string `json:"using_column_names,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetTableColumns struct { + Comment string `json:"comment,omitempty"` + Mask *DataSourceCleanRoomAssetRevisionsCleanRoomAssetTableColumnsMask `json:"mask,omitempty"` + Name string `json:"name,omitempty"` + Nullable bool `json:"nullable,omitempty"` + PartitionIndex int `json:"partition_index,omitempty"` + Position int `json:"position,omitempty"` + TypeIntervalType string `json:"type_interval_type,omitempty"` + TypeJson string `json:"type_json,omitempty"` + TypeName string `json:"type_name,omitempty"` + TypePrecision int `json:"type_precision,omitempty"` + TypeScale int `json:"type_scale,omitempty"` + TypeText string `json:"type_text,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetTable struct { + Columns []DataSourceCleanRoomAssetRevisionsCleanRoomAssetTableColumns `json:"columns,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetTableLocalDetailsPartitionsValue struct { + Name string `json:"name,omitempty"` + Op string `json:"op,omitempty"` + RecipientPropertyKey string `json:"recipient_property_key,omitempty"` + Value string `json:"value,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetTableLocalDetailsPartitions struct { + Value []DataSourceCleanRoomAssetRevisionsCleanRoomAssetTableLocalDetailsPartitionsValue `json:"value,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetTableLocalDetails struct { + LocalName string `json:"local_name"` + Partitions []DataSourceCleanRoomAssetRevisionsCleanRoomAssetTableLocalDetailsPartitions `json:"partitions,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetViewColumnsMask struct { + FunctionName string `json:"function_name,omitempty"` + UsingColumnNames []string `json:"using_column_names,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetViewColumns struct { + Comment string `json:"comment,omitempty"` + Mask *DataSourceCleanRoomAssetRevisionsCleanRoomAssetViewColumnsMask `json:"mask,omitempty"` + Name string `json:"name,omitempty"` + Nullable bool `json:"nullable,omitempty"` + PartitionIndex int `json:"partition_index,omitempty"` + Position int `json:"position,omitempty"` + TypeIntervalType string `json:"type_interval_type,omitempty"` + TypeJson string `json:"type_json,omitempty"` + TypeName string `json:"type_name,omitempty"` + TypePrecision int `json:"type_precision,omitempty"` + TypeScale int `json:"type_scale,omitempty"` + TypeText string `json:"type_text,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetView struct { + Columns []DataSourceCleanRoomAssetRevisionsCleanRoomAssetViewColumns `json:"columns,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetViewLocalDetails struct { + LocalName string `json:"local_name"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetVolumeLocalDetails struct { + LocalName string `json:"local_name"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAsset struct { + AddedAt int `json:"added_at,omitempty"` + AssetType string `json:"asset_type"` + CleanRoomName string `json:"clean_room_name,omitempty"` + ForeignTable *DataSourceCleanRoomAssetRevisionsCleanRoomAssetForeignTable `json:"foreign_table,omitempty"` + ForeignTableLocalDetails *DataSourceCleanRoomAssetRevisionsCleanRoomAssetForeignTableLocalDetails `json:"foreign_table_local_details,omitempty"` + Name string `json:"name"` + Notebook *DataSourceCleanRoomAssetRevisionsCleanRoomAssetNotebook `json:"notebook,omitempty"` + OwnerCollaboratorAlias string `json:"owner_collaborator_alias,omitempty"` + Status string `json:"status,omitempty"` + Table *DataSourceCleanRoomAssetRevisionsCleanRoomAssetTable `json:"table,omitempty"` + TableLocalDetails *DataSourceCleanRoomAssetRevisionsCleanRoomAssetTableLocalDetails `json:"table_local_details,omitempty"` + View *DataSourceCleanRoomAssetRevisionsCleanRoomAssetView `json:"view,omitempty"` + ViewLocalDetails *DataSourceCleanRoomAssetRevisionsCleanRoomAssetViewLocalDetails `json:"view_local_details,omitempty"` + VolumeLocalDetails *DataSourceCleanRoomAssetRevisionsCleanRoomAssetVolumeLocalDetails `json:"volume_local_details,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_clean_room_asset_revisions_clean_room_assets.go b/bundle/internal/tf/schema/data_source_clean_room_asset_revisions_clean_room_assets.go new file mode 100644 index 0000000000..faad30f6b7 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_clean_room_asset_revisions_clean_room_assets.go @@ -0,0 +1,140 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsForeignTableColumnsMask struct { + FunctionName string `json:"function_name,omitempty"` + UsingColumnNames []string `json:"using_column_names,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsForeignTableColumns struct { + Comment string `json:"comment,omitempty"` + Mask *DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsForeignTableColumnsMask `json:"mask,omitempty"` + Name string `json:"name,omitempty"` + Nullable bool `json:"nullable,omitempty"` + PartitionIndex int `json:"partition_index,omitempty"` + Position int `json:"position,omitempty"` + TypeIntervalType string `json:"type_interval_type,omitempty"` + TypeJson string `json:"type_json,omitempty"` + TypeName string `json:"type_name,omitempty"` + TypePrecision int `json:"type_precision,omitempty"` + TypeScale int `json:"type_scale,omitempty"` + TypeText string `json:"type_text,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsForeignTable struct { + Columns []DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsForeignTableColumns `json:"columns,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsForeignTableLocalDetails struct { + LocalName string `json:"local_name"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsNotebookReviews struct { + Comment string `json:"comment,omitempty"` + CreatedAtMillis int `json:"created_at_millis,omitempty"` + ReviewState string `json:"review_state,omitempty"` + ReviewSubReason string `json:"review_sub_reason,omitempty"` + ReviewerCollaboratorAlias string `json:"reviewer_collaborator_alias,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsNotebook struct { + Etag string `json:"etag,omitempty"` + NotebookContent string `json:"notebook_content"` + ReviewState string `json:"review_state,omitempty"` + Reviews []DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsNotebookReviews `json:"reviews,omitempty"` + RunnerCollaboratorAliases []string `json:"runner_collaborator_aliases,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsTableColumnsMask struct { + FunctionName string `json:"function_name,omitempty"` + UsingColumnNames []string `json:"using_column_names,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsTableColumns struct { + Comment string `json:"comment,omitempty"` + Mask *DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsTableColumnsMask `json:"mask,omitempty"` + Name string `json:"name,omitempty"` + Nullable bool `json:"nullable,omitempty"` + PartitionIndex int `json:"partition_index,omitempty"` + Position int `json:"position,omitempty"` + TypeIntervalType string `json:"type_interval_type,omitempty"` + TypeJson string `json:"type_json,omitempty"` + TypeName string `json:"type_name,omitempty"` + TypePrecision int `json:"type_precision,omitempty"` + TypeScale int `json:"type_scale,omitempty"` + TypeText string `json:"type_text,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsTable struct { + Columns []DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsTableColumns `json:"columns,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsTableLocalDetailsPartitionsValue struct { + Name string `json:"name,omitempty"` + Op string `json:"op,omitempty"` + RecipientPropertyKey string `json:"recipient_property_key,omitempty"` + Value string `json:"value,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsTableLocalDetailsPartitions struct { + Value []DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsTableLocalDetailsPartitionsValue `json:"value,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsTableLocalDetails struct { + LocalName string `json:"local_name"` + Partitions []DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsTableLocalDetailsPartitions `json:"partitions,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsViewColumnsMask struct { + FunctionName string `json:"function_name,omitempty"` + UsingColumnNames []string `json:"using_column_names,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsViewColumns struct { + Comment string `json:"comment,omitempty"` + Mask *DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsViewColumnsMask `json:"mask,omitempty"` + Name string `json:"name,omitempty"` + Nullable bool `json:"nullable,omitempty"` + PartitionIndex int `json:"partition_index,omitempty"` + Position int `json:"position,omitempty"` + TypeIntervalType string `json:"type_interval_type,omitempty"` + TypeJson string `json:"type_json,omitempty"` + TypeName string `json:"type_name,omitempty"` + TypePrecision int `json:"type_precision,omitempty"` + TypeScale int `json:"type_scale,omitempty"` + TypeText string `json:"type_text,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsView struct { + Columns []DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsViewColumns `json:"columns,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsViewLocalDetails struct { + LocalName string `json:"local_name"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsVolumeLocalDetails struct { + LocalName string `json:"local_name"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisions struct { + AddedAt int `json:"added_at,omitempty"` + AssetType string `json:"asset_type"` + CleanRoomName string `json:"clean_room_name,omitempty"` + ForeignTable *DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsForeignTable `json:"foreign_table,omitempty"` + ForeignTableLocalDetails *DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsForeignTableLocalDetails `json:"foreign_table_local_details,omitempty"` + Name string `json:"name"` + Notebook *DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsNotebook `json:"notebook,omitempty"` + OwnerCollaboratorAlias string `json:"owner_collaborator_alias,omitempty"` + Status string `json:"status,omitempty"` + Table *DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsTable `json:"table,omitempty"` + TableLocalDetails *DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsTableLocalDetails `json:"table_local_details,omitempty"` + View *DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsView `json:"view,omitempty"` + ViewLocalDetails *DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsViewLocalDetails `json:"view_local_details,omitempty"` + VolumeLocalDetails *DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisionsVolumeLocalDetails `json:"volume_local_details,omitempty"` +} + +type DataSourceCleanRoomAssetRevisionsCleanRoomAssets struct { + Revisions []DataSourceCleanRoomAssetRevisionsCleanRoomAssetsRevisions `json:"revisions,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_clean_room_assets.go b/bundle/internal/tf/schema/data_source_clean_room_assets.go new file mode 100644 index 0000000000..905b428987 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_clean_room_assets.go @@ -0,0 +1,140 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceCleanRoomAssetsAssetsForeignTableColumnsMask struct { + FunctionName string `json:"function_name,omitempty"` + UsingColumnNames []string `json:"using_column_names,omitempty"` +} + +type DataSourceCleanRoomAssetsAssetsForeignTableColumns struct { + Comment string `json:"comment,omitempty"` + Mask *DataSourceCleanRoomAssetsAssetsForeignTableColumnsMask `json:"mask,omitempty"` + Name string `json:"name,omitempty"` + Nullable bool `json:"nullable,omitempty"` + PartitionIndex int `json:"partition_index,omitempty"` + Position int `json:"position,omitempty"` + TypeIntervalType string `json:"type_interval_type,omitempty"` + TypeJson string `json:"type_json,omitempty"` + TypeName string `json:"type_name,omitempty"` + TypePrecision int `json:"type_precision,omitempty"` + TypeScale int `json:"type_scale,omitempty"` + TypeText string `json:"type_text,omitempty"` +} + +type DataSourceCleanRoomAssetsAssetsForeignTable struct { + Columns []DataSourceCleanRoomAssetsAssetsForeignTableColumns `json:"columns,omitempty"` +} + +type DataSourceCleanRoomAssetsAssetsForeignTableLocalDetails struct { + LocalName string `json:"local_name"` +} + +type DataSourceCleanRoomAssetsAssetsNotebookReviews struct { + Comment string `json:"comment,omitempty"` + CreatedAtMillis int `json:"created_at_millis,omitempty"` + ReviewState string `json:"review_state,omitempty"` + ReviewSubReason string `json:"review_sub_reason,omitempty"` + ReviewerCollaboratorAlias string `json:"reviewer_collaborator_alias,omitempty"` +} + +type DataSourceCleanRoomAssetsAssetsNotebook struct { + Etag string `json:"etag,omitempty"` + NotebookContent string `json:"notebook_content"` + ReviewState string `json:"review_state,omitempty"` + Reviews []DataSourceCleanRoomAssetsAssetsNotebookReviews `json:"reviews,omitempty"` + RunnerCollaboratorAliases []string `json:"runner_collaborator_aliases,omitempty"` +} + +type DataSourceCleanRoomAssetsAssetsTableColumnsMask struct { + FunctionName string `json:"function_name,omitempty"` + UsingColumnNames []string `json:"using_column_names,omitempty"` +} + +type DataSourceCleanRoomAssetsAssetsTableColumns struct { + Comment string `json:"comment,omitempty"` + Mask *DataSourceCleanRoomAssetsAssetsTableColumnsMask `json:"mask,omitempty"` + Name string `json:"name,omitempty"` + Nullable bool `json:"nullable,omitempty"` + PartitionIndex int `json:"partition_index,omitempty"` + Position int `json:"position,omitempty"` + TypeIntervalType string `json:"type_interval_type,omitempty"` + TypeJson string `json:"type_json,omitempty"` + TypeName string `json:"type_name,omitempty"` + TypePrecision int `json:"type_precision,omitempty"` + TypeScale int `json:"type_scale,omitempty"` + TypeText string `json:"type_text,omitempty"` +} + +type DataSourceCleanRoomAssetsAssetsTable struct { + Columns []DataSourceCleanRoomAssetsAssetsTableColumns `json:"columns,omitempty"` +} + +type DataSourceCleanRoomAssetsAssetsTableLocalDetailsPartitionsValue struct { + Name string `json:"name,omitempty"` + Op string `json:"op,omitempty"` + RecipientPropertyKey string `json:"recipient_property_key,omitempty"` + Value string `json:"value,omitempty"` +} + +type DataSourceCleanRoomAssetsAssetsTableLocalDetailsPartitions struct { + Value []DataSourceCleanRoomAssetsAssetsTableLocalDetailsPartitionsValue `json:"value,omitempty"` +} + +type DataSourceCleanRoomAssetsAssetsTableLocalDetails struct { + LocalName string `json:"local_name"` + Partitions []DataSourceCleanRoomAssetsAssetsTableLocalDetailsPartitions `json:"partitions,omitempty"` +} + +type DataSourceCleanRoomAssetsAssetsViewColumnsMask struct { + FunctionName string `json:"function_name,omitempty"` + UsingColumnNames []string `json:"using_column_names,omitempty"` +} + +type DataSourceCleanRoomAssetsAssetsViewColumns struct { + Comment string `json:"comment,omitempty"` + Mask *DataSourceCleanRoomAssetsAssetsViewColumnsMask `json:"mask,omitempty"` + Name string `json:"name,omitempty"` + Nullable bool `json:"nullable,omitempty"` + PartitionIndex int `json:"partition_index,omitempty"` + Position int `json:"position,omitempty"` + TypeIntervalType string `json:"type_interval_type,omitempty"` + TypeJson string `json:"type_json,omitempty"` + TypeName string `json:"type_name,omitempty"` + TypePrecision int `json:"type_precision,omitempty"` + TypeScale int `json:"type_scale,omitempty"` + TypeText string `json:"type_text,omitempty"` +} + +type DataSourceCleanRoomAssetsAssetsView struct { + Columns []DataSourceCleanRoomAssetsAssetsViewColumns `json:"columns,omitempty"` +} + +type DataSourceCleanRoomAssetsAssetsViewLocalDetails struct { + LocalName string `json:"local_name"` +} + +type DataSourceCleanRoomAssetsAssetsVolumeLocalDetails struct { + LocalName string `json:"local_name"` +} + +type DataSourceCleanRoomAssetsAssets struct { + AddedAt int `json:"added_at,omitempty"` + AssetType string `json:"asset_type"` + CleanRoomName string `json:"clean_room_name,omitempty"` + ForeignTable *DataSourceCleanRoomAssetsAssetsForeignTable `json:"foreign_table,omitempty"` + ForeignTableLocalDetails *DataSourceCleanRoomAssetsAssetsForeignTableLocalDetails `json:"foreign_table_local_details,omitempty"` + Name string `json:"name"` + Notebook *DataSourceCleanRoomAssetsAssetsNotebook `json:"notebook,omitempty"` + OwnerCollaboratorAlias string `json:"owner_collaborator_alias,omitempty"` + Status string `json:"status,omitempty"` + Table *DataSourceCleanRoomAssetsAssetsTable `json:"table,omitempty"` + TableLocalDetails *DataSourceCleanRoomAssetsAssetsTableLocalDetails `json:"table_local_details,omitempty"` + View *DataSourceCleanRoomAssetsAssetsView `json:"view,omitempty"` + ViewLocalDetails *DataSourceCleanRoomAssetsAssetsViewLocalDetails `json:"view_local_details,omitempty"` + VolumeLocalDetails *DataSourceCleanRoomAssetsAssetsVolumeLocalDetails `json:"volume_local_details,omitempty"` +} + +type DataSourceCleanRoomAssets struct { + Assets []DataSourceCleanRoomAssetsAssets `json:"assets,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_clean_room_auto_approval_rule.go b/bundle/internal/tf/schema/data_source_clean_room_auto_approval_rule.go new file mode 100644 index 0000000000..fa060bb343 --- /dev/null +++ b/bundle/internal/tf/schema/data_source_clean_room_auto_approval_rule.go @@ -0,0 +1,13 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceCleanRoomAutoApprovalRule struct { + AuthorCollaboratorAlias string `json:"author_collaborator_alias,omitempty"` + AuthorScope string `json:"author_scope,omitempty"` + CleanRoomName string `json:"clean_room_name,omitempty"` + CreatedAt int `json:"created_at,omitempty"` + RuleId string `json:"rule_id,omitempty"` + RuleOwnerCollaboratorAlias string `json:"rule_owner_collaborator_alias,omitempty"` + RunnerCollaboratorAlias string `json:"runner_collaborator_alias,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_clean_room_auto_approval_rules.go b/bundle/internal/tf/schema/data_source_clean_room_auto_approval_rules.go new file mode 100644 index 0000000000..9904dc638d --- /dev/null +++ b/bundle/internal/tf/schema/data_source_clean_room_auto_approval_rules.go @@ -0,0 +1,17 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type DataSourceCleanRoomAutoApprovalRulesRules struct { + AuthorCollaboratorAlias string `json:"author_collaborator_alias,omitempty"` + AuthorScope string `json:"author_scope,omitempty"` + CleanRoomName string `json:"clean_room_name,omitempty"` + CreatedAt int `json:"created_at,omitempty"` + RuleId string `json:"rule_id,omitempty"` + RuleOwnerCollaboratorAlias string `json:"rule_owner_collaborator_alias,omitempty"` + RunnerCollaboratorAlias string `json:"runner_collaborator_alias,omitempty"` +} + +type DataSourceCleanRoomAutoApprovalRules struct { + Rules []DataSourceCleanRoomAutoApprovalRulesRules `json:"rules,omitempty"` +} diff --git a/bundle/internal/tf/schema/data_source_functions.go b/bundle/internal/tf/schema/data_source_functions.go index 5033682d2d..e01bc575fb 100644 --- a/bundle/internal/tf/schema/data_source_functions.go +++ b/bundle/internal/tf/schema/data_source_functions.go @@ -57,10 +57,10 @@ type DataSourceFunctionsFunctionsRoutineDependenciesDependenciesTable struct { } type DataSourceFunctionsFunctionsRoutineDependenciesDependencies struct { - Connection []DataSourceFunctionsFunctionsRoutineDependenciesDependenciesConnection `json:"connection,omitempty"` - Credential []DataSourceFunctionsFunctionsRoutineDependenciesDependenciesCredential `json:"credential,omitempty"` - Function []DataSourceFunctionsFunctionsRoutineDependenciesDependenciesFunction `json:"function,omitempty"` - Table []DataSourceFunctionsFunctionsRoutineDependenciesDependenciesTable `json:"table,omitempty"` + Connection *DataSourceFunctionsFunctionsRoutineDependenciesDependenciesConnection `json:"connection,omitempty"` + Credential *DataSourceFunctionsFunctionsRoutineDependenciesDependenciesCredential `json:"credential,omitempty"` + Function *DataSourceFunctionsFunctionsRoutineDependenciesDependenciesFunction `json:"function,omitempty"` + Table *DataSourceFunctionsFunctionsRoutineDependenciesDependenciesTable `json:"table,omitempty"` } type DataSourceFunctionsFunctionsRoutineDependencies struct { @@ -68,36 +68,36 @@ type DataSourceFunctionsFunctionsRoutineDependencies struct { } type DataSourceFunctionsFunctions struct { - BrowseOnly bool `json:"browse_only,omitempty"` - CatalogName string `json:"catalog_name,omitempty"` - Comment string `json:"comment,omitempty"` - CreatedAt int `json:"created_at,omitempty"` - CreatedBy string `json:"created_by,omitempty"` - DataType string `json:"data_type,omitempty"` - ExternalLanguage string `json:"external_language,omitempty"` - ExternalName string `json:"external_name,omitempty"` - FullDataType string `json:"full_data_type,omitempty"` - FullName string `json:"full_name,omitempty"` - FunctionId string `json:"function_id,omitempty"` - InputParams []DataSourceFunctionsFunctionsInputParams `json:"input_params,omitempty"` - IsDeterministic bool `json:"is_deterministic,omitempty"` - IsNullCall bool `json:"is_null_call,omitempty"` - MetastoreId string `json:"metastore_id,omitempty"` - Name string `json:"name,omitempty"` - Owner string `json:"owner,omitempty"` - ParameterStyle string `json:"parameter_style,omitempty"` - Properties string `json:"properties,omitempty"` - ReturnParams []DataSourceFunctionsFunctionsReturnParams `json:"return_params,omitempty"` - RoutineBody string `json:"routine_body,omitempty"` - RoutineDefinition string `json:"routine_definition,omitempty"` - RoutineDependencies []DataSourceFunctionsFunctionsRoutineDependencies `json:"routine_dependencies,omitempty"` - SchemaName string `json:"schema_name,omitempty"` - SecurityType string `json:"security_type,omitempty"` - SpecificName string `json:"specific_name,omitempty"` - SqlDataAccess string `json:"sql_data_access,omitempty"` - SqlPath string `json:"sql_path,omitempty"` - UpdatedAt int `json:"updated_at,omitempty"` - UpdatedBy string `json:"updated_by,omitempty"` + BrowseOnly bool `json:"browse_only,omitempty"` + CatalogName string `json:"catalog_name,omitempty"` + Comment string `json:"comment,omitempty"` + CreatedAt int `json:"created_at,omitempty"` + CreatedBy string `json:"created_by,omitempty"` + DataType string `json:"data_type,omitempty"` + ExternalLanguage string `json:"external_language,omitempty"` + ExternalName string `json:"external_name,omitempty"` + FullDataType string `json:"full_data_type,omitempty"` + FullName string `json:"full_name,omitempty"` + FunctionId string `json:"function_id,omitempty"` + InputParams *DataSourceFunctionsFunctionsInputParams `json:"input_params,omitempty"` + IsDeterministic bool `json:"is_deterministic,omitempty"` + IsNullCall bool `json:"is_null_call,omitempty"` + MetastoreId string `json:"metastore_id,omitempty"` + Name string `json:"name,omitempty"` + Owner string `json:"owner,omitempty"` + ParameterStyle string `json:"parameter_style,omitempty"` + Properties string `json:"properties,omitempty"` + ReturnParams *DataSourceFunctionsFunctionsReturnParams `json:"return_params,omitempty"` + RoutineBody string `json:"routine_body,omitempty"` + RoutineDefinition string `json:"routine_definition,omitempty"` + RoutineDependencies *DataSourceFunctionsFunctionsRoutineDependencies `json:"routine_dependencies,omitempty"` + SchemaName string `json:"schema_name,omitempty"` + SecurityType string `json:"security_type,omitempty"` + SpecificName string `json:"specific_name,omitempty"` + SqlDataAccess string `json:"sql_data_access,omitempty"` + SqlPath string `json:"sql_path,omitempty"` + UpdatedAt int `json:"updated_at,omitempty"` + UpdatedBy string `json:"updated_by,omitempty"` } type DataSourceFunctions struct { diff --git a/bundle/internal/tf/schema/data_source_service_principal.go b/bundle/internal/tf/schema/data_source_service_principal.go index 691a8ec08b..65f7a575bf 100644 --- a/bundle/internal/tf/schema/data_source_service_principal.go +++ b/bundle/internal/tf/schema/data_source_service_principal.go @@ -12,4 +12,5 @@ type DataSourceServicePrincipal struct { Id string `json:"id,omitempty"` Repos string `json:"repos,omitempty"` ScimId string `json:"scim_id,omitempty"` + SpId string `json:"sp_id,omitempty"` } diff --git a/bundle/internal/tf/schema/data_source_share.go b/bundle/internal/tf/schema/data_source_share.go index da9afaaefa..2c2d7497d2 100644 --- a/bundle/internal/tf/schema/data_source_share.go +++ b/bundle/internal/tf/schema/data_source_share.go @@ -3,8 +3,8 @@ package schema type DataSourceShareObjectPartitionValue struct { - Name string `json:"name"` - Op string `json:"op"` + Name string `json:"name,omitempty"` + Op string `json:"op,omitempty"` RecipientPropertyKey string `json:"recipient_property_key,omitempty"` Value string `json:"value,omitempty"` } @@ -14,25 +14,36 @@ type DataSourceShareObjectPartition struct { } type DataSourceShareObject struct { - AddedAt int `json:"added_at,omitempty"` - AddedBy string `json:"added_by,omitempty"` - CdfEnabled bool `json:"cdf_enabled,omitempty"` - Comment string `json:"comment,omitempty"` - Content string `json:"content,omitempty"` - DataObjectType string `json:"data_object_type"` - HistoryDataSharingStatus string `json:"history_data_sharing_status,omitempty"` - Name string `json:"name"` - SharedAs string `json:"shared_as,omitempty"` - StartVersion int `json:"start_version,omitempty"` - Status string `json:"status,omitempty"` - StringSharedAs string `json:"string_shared_as,omitempty"` - Partition []DataSourceShareObjectPartition `json:"partition,omitempty"` + AddedAt int `json:"added_at,omitempty"` + AddedBy string `json:"added_by,omitempty"` + CdfEnabled bool `json:"cdf_enabled,omitempty"` + Comment string `json:"comment,omitempty"` + Content string `json:"content,omitempty"` + DataObjectType string `json:"data_object_type,omitempty"` + EffectiveCdfEnabled bool `json:"effective_cdf_enabled,omitempty"` + EffectiveHistoryDataSharingStatus string `json:"effective_history_data_sharing_status,omitempty"` + EffectiveSharedAs string `json:"effective_shared_as,omitempty"` + EffectiveStartVersion int `json:"effective_start_version,omitempty"` + EffectiveStringSharedAs string `json:"effective_string_shared_as,omitempty"` + HistoryDataSharingStatus string `json:"history_data_sharing_status,omitempty"` + Name string `json:"name"` + Partition []DataSourceShareObjectPartition `json:"partition,omitempty"` + SharedAs string `json:"shared_as,omitempty"` + StartVersion int `json:"start_version,omitempty"` + Status string `json:"status,omitempty"` + StringSharedAs string `json:"string_shared_as,omitempty"` } type DataSourceShare struct { - CreatedAt int `json:"created_at,omitempty"` - CreatedBy string `json:"created_by,omitempty"` - Id string `json:"id,omitempty"` - Name string `json:"name,omitempty"` - Object []DataSourceShareObject `json:"object,omitempty"` + Comment string `json:"comment,omitempty"` + CreatedAt int `json:"created_at,omitempty"` + CreatedBy string `json:"created_by,omitempty"` + EffectiveOwner string `json:"effective_owner,omitempty"` + Name string `json:"name,omitempty"` + Object []DataSourceShareObject `json:"object,omitempty"` + Owner string `json:"owner,omitempty"` + StorageLocation string `json:"storage_location,omitempty"` + StorageRoot string `json:"storage_root,omitempty"` + UpdatedAt int `json:"updated_at,omitempty"` + UpdatedBy string `json:"updated_by,omitempty"` } diff --git a/bundle/internal/tf/schema/data_source_shares.go b/bundle/internal/tf/schema/data_source_shares.go index 404164a030..ee08b49dd0 100644 --- a/bundle/internal/tf/schema/data_source_shares.go +++ b/bundle/internal/tf/schema/data_source_shares.go @@ -3,6 +3,5 @@ package schema type DataSourceShares struct { - Id string `json:"id,omitempty"` Shares []string `json:"shares,omitempty"` } diff --git a/bundle/internal/tf/schema/data_sources.go b/bundle/internal/tf/schema/data_sources.go index 766c426327..d652c81b55 100644 --- a/bundle/internal/tf/schema/data_sources.go +++ b/bundle/internal/tf/schema/data_sources.go @@ -3,175 +3,187 @@ package schema type DataSources struct { - AccountNetworkPolicies map[string]any `json:"databricks_account_network_policies,omitempty"` - AccountNetworkPolicy map[string]any `json:"databricks_account_network_policy,omitempty"` - AlertV2 map[string]any `json:"databricks_alert_v2,omitempty"` - AlertsV2 map[string]any `json:"databricks_alerts_v2,omitempty"` - App map[string]any `json:"databricks_app,omitempty"` - Apps map[string]any `json:"databricks_apps,omitempty"` - AwsAssumeRolePolicy map[string]any `json:"databricks_aws_assume_role_policy,omitempty"` - AwsBucketPolicy map[string]any `json:"databricks_aws_bucket_policy,omitempty"` - AwsCrossaccountPolicy map[string]any `json:"databricks_aws_crossaccount_policy,omitempty"` - AwsUnityCatalogAssumeRolePolicy map[string]any `json:"databricks_aws_unity_catalog_assume_role_policy,omitempty"` - AwsUnityCatalogPolicy map[string]any `json:"databricks_aws_unity_catalog_policy,omitempty"` - BudgetPolicies map[string]any `json:"databricks_budget_policies,omitempty"` - BudgetPolicy map[string]any `json:"databricks_budget_policy,omitempty"` - Catalog map[string]any `json:"databricks_catalog,omitempty"` - Catalogs map[string]any `json:"databricks_catalogs,omitempty"` - CleanRoomsCleanRoom map[string]any `json:"databricks_clean_rooms_clean_room,omitempty"` - CleanRoomsCleanRooms map[string]any `json:"databricks_clean_rooms_clean_rooms,omitempty"` - Cluster map[string]any `json:"databricks_cluster,omitempty"` - ClusterPolicy map[string]any `json:"databricks_cluster_policy,omitempty"` - Clusters map[string]any `json:"databricks_clusters,omitempty"` - CurrentConfig map[string]any `json:"databricks_current_config,omitempty"` - CurrentMetastore map[string]any `json:"databricks_current_metastore,omitempty"` - CurrentUser map[string]any `json:"databricks_current_user,omitempty"` - Dashboards map[string]any `json:"databricks_dashboards,omitempty"` - DatabaseInstance map[string]any `json:"databricks_database_instance,omitempty"` - DatabaseInstances map[string]any `json:"databricks_database_instances,omitempty"` - DbfsFile map[string]any `json:"databricks_dbfs_file,omitempty"` - DbfsFilePaths map[string]any `json:"databricks_dbfs_file_paths,omitempty"` - Directory map[string]any `json:"databricks_directory,omitempty"` - ExternalLocation map[string]any `json:"databricks_external_location,omitempty"` - ExternalLocations map[string]any `json:"databricks_external_locations,omitempty"` - ExternalMetadata map[string]any `json:"databricks_external_metadata,omitempty"` - ExternalMetadatas map[string]any `json:"databricks_external_metadatas,omitempty"` - Functions map[string]any `json:"databricks_functions,omitempty"` - Group map[string]any `json:"databricks_group,omitempty"` - InstancePool map[string]any `json:"databricks_instance_pool,omitempty"` - InstanceProfiles map[string]any `json:"databricks_instance_profiles,omitempty"` - Job map[string]any `json:"databricks_job,omitempty"` - Jobs map[string]any `json:"databricks_jobs,omitempty"` - MaterializedFeaturesFeatureTag map[string]any `json:"databricks_materialized_features_feature_tag,omitempty"` - MaterializedFeaturesFeatureTags map[string]any `json:"databricks_materialized_features_feature_tags,omitempty"` - Metastore map[string]any `json:"databricks_metastore,omitempty"` - Metastores map[string]any `json:"databricks_metastores,omitempty"` - MlflowExperiment map[string]any `json:"databricks_mlflow_experiment,omitempty"` - MlflowModel map[string]any `json:"databricks_mlflow_model,omitempty"` - MlflowModels map[string]any `json:"databricks_mlflow_models,omitempty"` - MwsCredentials map[string]any `json:"databricks_mws_credentials,omitempty"` - MwsNetworkConnectivityConfig map[string]any `json:"databricks_mws_network_connectivity_config,omitempty"` - MwsNetworkConnectivityConfigs map[string]any `json:"databricks_mws_network_connectivity_configs,omitempty"` - MwsWorkspaces map[string]any `json:"databricks_mws_workspaces,omitempty"` - NodeType map[string]any `json:"databricks_node_type,omitempty"` - Notebook map[string]any `json:"databricks_notebook,omitempty"` - NotebookPaths map[string]any `json:"databricks_notebook_paths,omitempty"` - NotificationDestinations map[string]any `json:"databricks_notification_destinations,omitempty"` - OnlineStore map[string]any `json:"databricks_online_store,omitempty"` - OnlineStores map[string]any `json:"databricks_online_stores,omitempty"` - Pipelines map[string]any `json:"databricks_pipelines,omitempty"` - QualityMonitorV2 map[string]any `json:"databricks_quality_monitor_v2,omitempty"` - QualityMonitorsV2 map[string]any `json:"databricks_quality_monitors_v2,omitempty"` - RecipientFederationPolicies map[string]any `json:"databricks_recipient_federation_policies,omitempty"` - RecipientFederationPolicy map[string]any `json:"databricks_recipient_federation_policy,omitempty"` - RegisteredModel map[string]any `json:"databricks_registered_model,omitempty"` - RegisteredModelVersions map[string]any `json:"databricks_registered_model_versions,omitempty"` - Schema map[string]any `json:"databricks_schema,omitempty"` - Schemas map[string]any `json:"databricks_schemas,omitempty"` - ServicePrincipal map[string]any `json:"databricks_service_principal,omitempty"` - ServicePrincipals map[string]any `json:"databricks_service_principals,omitempty"` - ServingEndpoints map[string]any `json:"databricks_serving_endpoints,omitempty"` - Share map[string]any `json:"databricks_share,omitempty"` - Shares map[string]any `json:"databricks_shares,omitempty"` - SparkVersion map[string]any `json:"databricks_spark_version,omitempty"` - SqlWarehouse map[string]any `json:"databricks_sql_warehouse,omitempty"` - SqlWarehouses map[string]any `json:"databricks_sql_warehouses,omitempty"` - StorageCredential map[string]any `json:"databricks_storage_credential,omitempty"` - StorageCredentials map[string]any `json:"databricks_storage_credentials,omitempty"` - Table map[string]any `json:"databricks_table,omitempty"` - Tables map[string]any `json:"databricks_tables,omitempty"` - User map[string]any `json:"databricks_user,omitempty"` - Views map[string]any `json:"databricks_views,omitempty"` - Volume map[string]any `json:"databricks_volume,omitempty"` - Volumes map[string]any `json:"databricks_volumes,omitempty"` - WorkspaceNetworkOption map[string]any `json:"databricks_workspace_network_option,omitempty"` - Zones map[string]any `json:"databricks_zones,omitempty"` + AccountNetworkPolicies map[string]any `json:"databricks_account_network_policies,omitempty"` + AccountNetworkPolicy map[string]any `json:"databricks_account_network_policy,omitempty"` + AlertV2 map[string]any `json:"databricks_alert_v2,omitempty"` + AlertsV2 map[string]any `json:"databricks_alerts_v2,omitempty"` + App map[string]any `json:"databricks_app,omitempty"` + Apps map[string]any `json:"databricks_apps,omitempty"` + AwsAssumeRolePolicy map[string]any `json:"databricks_aws_assume_role_policy,omitempty"` + AwsBucketPolicy map[string]any `json:"databricks_aws_bucket_policy,omitempty"` + AwsCrossaccountPolicy map[string]any `json:"databricks_aws_crossaccount_policy,omitempty"` + AwsUnityCatalogAssumeRolePolicy map[string]any `json:"databricks_aws_unity_catalog_assume_role_policy,omitempty"` + AwsUnityCatalogPolicy map[string]any `json:"databricks_aws_unity_catalog_policy,omitempty"` + BudgetPolicies map[string]any `json:"databricks_budget_policies,omitempty"` + BudgetPolicy map[string]any `json:"databricks_budget_policy,omitempty"` + Catalog map[string]any `json:"databricks_catalog,omitempty"` + Catalogs map[string]any `json:"databricks_catalogs,omitempty"` + CleanRoomAsset map[string]any `json:"databricks_clean_room_asset,omitempty"` + CleanRoomAssetRevisionsCleanRoomAsset map[string]any `json:"databricks_clean_room_asset_revisions_clean_room_asset,omitempty"` + CleanRoomAssetRevisionsCleanRoomAssets map[string]any `json:"databricks_clean_room_asset_revisions_clean_room_assets,omitempty"` + CleanRoomAssets map[string]any `json:"databricks_clean_room_assets,omitempty"` + CleanRoomAutoApprovalRule map[string]any `json:"databricks_clean_room_auto_approval_rule,omitempty"` + CleanRoomAutoApprovalRules map[string]any `json:"databricks_clean_room_auto_approval_rules,omitempty"` + CleanRoomsCleanRoom map[string]any `json:"databricks_clean_rooms_clean_room,omitempty"` + CleanRoomsCleanRooms map[string]any `json:"databricks_clean_rooms_clean_rooms,omitempty"` + Cluster map[string]any `json:"databricks_cluster,omitempty"` + ClusterPolicy map[string]any `json:"databricks_cluster_policy,omitempty"` + Clusters map[string]any `json:"databricks_clusters,omitempty"` + CurrentConfig map[string]any `json:"databricks_current_config,omitempty"` + CurrentMetastore map[string]any `json:"databricks_current_metastore,omitempty"` + CurrentUser map[string]any `json:"databricks_current_user,omitempty"` + Dashboards map[string]any `json:"databricks_dashboards,omitempty"` + DatabaseInstance map[string]any `json:"databricks_database_instance,omitempty"` + DatabaseInstances map[string]any `json:"databricks_database_instances,omitempty"` + DbfsFile map[string]any `json:"databricks_dbfs_file,omitempty"` + DbfsFilePaths map[string]any `json:"databricks_dbfs_file_paths,omitempty"` + Directory map[string]any `json:"databricks_directory,omitempty"` + ExternalLocation map[string]any `json:"databricks_external_location,omitempty"` + ExternalLocations map[string]any `json:"databricks_external_locations,omitempty"` + ExternalMetadata map[string]any `json:"databricks_external_metadata,omitempty"` + ExternalMetadatas map[string]any `json:"databricks_external_metadatas,omitempty"` + Functions map[string]any `json:"databricks_functions,omitempty"` + Group map[string]any `json:"databricks_group,omitempty"` + InstancePool map[string]any `json:"databricks_instance_pool,omitempty"` + InstanceProfiles map[string]any `json:"databricks_instance_profiles,omitempty"` + Job map[string]any `json:"databricks_job,omitempty"` + Jobs map[string]any `json:"databricks_jobs,omitempty"` + MaterializedFeaturesFeatureTag map[string]any `json:"databricks_materialized_features_feature_tag,omitempty"` + MaterializedFeaturesFeatureTags map[string]any `json:"databricks_materialized_features_feature_tags,omitempty"` + Metastore map[string]any `json:"databricks_metastore,omitempty"` + Metastores map[string]any `json:"databricks_metastores,omitempty"` + MlflowExperiment map[string]any `json:"databricks_mlflow_experiment,omitempty"` + MlflowModel map[string]any `json:"databricks_mlflow_model,omitempty"` + MlflowModels map[string]any `json:"databricks_mlflow_models,omitempty"` + MwsCredentials map[string]any `json:"databricks_mws_credentials,omitempty"` + MwsNetworkConnectivityConfig map[string]any `json:"databricks_mws_network_connectivity_config,omitempty"` + MwsNetworkConnectivityConfigs map[string]any `json:"databricks_mws_network_connectivity_configs,omitempty"` + MwsWorkspaces map[string]any `json:"databricks_mws_workspaces,omitempty"` + NodeType map[string]any `json:"databricks_node_type,omitempty"` + Notebook map[string]any `json:"databricks_notebook,omitempty"` + NotebookPaths map[string]any `json:"databricks_notebook_paths,omitempty"` + NotificationDestinations map[string]any `json:"databricks_notification_destinations,omitempty"` + OnlineStore map[string]any `json:"databricks_online_store,omitempty"` + OnlineStores map[string]any `json:"databricks_online_stores,omitempty"` + Pipelines map[string]any `json:"databricks_pipelines,omitempty"` + QualityMonitorV2 map[string]any `json:"databricks_quality_monitor_v2,omitempty"` + QualityMonitorsV2 map[string]any `json:"databricks_quality_monitors_v2,omitempty"` + RecipientFederationPolicies map[string]any `json:"databricks_recipient_federation_policies,omitempty"` + RecipientFederationPolicy map[string]any `json:"databricks_recipient_federation_policy,omitempty"` + RegisteredModel map[string]any `json:"databricks_registered_model,omitempty"` + RegisteredModelVersions map[string]any `json:"databricks_registered_model_versions,omitempty"` + Schema map[string]any `json:"databricks_schema,omitempty"` + Schemas map[string]any `json:"databricks_schemas,omitempty"` + ServicePrincipal map[string]any `json:"databricks_service_principal,omitempty"` + ServicePrincipals map[string]any `json:"databricks_service_principals,omitempty"` + ServingEndpoints map[string]any `json:"databricks_serving_endpoints,omitempty"` + Share map[string]any `json:"databricks_share,omitempty"` + Shares map[string]any `json:"databricks_shares,omitempty"` + SparkVersion map[string]any `json:"databricks_spark_version,omitempty"` + SqlWarehouse map[string]any `json:"databricks_sql_warehouse,omitempty"` + SqlWarehouses map[string]any `json:"databricks_sql_warehouses,omitempty"` + StorageCredential map[string]any `json:"databricks_storage_credential,omitempty"` + StorageCredentials map[string]any `json:"databricks_storage_credentials,omitempty"` + Table map[string]any `json:"databricks_table,omitempty"` + Tables map[string]any `json:"databricks_tables,omitempty"` + User map[string]any `json:"databricks_user,omitempty"` + Views map[string]any `json:"databricks_views,omitempty"` + Volume map[string]any `json:"databricks_volume,omitempty"` + Volumes map[string]any `json:"databricks_volumes,omitempty"` + WorkspaceNetworkOption map[string]any `json:"databricks_workspace_network_option,omitempty"` + Zones map[string]any `json:"databricks_zones,omitempty"` } func NewDataSources() *DataSources { return &DataSources{ - AccountNetworkPolicies: make(map[string]any), - AccountNetworkPolicy: make(map[string]any), - AlertV2: make(map[string]any), - AlertsV2: make(map[string]any), - App: make(map[string]any), - Apps: make(map[string]any), - AwsAssumeRolePolicy: make(map[string]any), - AwsBucketPolicy: make(map[string]any), - AwsCrossaccountPolicy: make(map[string]any), - AwsUnityCatalogAssumeRolePolicy: make(map[string]any), - AwsUnityCatalogPolicy: make(map[string]any), - BudgetPolicies: make(map[string]any), - BudgetPolicy: make(map[string]any), - Catalog: make(map[string]any), - Catalogs: make(map[string]any), - CleanRoomsCleanRoom: make(map[string]any), - CleanRoomsCleanRooms: make(map[string]any), - Cluster: make(map[string]any), - ClusterPolicy: make(map[string]any), - Clusters: make(map[string]any), - CurrentConfig: make(map[string]any), - CurrentMetastore: make(map[string]any), - CurrentUser: make(map[string]any), - Dashboards: make(map[string]any), - DatabaseInstance: make(map[string]any), - DatabaseInstances: make(map[string]any), - DbfsFile: make(map[string]any), - DbfsFilePaths: make(map[string]any), - Directory: make(map[string]any), - ExternalLocation: make(map[string]any), - ExternalLocations: make(map[string]any), - ExternalMetadata: make(map[string]any), - ExternalMetadatas: make(map[string]any), - Functions: make(map[string]any), - Group: make(map[string]any), - InstancePool: make(map[string]any), - InstanceProfiles: make(map[string]any), - Job: make(map[string]any), - Jobs: make(map[string]any), - MaterializedFeaturesFeatureTag: make(map[string]any), - MaterializedFeaturesFeatureTags: make(map[string]any), - Metastore: make(map[string]any), - Metastores: make(map[string]any), - MlflowExperiment: make(map[string]any), - MlflowModel: make(map[string]any), - MlflowModels: make(map[string]any), - MwsCredentials: make(map[string]any), - MwsNetworkConnectivityConfig: make(map[string]any), - MwsNetworkConnectivityConfigs: make(map[string]any), - MwsWorkspaces: make(map[string]any), - NodeType: make(map[string]any), - Notebook: make(map[string]any), - NotebookPaths: make(map[string]any), - NotificationDestinations: make(map[string]any), - OnlineStore: make(map[string]any), - OnlineStores: make(map[string]any), - Pipelines: make(map[string]any), - QualityMonitorV2: make(map[string]any), - QualityMonitorsV2: make(map[string]any), - RecipientFederationPolicies: make(map[string]any), - RecipientFederationPolicy: make(map[string]any), - RegisteredModel: make(map[string]any), - RegisteredModelVersions: make(map[string]any), - Schema: make(map[string]any), - Schemas: make(map[string]any), - ServicePrincipal: make(map[string]any), - ServicePrincipals: make(map[string]any), - ServingEndpoints: make(map[string]any), - Share: make(map[string]any), - Shares: make(map[string]any), - SparkVersion: make(map[string]any), - SqlWarehouse: make(map[string]any), - SqlWarehouses: make(map[string]any), - StorageCredential: make(map[string]any), - StorageCredentials: make(map[string]any), - Table: make(map[string]any), - Tables: make(map[string]any), - User: make(map[string]any), - Views: make(map[string]any), - Volume: make(map[string]any), - Volumes: make(map[string]any), - WorkspaceNetworkOption: make(map[string]any), - Zones: make(map[string]any), + AccountNetworkPolicies: make(map[string]any), + AccountNetworkPolicy: make(map[string]any), + AlertV2: make(map[string]any), + AlertsV2: make(map[string]any), + App: make(map[string]any), + Apps: make(map[string]any), + AwsAssumeRolePolicy: make(map[string]any), + AwsBucketPolicy: make(map[string]any), + AwsCrossaccountPolicy: make(map[string]any), + AwsUnityCatalogAssumeRolePolicy: make(map[string]any), + AwsUnityCatalogPolicy: make(map[string]any), + BudgetPolicies: make(map[string]any), + BudgetPolicy: make(map[string]any), + Catalog: make(map[string]any), + Catalogs: make(map[string]any), + CleanRoomAsset: make(map[string]any), + CleanRoomAssetRevisionsCleanRoomAsset: make(map[string]any), + CleanRoomAssetRevisionsCleanRoomAssets: make(map[string]any), + CleanRoomAssets: make(map[string]any), + CleanRoomAutoApprovalRule: make(map[string]any), + CleanRoomAutoApprovalRules: make(map[string]any), + CleanRoomsCleanRoom: make(map[string]any), + CleanRoomsCleanRooms: make(map[string]any), + Cluster: make(map[string]any), + ClusterPolicy: make(map[string]any), + Clusters: make(map[string]any), + CurrentConfig: make(map[string]any), + CurrentMetastore: make(map[string]any), + CurrentUser: make(map[string]any), + Dashboards: make(map[string]any), + DatabaseInstance: make(map[string]any), + DatabaseInstances: make(map[string]any), + DbfsFile: make(map[string]any), + DbfsFilePaths: make(map[string]any), + Directory: make(map[string]any), + ExternalLocation: make(map[string]any), + ExternalLocations: make(map[string]any), + ExternalMetadata: make(map[string]any), + ExternalMetadatas: make(map[string]any), + Functions: make(map[string]any), + Group: make(map[string]any), + InstancePool: make(map[string]any), + InstanceProfiles: make(map[string]any), + Job: make(map[string]any), + Jobs: make(map[string]any), + MaterializedFeaturesFeatureTag: make(map[string]any), + MaterializedFeaturesFeatureTags: make(map[string]any), + Metastore: make(map[string]any), + Metastores: make(map[string]any), + MlflowExperiment: make(map[string]any), + MlflowModel: make(map[string]any), + MlflowModels: make(map[string]any), + MwsCredentials: make(map[string]any), + MwsNetworkConnectivityConfig: make(map[string]any), + MwsNetworkConnectivityConfigs: make(map[string]any), + MwsWorkspaces: make(map[string]any), + NodeType: make(map[string]any), + Notebook: make(map[string]any), + NotebookPaths: make(map[string]any), + NotificationDestinations: make(map[string]any), + OnlineStore: make(map[string]any), + OnlineStores: make(map[string]any), + Pipelines: make(map[string]any), + QualityMonitorV2: make(map[string]any), + QualityMonitorsV2: make(map[string]any), + RecipientFederationPolicies: make(map[string]any), + RecipientFederationPolicy: make(map[string]any), + RegisteredModel: make(map[string]any), + RegisteredModelVersions: make(map[string]any), + Schema: make(map[string]any), + Schemas: make(map[string]any), + ServicePrincipal: make(map[string]any), + ServicePrincipals: make(map[string]any), + ServingEndpoints: make(map[string]any), + Share: make(map[string]any), + Shares: make(map[string]any), + SparkVersion: make(map[string]any), + SqlWarehouse: make(map[string]any), + SqlWarehouses: make(map[string]any), + StorageCredential: make(map[string]any), + StorageCredentials: make(map[string]any), + Table: make(map[string]any), + Tables: make(map[string]any), + User: make(map[string]any), + Views: make(map[string]any), + Volume: make(map[string]any), + Volumes: make(map[string]any), + WorkspaceNetworkOption: make(map[string]any), + Zones: make(map[string]any), } } diff --git a/bundle/internal/tf/schema/resource_clean_room_asset.go b/bundle/internal/tf/schema/resource_clean_room_asset.go new file mode 100644 index 0000000000..1a6863eff7 --- /dev/null +++ b/bundle/internal/tf/schema/resource_clean_room_asset.go @@ -0,0 +1,136 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type ResourceCleanRoomAssetForeignTableColumnsMask struct { + FunctionName string `json:"function_name,omitempty"` + UsingColumnNames []string `json:"using_column_names,omitempty"` +} + +type ResourceCleanRoomAssetForeignTableColumns struct { + Comment string `json:"comment,omitempty"` + Mask *ResourceCleanRoomAssetForeignTableColumnsMask `json:"mask,omitempty"` + Name string `json:"name,omitempty"` + Nullable bool `json:"nullable,omitempty"` + PartitionIndex int `json:"partition_index,omitempty"` + Position int `json:"position,omitempty"` + TypeIntervalType string `json:"type_interval_type,omitempty"` + TypeJson string `json:"type_json,omitempty"` + TypeName string `json:"type_name,omitempty"` + TypePrecision int `json:"type_precision,omitempty"` + TypeScale int `json:"type_scale,omitempty"` + TypeText string `json:"type_text,omitempty"` +} + +type ResourceCleanRoomAssetForeignTable struct { + Columns []ResourceCleanRoomAssetForeignTableColumns `json:"columns,omitempty"` +} + +type ResourceCleanRoomAssetForeignTableLocalDetails struct { + LocalName string `json:"local_name"` +} + +type ResourceCleanRoomAssetNotebookReviews struct { + Comment string `json:"comment,omitempty"` + CreatedAtMillis int `json:"created_at_millis,omitempty"` + ReviewState string `json:"review_state,omitempty"` + ReviewSubReason string `json:"review_sub_reason,omitempty"` + ReviewerCollaboratorAlias string `json:"reviewer_collaborator_alias,omitempty"` +} + +type ResourceCleanRoomAssetNotebook struct { + Etag string `json:"etag,omitempty"` + NotebookContent string `json:"notebook_content"` + ReviewState string `json:"review_state,omitempty"` + Reviews []ResourceCleanRoomAssetNotebookReviews `json:"reviews,omitempty"` + RunnerCollaboratorAliases []string `json:"runner_collaborator_aliases,omitempty"` +} + +type ResourceCleanRoomAssetTableColumnsMask struct { + FunctionName string `json:"function_name,omitempty"` + UsingColumnNames []string `json:"using_column_names,omitempty"` +} + +type ResourceCleanRoomAssetTableColumns struct { + Comment string `json:"comment,omitempty"` + Mask *ResourceCleanRoomAssetTableColumnsMask `json:"mask,omitempty"` + Name string `json:"name,omitempty"` + Nullable bool `json:"nullable,omitempty"` + PartitionIndex int `json:"partition_index,omitempty"` + Position int `json:"position,omitempty"` + TypeIntervalType string `json:"type_interval_type,omitempty"` + TypeJson string `json:"type_json,omitempty"` + TypeName string `json:"type_name,omitempty"` + TypePrecision int `json:"type_precision,omitempty"` + TypeScale int `json:"type_scale,omitempty"` + TypeText string `json:"type_text,omitempty"` +} + +type ResourceCleanRoomAssetTable struct { + Columns []ResourceCleanRoomAssetTableColumns `json:"columns,omitempty"` +} + +type ResourceCleanRoomAssetTableLocalDetailsPartitionsValue struct { + Name string `json:"name,omitempty"` + Op string `json:"op,omitempty"` + RecipientPropertyKey string `json:"recipient_property_key,omitempty"` + Value string `json:"value,omitempty"` +} + +type ResourceCleanRoomAssetTableLocalDetailsPartitions struct { + Value []ResourceCleanRoomAssetTableLocalDetailsPartitionsValue `json:"value,omitempty"` +} + +type ResourceCleanRoomAssetTableLocalDetails struct { + LocalName string `json:"local_name"` + Partitions []ResourceCleanRoomAssetTableLocalDetailsPartitions `json:"partitions,omitempty"` +} + +type ResourceCleanRoomAssetViewColumnsMask struct { + FunctionName string `json:"function_name,omitempty"` + UsingColumnNames []string `json:"using_column_names,omitempty"` +} + +type ResourceCleanRoomAssetViewColumns struct { + Comment string `json:"comment,omitempty"` + Mask *ResourceCleanRoomAssetViewColumnsMask `json:"mask,omitempty"` + Name string `json:"name,omitempty"` + Nullable bool `json:"nullable,omitempty"` + PartitionIndex int `json:"partition_index,omitempty"` + Position int `json:"position,omitempty"` + TypeIntervalType string `json:"type_interval_type,omitempty"` + TypeJson string `json:"type_json,omitempty"` + TypeName string `json:"type_name,omitempty"` + TypePrecision int `json:"type_precision,omitempty"` + TypeScale int `json:"type_scale,omitempty"` + TypeText string `json:"type_text,omitempty"` +} + +type ResourceCleanRoomAssetView struct { + Columns []ResourceCleanRoomAssetViewColumns `json:"columns,omitempty"` +} + +type ResourceCleanRoomAssetViewLocalDetails struct { + LocalName string `json:"local_name"` +} + +type ResourceCleanRoomAssetVolumeLocalDetails struct { + LocalName string `json:"local_name"` +} + +type ResourceCleanRoomAsset struct { + AddedAt int `json:"added_at,omitempty"` + AssetType string `json:"asset_type"` + CleanRoomName string `json:"clean_room_name,omitempty"` + ForeignTable *ResourceCleanRoomAssetForeignTable `json:"foreign_table,omitempty"` + ForeignTableLocalDetails *ResourceCleanRoomAssetForeignTableLocalDetails `json:"foreign_table_local_details,omitempty"` + Name string `json:"name"` + Notebook *ResourceCleanRoomAssetNotebook `json:"notebook,omitempty"` + OwnerCollaboratorAlias string `json:"owner_collaborator_alias,omitempty"` + Status string `json:"status,omitempty"` + Table *ResourceCleanRoomAssetTable `json:"table,omitempty"` + TableLocalDetails *ResourceCleanRoomAssetTableLocalDetails `json:"table_local_details,omitempty"` + View *ResourceCleanRoomAssetView `json:"view,omitempty"` + ViewLocalDetails *ResourceCleanRoomAssetViewLocalDetails `json:"view_local_details,omitempty"` + VolumeLocalDetails *ResourceCleanRoomAssetVolumeLocalDetails `json:"volume_local_details,omitempty"` +} diff --git a/bundle/internal/tf/schema/resource_clean_room_auto_approval_rule.go b/bundle/internal/tf/schema/resource_clean_room_auto_approval_rule.go new file mode 100644 index 0000000000..8117a03fcf --- /dev/null +++ b/bundle/internal/tf/schema/resource_clean_room_auto_approval_rule.go @@ -0,0 +1,13 @@ +// Generated from Databricks Terraform provider schema. DO NOT EDIT. + +package schema + +type ResourceCleanRoomAutoApprovalRule struct { + AuthorCollaboratorAlias string `json:"author_collaborator_alias,omitempty"` + AuthorScope string `json:"author_scope,omitempty"` + CleanRoomName string `json:"clean_room_name,omitempty"` + CreatedAt int `json:"created_at,omitempty"` + RuleId string `json:"rule_id,omitempty"` + RuleOwnerCollaboratorAlias string `json:"rule_owner_collaborator_alias,omitempty"` + RunnerCollaboratorAlias string `json:"runner_collaborator_alias,omitempty"` +} diff --git a/bundle/internal/tf/schema/resource_connection.go b/bundle/internal/tf/schema/resource_connection.go index 0fc7c05a72..dc50e56237 100644 --- a/bundle/internal/tf/schema/resource_connection.go +++ b/bundle/internal/tf/schema/resource_connection.go @@ -2,24 +2,30 @@ package schema +type ResourceConnectionEnvironmentSettings struct { + EnvironmentVersion string `json:"environment_version,omitempty"` + JavaDependencies []string `json:"java_dependencies,omitempty"` +} + type ResourceConnection struct { - Comment string `json:"comment,omitempty"` - ConnectionId string `json:"connection_id,omitempty"` - ConnectionType string `json:"connection_type,omitempty"` - CreatedAt int `json:"created_at,omitempty"` - CreatedBy string `json:"created_by,omitempty"` - CredentialType string `json:"credential_type,omitempty"` - FullName string `json:"full_name,omitempty"` - Id string `json:"id,omitempty"` - MetastoreId string `json:"metastore_id,omitempty"` - Name string `json:"name,omitempty"` - Options map[string]string `json:"options,omitempty"` - Owner string `json:"owner,omitempty"` - Properties map[string]string `json:"properties,omitempty"` - ProvisioningInfo []any `json:"provisioning_info,omitempty"` - ReadOnly bool `json:"read_only,omitempty"` - SecurableType string `json:"securable_type,omitempty"` - UpdatedAt int `json:"updated_at,omitempty"` - UpdatedBy string `json:"updated_by,omitempty"` - Url string `json:"url,omitempty"` + Comment string `json:"comment,omitempty"` + ConnectionId string `json:"connection_id,omitempty"` + ConnectionType string `json:"connection_type,omitempty"` + CreatedAt int `json:"created_at,omitempty"` + CreatedBy string `json:"created_by,omitempty"` + CredentialType string `json:"credential_type,omitempty"` + FullName string `json:"full_name,omitempty"` + Id string `json:"id,omitempty"` + MetastoreId string `json:"metastore_id,omitempty"` + Name string `json:"name,omitempty"` + Options map[string]string `json:"options,omitempty"` + Owner string `json:"owner,omitempty"` + Properties map[string]string `json:"properties,omitempty"` + ProvisioningInfo []any `json:"provisioning_info,omitempty"` + ReadOnly bool `json:"read_only,omitempty"` + SecurableType string `json:"securable_type,omitempty"` + UpdatedAt int `json:"updated_at,omitempty"` + UpdatedBy string `json:"updated_by,omitempty"` + Url string `json:"url,omitempty"` + EnvironmentSettings *ResourceConnectionEnvironmentSettings `json:"environment_settings,omitempty"` } diff --git a/bundle/internal/tf/schema/resource_database_instance.go b/bundle/internal/tf/schema/resource_database_instance.go index fdbb9f29ba..b638b17464 100644 --- a/bundle/internal/tf/schema/resource_database_instance.go +++ b/bundle/internal/tf/schema/resource_database_instance.go @@ -32,6 +32,7 @@ type ResourceDatabaseInstance struct { NodeCount int `json:"node_count,omitempty"` ParentInstanceRef *ResourceDatabaseInstanceParentInstanceRef `json:"parent_instance_ref,omitempty"` PgVersion string `json:"pg_version,omitempty"` + PurgeOnDelete bool `json:"purge_on_delete,omitempty"` ReadOnlyDns string `json:"read_only_dns,omitempty"` ReadWriteDns string `json:"read_write_dns,omitempty"` RetentionWindowInDays int `json:"retention_window_in_days,omitempty"` diff --git a/bundle/internal/tf/schema/resource_lakehouse_monitor.go b/bundle/internal/tf/schema/resource_lakehouse_monitor.go index 69dbdd0475..4a1c3afe45 100644 --- a/bundle/internal/tf/schema/resource_lakehouse_monitor.go +++ b/bundle/internal/tf/schema/resource_lakehouse_monitor.go @@ -58,7 +58,7 @@ type ResourceLakehouseMonitor struct { DriftMetricsTableName string `json:"drift_metrics_table_name,omitempty"` Id string `json:"id,omitempty"` LatestMonitorFailureMsg string `json:"latest_monitor_failure_msg,omitempty"` - MonitorVersion string `json:"monitor_version,omitempty"` + MonitorVersion int `json:"monitor_version,omitempty"` OutputSchemaName string `json:"output_schema_name"` ProfileMetricsTableName string `json:"profile_metrics_table_name,omitempty"` SkipBuiltinDashboard bool `json:"skip_builtin_dashboard,omitempty"` diff --git a/bundle/internal/tf/schema/resource_model_serving.go b/bundle/internal/tf/schema/resource_model_serving.go index e49c6032e5..f57b46de41 100644 --- a/bundle/internal/tf/schema/resource_model_serving.go +++ b/bundle/internal/tf/schema/resource_model_serving.go @@ -206,6 +206,11 @@ type ResourceModelServingConfig struct { TrafficConfig *ResourceModelServingConfigTrafficConfig `json:"traffic_config,omitempty"` } +type ResourceModelServingEmailNotifications struct { + OnUpdateFailure []string `json:"on_update_failure,omitempty"` + OnUpdateSuccess []string `json:"on_update_success,omitempty"` +} + type ResourceModelServingRateLimits struct { Calls int `json:"calls"` Key string `json:"key,omitempty"` @@ -218,14 +223,16 @@ type ResourceModelServingTags struct { } type ResourceModelServing struct { - BudgetPolicyId string `json:"budget_policy_id,omitempty"` - Description string `json:"description,omitempty"` - Id string `json:"id,omitempty"` - Name string `json:"name"` - RouteOptimized bool `json:"route_optimized,omitempty"` - ServingEndpointId string `json:"serving_endpoint_id,omitempty"` - AiGateway *ResourceModelServingAiGateway `json:"ai_gateway,omitempty"` - Config *ResourceModelServingConfig `json:"config,omitempty"` - RateLimits []ResourceModelServingRateLimits `json:"rate_limits,omitempty"` - Tags []ResourceModelServingTags `json:"tags,omitempty"` + BudgetPolicyId string `json:"budget_policy_id,omitempty"` + Description string `json:"description,omitempty"` + EndpointUrl string `json:"endpoint_url,omitempty"` + Id string `json:"id,omitempty"` + Name string `json:"name"` + RouteOptimized bool `json:"route_optimized,omitempty"` + ServingEndpointId string `json:"serving_endpoint_id,omitempty"` + AiGateway *ResourceModelServingAiGateway `json:"ai_gateway,omitempty"` + Config *ResourceModelServingConfig `json:"config,omitempty"` + EmailNotifications *ResourceModelServingEmailNotifications `json:"email_notifications,omitempty"` + RateLimits []ResourceModelServingRateLimits `json:"rate_limits,omitempty"` + Tags []ResourceModelServingTags `json:"tags,omitempty"` } diff --git a/bundle/internal/tf/schema/resource_model_serving_provisioned_throughput.go b/bundle/internal/tf/schema/resource_model_serving_provisioned_throughput.go index e5ee3f7ac1..551bb32bcf 100644 --- a/bundle/internal/tf/schema/resource_model_serving_provisioned_throughput.go +++ b/bundle/internal/tf/schema/resource_model_serving_provisioned_throughput.go @@ -81,17 +81,23 @@ type ResourceModelServingProvisionedThroughputConfig struct { TrafficConfig *ResourceModelServingProvisionedThroughputConfigTrafficConfig `json:"traffic_config,omitempty"` } +type ResourceModelServingProvisionedThroughputEmailNotifications struct { + OnUpdateFailure []string `json:"on_update_failure,omitempty"` + OnUpdateSuccess []string `json:"on_update_success,omitempty"` +} + type ResourceModelServingProvisionedThroughputTags struct { Key string `json:"key"` Value string `json:"value,omitempty"` } type ResourceModelServingProvisionedThroughput struct { - BudgetPolicyId string `json:"budget_policy_id,omitempty"` - Id string `json:"id,omitempty"` - Name string `json:"name"` - ServingEndpointId string `json:"serving_endpoint_id,omitempty"` - AiGateway *ResourceModelServingProvisionedThroughputAiGateway `json:"ai_gateway,omitempty"` - Config *ResourceModelServingProvisionedThroughputConfig `json:"config,omitempty"` - Tags []ResourceModelServingProvisionedThroughputTags `json:"tags,omitempty"` + BudgetPolicyId string `json:"budget_policy_id,omitempty"` + Id string `json:"id,omitempty"` + Name string `json:"name"` + ServingEndpointId string `json:"serving_endpoint_id,omitempty"` + AiGateway *ResourceModelServingProvisionedThroughputAiGateway `json:"ai_gateway,omitempty"` + Config *ResourceModelServingProvisionedThroughputConfig `json:"config,omitempty"` + EmailNotifications *ResourceModelServingProvisionedThroughputEmailNotifications `json:"email_notifications,omitempty"` + Tags []ResourceModelServingProvisionedThroughputTags `json:"tags,omitempty"` } diff --git a/bundle/internal/tf/schema/resource_pipeline.go b/bundle/internal/tf/schema/resource_pipeline.go index cb436d52f0..697f5cddcd 100644 --- a/bundle/internal/tf/schema/resource_pipeline.go +++ b/bundle/internal/tf/schema/resource_pipeline.go @@ -158,13 +158,20 @@ type ResourcePipelineGatewayDefinition struct { GatewayStorageSchema string `json:"gateway_storage_schema"` } +type ResourcePipelineIngestionDefinitionObjectsReportTableConfigurationQueryBasedConnectorConfig struct { + CursorColumns []string `json:"cursor_columns,omitempty"` + DeletionCondition string `json:"deletion_condition,omitempty"` + HardDeletionSyncMinIntervalInSeconds int `json:"hard_deletion_sync_min_interval_in_seconds,omitempty"` +} + type ResourcePipelineIngestionDefinitionObjectsReportTableConfiguration struct { - ExcludeColumns []string `json:"exclude_columns,omitempty"` - IncludeColumns []string `json:"include_columns,omitempty"` - PrimaryKeys []string `json:"primary_keys,omitempty"` - SalesforceIncludeFormulaFields bool `json:"salesforce_include_formula_fields,omitempty"` - ScdType string `json:"scd_type,omitempty"` - SequenceBy []string `json:"sequence_by,omitempty"` + ExcludeColumns []string `json:"exclude_columns,omitempty"` + IncludeColumns []string `json:"include_columns,omitempty"` + PrimaryKeys []string `json:"primary_keys,omitempty"` + SalesforceIncludeFormulaFields bool `json:"salesforce_include_formula_fields,omitempty"` + ScdType string `json:"scd_type,omitempty"` + SequenceBy []string `json:"sequence_by,omitempty"` + QueryBasedConnectorConfig *ResourcePipelineIngestionDefinitionObjectsReportTableConfigurationQueryBasedConnectorConfig `json:"query_based_connector_config,omitempty"` } type ResourcePipelineIngestionDefinitionObjectsReport struct { @@ -175,13 +182,20 @@ type ResourcePipelineIngestionDefinitionObjectsReport struct { TableConfiguration *ResourcePipelineIngestionDefinitionObjectsReportTableConfiguration `json:"table_configuration,omitempty"` } +type ResourcePipelineIngestionDefinitionObjectsSchemaTableConfigurationQueryBasedConnectorConfig struct { + CursorColumns []string `json:"cursor_columns,omitempty"` + DeletionCondition string `json:"deletion_condition,omitempty"` + HardDeletionSyncMinIntervalInSeconds int `json:"hard_deletion_sync_min_interval_in_seconds,omitempty"` +} + type ResourcePipelineIngestionDefinitionObjectsSchemaTableConfiguration struct { - ExcludeColumns []string `json:"exclude_columns,omitempty"` - IncludeColumns []string `json:"include_columns,omitempty"` - PrimaryKeys []string `json:"primary_keys,omitempty"` - SalesforceIncludeFormulaFields bool `json:"salesforce_include_formula_fields,omitempty"` - ScdType string `json:"scd_type,omitempty"` - SequenceBy []string `json:"sequence_by,omitempty"` + ExcludeColumns []string `json:"exclude_columns,omitempty"` + IncludeColumns []string `json:"include_columns,omitempty"` + PrimaryKeys []string `json:"primary_keys,omitempty"` + SalesforceIncludeFormulaFields bool `json:"salesforce_include_formula_fields,omitempty"` + ScdType string `json:"scd_type,omitempty"` + SequenceBy []string `json:"sequence_by,omitempty"` + QueryBasedConnectorConfig *ResourcePipelineIngestionDefinitionObjectsSchemaTableConfigurationQueryBasedConnectorConfig `json:"query_based_connector_config,omitempty"` } type ResourcePipelineIngestionDefinitionObjectsSchema struct { @@ -192,13 +206,20 @@ type ResourcePipelineIngestionDefinitionObjectsSchema struct { TableConfiguration *ResourcePipelineIngestionDefinitionObjectsSchemaTableConfiguration `json:"table_configuration,omitempty"` } +type ResourcePipelineIngestionDefinitionObjectsTableTableConfigurationQueryBasedConnectorConfig struct { + CursorColumns []string `json:"cursor_columns,omitempty"` + DeletionCondition string `json:"deletion_condition,omitempty"` + HardDeletionSyncMinIntervalInSeconds int `json:"hard_deletion_sync_min_interval_in_seconds,omitempty"` +} + type ResourcePipelineIngestionDefinitionObjectsTableTableConfiguration struct { - ExcludeColumns []string `json:"exclude_columns,omitempty"` - IncludeColumns []string `json:"include_columns,omitempty"` - PrimaryKeys []string `json:"primary_keys,omitempty"` - SalesforceIncludeFormulaFields bool `json:"salesforce_include_formula_fields,omitempty"` - ScdType string `json:"scd_type,omitempty"` - SequenceBy []string `json:"sequence_by,omitempty"` + ExcludeColumns []string `json:"exclude_columns,omitempty"` + IncludeColumns []string `json:"include_columns,omitempty"` + PrimaryKeys []string `json:"primary_keys,omitempty"` + SalesforceIncludeFormulaFields bool `json:"salesforce_include_formula_fields,omitempty"` + ScdType string `json:"scd_type,omitempty"` + SequenceBy []string `json:"sequence_by,omitempty"` + QueryBasedConnectorConfig *ResourcePipelineIngestionDefinitionObjectsTableTableConfigurationQueryBasedConnectorConfig `json:"query_based_connector_config,omitempty"` } type ResourcePipelineIngestionDefinitionObjectsTable struct { @@ -217,13 +238,20 @@ type ResourcePipelineIngestionDefinitionObjects struct { Table *ResourcePipelineIngestionDefinitionObjectsTable `json:"table,omitempty"` } +type ResourcePipelineIngestionDefinitionTableConfigurationQueryBasedConnectorConfig struct { + CursorColumns []string `json:"cursor_columns,omitempty"` + DeletionCondition string `json:"deletion_condition,omitempty"` + HardDeletionSyncMinIntervalInSeconds int `json:"hard_deletion_sync_min_interval_in_seconds,omitempty"` +} + type ResourcePipelineIngestionDefinitionTableConfiguration struct { - ExcludeColumns []string `json:"exclude_columns,omitempty"` - IncludeColumns []string `json:"include_columns,omitempty"` - PrimaryKeys []string `json:"primary_keys,omitempty"` - SalesforceIncludeFormulaFields bool `json:"salesforce_include_formula_fields,omitempty"` - ScdType string `json:"scd_type,omitempty"` - SequenceBy []string `json:"sequence_by,omitempty"` + ExcludeColumns []string `json:"exclude_columns,omitempty"` + IncludeColumns []string `json:"include_columns,omitempty"` + PrimaryKeys []string `json:"primary_keys,omitempty"` + SalesforceIncludeFormulaFields bool `json:"salesforce_include_formula_fields,omitempty"` + ScdType string `json:"scd_type,omitempty"` + SequenceBy []string `json:"sequence_by,omitempty"` + QueryBasedConnectorConfig *ResourcePipelineIngestionDefinitionTableConfigurationQueryBasedConnectorConfig `json:"query_based_connector_config,omitempty"` } type ResourcePipelineIngestionDefinition struct { diff --git a/bundle/internal/tf/schema/resource_quality_monitor.go b/bundle/internal/tf/schema/resource_quality_monitor.go index 0fc2abd666..a83a33a6bd 100644 --- a/bundle/internal/tf/schema/resource_quality_monitor.go +++ b/bundle/internal/tf/schema/resource_quality_monitor.go @@ -43,8 +43,7 @@ type ResourceQualityMonitorSchedule struct { TimezoneId string `json:"timezone_id"` } -type ResourceQualityMonitorSnapshot struct { -} +type ResourceQualityMonitorSnapshot struct{} type ResourceQualityMonitorTimeSeries struct { Granularities []string `json:"granularities"` @@ -58,7 +57,7 @@ type ResourceQualityMonitor struct { DriftMetricsTableName string `json:"drift_metrics_table_name,omitempty"` Id string `json:"id,omitempty"` LatestMonitorFailureMsg string `json:"latest_monitor_failure_msg,omitempty"` - MonitorVersion string `json:"monitor_version,omitempty"` + MonitorVersion int `json:"monitor_version,omitempty"` OutputSchemaName string `json:"output_schema_name"` ProfileMetricsTableName string `json:"profile_metrics_table_name,omitempty"` SkipBuiltinDashboard bool `json:"skip_builtin_dashboard,omitempty"` diff --git a/bundle/internal/tf/schema/resource_share.go b/bundle/internal/tf/schema/resource_share.go index 37f4d45469..4d80e06149 100644 --- a/bundle/internal/tf/schema/resource_share.go +++ b/bundle/internal/tf/schema/resource_share.go @@ -14,26 +14,31 @@ type ResourceShareObjectPartition struct { } type ResourceShareObject struct { - AddedAt int `json:"added_at,omitempty"` - AddedBy string `json:"added_by,omitempty"` - CdfEnabled bool `json:"cdf_enabled,omitempty"` - Comment string `json:"comment,omitempty"` - Content string `json:"content,omitempty"` - DataObjectType string `json:"data_object_type"` - HistoryDataSharingStatus string `json:"history_data_sharing_status,omitempty"` - Name string `json:"name"` - SharedAs string `json:"shared_as,omitempty"` - StartVersion int `json:"start_version,omitempty"` - Status string `json:"status,omitempty"` - StringSharedAs string `json:"string_shared_as,omitempty"` - Partition []ResourceShareObjectPartition `json:"partition,omitempty"` + AddedAt int `json:"added_at,omitempty"` + AddedBy string `json:"added_by,omitempty"` + CdfEnabled bool `json:"cdf_enabled,omitempty"` + Comment string `json:"comment,omitempty"` + Content string `json:"content,omitempty"` + DataObjectType string `json:"data_object_type"` + EffectiveCdfEnabled bool `json:"effective_cdf_enabled,omitempty"` + EffectiveHistoryDataSharingStatus string `json:"effective_history_data_sharing_status,omitempty"` + EffectiveSharedAs string `json:"effective_shared_as,omitempty"` + EffectiveStartVersion int `json:"effective_start_version,omitempty"` + EffectiveStringSharedAs string `json:"effective_string_shared_as,omitempty"` + HistoryDataSharingStatus string `json:"history_data_sharing_status,omitempty"` + Name string `json:"name"` + SharedAs string `json:"shared_as,omitempty"` + StartVersion int `json:"start_version,omitempty"` + Status string `json:"status,omitempty"` + StringSharedAs string `json:"string_shared_as,omitempty"` + Partition []ResourceShareObjectPartition `json:"partition,omitempty"` } type ResourceShare struct { Comment string `json:"comment,omitempty"` CreatedAt int `json:"created_at,omitempty"` CreatedBy string `json:"created_by,omitempty"` - Id string `json:"id,omitempty"` + EffectiveOwner string `json:"effective_owner,omitempty"` Name string `json:"name"` Owner string `json:"owner,omitempty"` StorageLocation string `json:"storage_location,omitempty"` diff --git a/bundle/internal/tf/schema/resources.go b/bundle/internal/tf/schema/resources.go index 8a7c8cac52..d18b65dec8 100644 --- a/bundle/internal/tf/schema/resources.go +++ b/bundle/internal/tf/schema/resources.go @@ -20,6 +20,8 @@ type Resources struct { BudgetPolicy map[string]any `json:"databricks_budget_policy,omitempty"` Catalog map[string]any `json:"databricks_catalog,omitempty"` CatalogWorkspaceBinding map[string]any `json:"databricks_catalog_workspace_binding,omitempty"` + CleanRoomAsset map[string]any `json:"databricks_clean_room_asset,omitempty"` + CleanRoomAutoApprovalRule map[string]any `json:"databricks_clean_room_auto_approval_rule,omitempty"` CleanRoomsCleanRoom map[string]any `json:"databricks_clean_rooms_clean_room,omitempty"` Cluster map[string]any `json:"databricks_cluster,omitempty"` ClusterPolicy map[string]any `json:"databricks_cluster_policy,omitempty"` @@ -145,6 +147,8 @@ func NewResources() *Resources { BudgetPolicy: make(map[string]any), Catalog: make(map[string]any), CatalogWorkspaceBinding: make(map[string]any), + CleanRoomAsset: make(map[string]any), + CleanRoomAutoApprovalRule: make(map[string]any), CleanRoomsCleanRoom: make(map[string]any), Cluster: make(map[string]any), ClusterPolicy: make(map[string]any), diff --git a/bundle/internal/tf/schema/root.go b/bundle/internal/tf/schema/root.go index bc96a6ef23..3f545d4f13 100644 --- a/bundle/internal/tf/schema/root.go +++ b/bundle/internal/tf/schema/root.go @@ -21,7 +21,7 @@ type Root struct { const ProviderHost = "registry.terraform.io" const ProviderSource = "databricks/databricks" -const ProviderVersion = "1.85.0" +const ProviderVersion = "1.86.0" func NewRoot() *Root { return &Root{ From 48f3f07a859e4ffdd4afc88016900cf6137fae9f Mon Sep 17 00:00:00 2001 From: Andrew Nester Date: Thu, 7 Aug 2025 10:59:57 +0200 Subject: [PATCH 2/3] added changelog --- NEXT_CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md index 495d603964..0ba2d91ba8 100644 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -5,6 +5,7 @@ ### Notable Changes ### Dependency updates +* Upgrade TF provider to 1.86.0 ([#3374](https://github.com/databricks/cli/pull/3374)) ### CLI From 7ec734791b42e65f8a0d9468e579a1a3e7671693 Mon Sep 17 00:00:00 2001 From: Andrew Nester Date: Thu, 7 Aug 2025 15:35:40 +0200 Subject: [PATCH 3/3] moved secret acl to test server handlers --- .../bundle/deploy/secret-scope/test.toml | 9 ---- acceptance/internal/handlers.go | 49 +++++++++++++++++++ libs/testserver/fake_workspace.go | 3 ++ 3 files changed, 52 insertions(+), 9 deletions(-) diff --git a/acceptance/bundle/deploy/secret-scope/test.toml b/acceptance/bundle/deploy/secret-scope/test.toml index 5790d5836d..7b969ac381 100644 --- a/acceptance/bundle/deploy/secret-scope/test.toml +++ b/acceptance/bundle/deploy/secret-scope/test.toml @@ -37,9 +37,6 @@ Pattern = "POST /api/2.0/secrets/scopes/delete" [[Server]] Pattern = "POST /api/2.0/secrets/put" -[[Server]] -Pattern = "POST /api/2.0/secrets/acls/put" - [[Server]] Pattern = "GET /api/2.0/secrets/get" Response.Body = ''' @@ -69,9 +66,3 @@ Response.Body = ''' ] } ''' - -[[Server]] -Pattern = "GET /api/2.0/secrets/acls/get" - -[[Server]] -Pattern = "POST /api/2.0/secrets/acls/delete" diff --git a/acceptance/internal/handlers.go b/acceptance/internal/handlers.go index 79d1baebbd..b6e1663d7a 100644 --- a/acceptance/internal/handlers.go +++ b/acceptance/internal/handlers.go @@ -450,4 +450,53 @@ func addDefaultHandlers(server *testserver.Server) { server.Handle("GET", "/api/2.0/preview/sql/data_sources", func(req testserver.Request) any { return req.Workspace.SqlDataSourcesList(req) }) + + server.Handle("GET", "/api/2.0/secrets/acls/get", func(req testserver.Request) any { + scope := req.URL.Query().Get("scope") + principal := req.URL.Query().Get("principal") + scopeAcls := req.Workspace.Acls[scope] + for _, acl := range scopeAcls { + if acl.Principal == principal { + return acl + } + } + return testserver.Response{StatusCode: 404} + }) + + server.Handle("GET", "/api/2.0/secrets/acls/list", func(req testserver.Request) any { + return testserver.MapGet(req.Workspace, req.Workspace.Acls, req.Vars["scope"]) + }) + + server.Handle("POST", "/api/2.0/secrets/acls/put", func(req testserver.Request) any { + var request workspace.PutAcl + if err := json.Unmarshal(req.Body, &request); err != nil { + return testserver.Response{ + Body: fmt.Sprintf("internal error: %s", err), + StatusCode: 500, + } + } + req.Workspace.Acls[request.Scope] = append(req.Workspace.Acls[request.Scope], workspace.AclItem{ + Principal: request.Principal, + Permission: request.Permission, + }) + return "" + }) + + server.Handle("POST", "/api/2.0/secrets/acls/delete", func(req testserver.Request) any { + var request workspace.DeleteAcl + if err := json.Unmarshal(req.Body, &request); err != nil { + return testserver.Response{ + Body: fmt.Sprintf("internal error: %s", err), + StatusCode: 500, + } + } + scopeAcls := req.Workspace.Acls[request.Scope] + for i, acl := range scopeAcls { + if acl.Principal == request.Principal { + req.Workspace.Acls[request.Scope] = append(scopeAcls[:i], scopeAcls[i+1:]...) + return "" + } + } + return testserver.Response{StatusCode: 404} + }) } diff --git a/libs/testserver/fake_workspace.go b/libs/testserver/fake_workspace.go index 44b456b250..826f81d74e 100644 --- a/libs/testserver/fake_workspace.go +++ b/libs/testserver/fake_workspace.go @@ -74,6 +74,8 @@ type FakeWorkspace struct { Dashboards map[string]dashboards.Dashboard SqlWarehouses map[string]sql.GetWarehouseResponse + Acls map[string][]workspace.AclItem + nextRepoId int64 Repos map[string]workspace.RepoInfo } @@ -157,6 +159,7 @@ func NewFakeWorkspace(url, token string) *FakeWorkspace { Dashboards: map[string]dashboards.Dashboard{}, SqlWarehouses: map[string]sql.GetWarehouseResponse{}, Repos: map[string]workspace.RepoInfo{}, + Acls: map[string][]workspace.AclItem{}, } }