Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Fix] Add client side validation for volume_type #4289

Merged
merged 5 commits into from
Dec 4, 2024
Merged

Conversation

shreyas-goenka
Copy link
Contributor

@shreyas-goenka shreyas-goenka commented Dec 3, 2024

Changes

This PR adds validation that the value provided for volume_type is one of the correct values. The server today provides an incorrect error message:

10:30:10 DEBUG POST /api/2.1/unity-catalog/volumes
> {
>   "catalog_name": "main",
>   "name": "cli-volume",
>   "schema_name": "schema-dec-dabs",
>   "volume_type": "managed"
> }
< HTTP/2.0 400 Bad Request
< {
<   "details": [
<     {
<       "@type": "type.googleapis.com/google.rpc.ErrorInfo",
<       "domain": "unity-catalog.databricks.com",
<       "metadata": {
<         "field_name": "volume_type"
<       },
<       "reason": "INVALID_FIELD"
<     },
<     {
<       "@type": "type.googleapis.com/google.rpc.RequestInfo",
<       "request_id": "2ca7e630-ce06-4c85-ad95-9b3b52987009",
<       "serving_data": ""
<     }
<   ],
<   "error_code": "INVALID_PARAMETER_VALUE",
<   "message": "CreateVolume Missing required field: volume_type"
< }

Tests

Unit tests

@shreyas-goenka shreyas-goenka requested review from a team as code owners December 3, 2024 09:47
@shreyas-goenka shreyas-goenka requested review from hectorcast-db and removed request for a team December 3, 2024 09:47
@shreyas-goenka shreyas-goenka changed the title Add client side validation for volume_type [Fix] Add client side validation for volume_type Dec 3, 2024
catalog/resource_volume.go Outdated Show resolved Hide resolved
Copy link

github-actions bot commented Dec 3, 2024

If integration tests don't run automatically, an authorized user can run them manually by following the instructions below:

Trigger:
go/deco-tests-run/terraform

Inputs:

  • PR number: 4289
  • Commit SHA: 7af393b60d5f8dfc996514fe38faf323e823cae1

Checks will be approved automatically on success.

@eng-dev-ecosystem-bot
Copy link
Collaborator

Test Details: go/deco-tests/12141702529

@alexott alexott added this pull request to the merge queue Dec 4, 2024
@alexott
Copy link
Contributor

alexott commented Dec 4, 2024

@shreyas-goenka I've opened a DECO Jira to add a generation of all possible constants, so it could then be automatically updated when the new SDK introduces new constants.

Merged via the queue into main with commit f5fce0f Dec 4, 2024
12 checks passed
@alexott alexott deleted the volume-type/validate branch December 4, 2024 08:32
tanmay-db added a commit that referenced this pull request Dec 10, 2024
### New Features and Improvements

 * Add `databricks_credential` resource ([#4219](#4219)).
 * Allow to filter jobs by name in `databricks_jobs` data source ([#3395](#3395)).

### Bug Fixes

 * Add client side validation for `volume_type` ([#4289](#4289)).
 * Add missing H2 header in `mws_network_connectivity_configs.md` and optimization in `data_mws_network_connectivity_configs` ([#4256](#4256)).
 * Forced send `auto_stop_mins` for `databricks_sql_endpoint` resource ([#4265](#4265)).
 * Handle deleted cluster gracefully ([#4280](#4280)).
 * Remove config drift if Azure SP is used in `databricks_credential` ([#4294](#4294)).
 * Use correct domain for Azure Gov and China ([#4274](#4274)).
 * don't start cluster if `warehouse_id` is specified for `databricks_sql_table` resource ([#4259](#4259)).

### Documentation

 * Document import support for `databricks_notification_destination` ([#4276](#4276)).
 * Update documentation for importing some MWS resources ([#4281](#4281)).
 * Update mws_log_delivery.md to add time_sleep ([#4258](#4258)).

### Internal Changes

 * Add ConvertToAttribute() to convert blocks in a resource/data source schema to attributes ([#4284](#4284)).
 * Bump Go SDK and generate TF structs ([#4300](#4300)).
 * Generate effective fields based of isServiceProposedIfEmpty ([#4282](#4282)).
 * Ignore Databricks Go SDK updates by dependabot ([#4253](#4253)).
 * Move TFSDK model template to universe ([#4303](#4303)).
 * Remove unused configuration from blocks ([#4283](#4283)).
 * Use isServiceProposedIfEmpty annotations for effective fields ([#4270](#4270)).
 * Use tf_v1 genkit mode ([#4278](#4278)).

### Dependency Updates

 * Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 ([#4269](#4269)).
 * Bump github.com/zclconf/go-cty from 1.15.0 to 1.15.1 ([#4273](#4273)).

### Exporter

 * Fix generation of references to users for user directories ([#4297](#4297)).
 * better handling of online tables/vsis in listing ([#4288](#4288)).
github-merge-queue bot pushed a commit that referenced this pull request Dec 10, 2024
### New Features and Improvements

* Add `databricks_credential` resource
([#4219](#4219)).
* Allow to filter jobs by name in `databricks_jobs` data source
([#3395](#3395)).


### Bug Fixes

* Add client side validation for `volume_type`
([#4289](#4289)).
* Add missing H2 header in `mws_network_connectivity_configs.md` and
optimization in `data_mws_network_connectivity_configs`
([#4256](#4256)).
* Forced send `auto_stop_mins` for `databricks_sql_endpoint` resource
([#4265](#4265)).
* Handle deleted cluster gracefully
([#4280](#4280)).
* Remove config drift if Azure SP is used in `databricks_credential`
([#4294](#4294)).
* Use correct domain for Azure Gov and China
([#4274](#4274)).
* don't start cluster if `warehouse_id` is specified for
`databricks_sql_table` resource
([#4259](#4259)).


### Documentation

* Document import support for `databricks_notification_destination`
([#4276](#4276)).
* Update documentation for importing some MWS resources
([#4281](#4281)).
* Update mws_log_delivery.md to add time_sleep
([#4258](#4258)).


### Internal Changes

* Add ConvertToAttribute() to convert blocks in a resource/data source
schema to attributes
([#4284](#4284)).
* Bump Go SDK and generate TF structs
([#4300](#4300)).
* Generate effective fields based of isServiceProposedIfEmpty
([#4282](#4282)).
* Ignore Databricks Go SDK updates by dependabot
([#4253](#4253)).
* Move TFSDK model template to universe
([#4303](#4303)).
* Remove unused configuration from blocks
([#4283](#4283)).
* Use isServiceProposedIfEmpty annotations for effective fields
([#4270](#4270)).
* Use tf_v1 genkit mode
([#4278](#4278)).


### Dependency Updates

* Bump github.com/stretchr/testify from 1.9.0 to 1.10.0
([#4269](#4269)).
* Bump github.com/zclconf/go-cty from 1.15.0 to 1.15.1
([#4273](#4273)).


### Exporter

* Fix generation of references to users for user directories
([#4297](#4297)).
* better handling of online tables/vsis in listing
([#4288](#4288)).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants