- Added initial support for multiple task orchestration in
databricks_job
#853 - Fixed provider crash for new terraform states related to bug #813 in Terraform SDK v2.8.0 (#854)
- Re-added
skip_validation
todatabricks_instance_profile
resource #762 - Removed direct dependency on
aws-sdk-go
.
Updated dependency versions:
- Reverted github.com/hashicorp/terraform-plugin-sdk/v2 from 2.8.0 to 2.7.0
- Added
databricks_repo
resource to manage Databricks Repos (#771) - Added support for Azure MSI authentication (#743)
- Added support to create
databricks_user
on the account level (#818) - Already deleted
databricks_token
don't fail the apply (#808) - Default
terraform-mount
clusters created for mounting fordatabricks_aws_s3_mount
,databricks_azure_adls_gen1_mount
,databricks_azure_adls_gen2_mount
, anddatabricks_azure_blob_mount
have nowspark.scheduler.mode
asFIFO
(#828) - Fixed crash when using non-Azure authentication to mount Azure resources (#831)
- Fixed replacement of
instance_pool_id
indatabricks_cluster
, whendriver_instance_pool_id
was not explicitly specified (#824) - Ingorning diff customization for permissions resource, so that new workspace deployments won't fail without explicit dependency on a workspace resource
- Multiple documentation improvements
Deprecations
azure_workspace_name
,azure_resource_group
,azure_subscription_id
, andazure_workspace_resource_id
are deprecated and would be removed in v0.4.0. Please rewrite provider configuration withhost = data.azurerm_databricks_workspace.example.workspace_url
to achieve the same effect. Please check azurerm_databricks_workspace resource documentation for details.azure_use_pat_for_spn
,azure_use_pat_for_cli
, andazure_pat_token_duration_seconds
are deprecated to fully switch to AAD token authentication in the near future.DATABRICKS_AZURE_CLIENT_SECRET
environment variable is deprecated in favor of just usingARM_CLIENT_SECRET
.DATABRICKS_AZURE_CLIENT_ID
environment variable is deprecated in favor of just usingARM_CLIENT_ID
.DATABRICKS_AZURE_TENANT_ID
environment variable is deprecated in favor of just usingARM_TENANT_ID
.
Updated dependency versions:
- Bump github.com/aws/aws-sdk-go from 1.40.19 to 1.40.54
- Bump github.com/Azure/go-autorest/autorest from 0.11.19 to 0.11.21
- Bump github.com/Azure/go-autorest/autorest/azure/cli from 0.4.2 to 0.4.3
- Bump github.com/Azure/go-autorest/autorest/adal from 0.9.14 to 0.9.16
- Bump github.com/hashicorp/terraform-plugin-sdk/v2 from 2.7.0 to 2.8.0
- Bump github.com/zclconf/go-cty from 1.9.0 to 1.9.1
- Bump golang.org/x/mod from 0.4.2 to 0.5.1
- Bump google.golang.org/api from 0.52.0 to 0.58.0
- Bump gopkg.in/ini.v1 from 1.62.0 to 1.63.2
- Added
databricks_obo_token
resource to create On-Behalf-Of tokens for a Service Principal in Databricks workspaces on AWS. It is very useful, when you want to provision resources within a workspace through narrowly-scoped service principal, that has no access to other workspaces within the same Databricks Account (#736) - Added support for IAM credential passthrough with
is_meta_instance_profile
property fordatabricks_instance_profile
(#745) - Fixed incorrect workspace update bug and added more validation error messaging (#649)
- Clarify network modification procedure on active workspaces (#732)
- Updated AWS IAM policy templates version to
2012-10-17
(databricks_aws_bucket_policy
,databricks_aws_assume_role_policy
, anddatabricks_aws_crossaccount_policy
) (#688) - Various bug fixes in Databricks SQL resources
Updated dependency versions:
- Bump github.com/aws/aws-sdk-go to v1.40.12
- Bump github.com/hashicorp/hcl/v2 to v2.10.1
- Bump github.com/zclconf/go-cty to v1.9.0
- Bump golang.org/x/time to v0.0.0-20210723032227-1f47c861a9ac
- Bump golang.org/x/tools to v0.1.5
- Added support for hybrid pools (#689)
- Added support for
always_running
jobs, which are restarted on resource updates (#715) - Azure CLI auth is now forcing JSON output (#717)
databricks_permissions
are getting validation onterraform plan
stage (#706)- Added
databricks_directory
resource (#690) - Added
run_as_role
field todatabricks_sql_query
(#684) - Added
user_id
attribute fordatabricks_user
data resource, so that it's possible to dynamically create resources based on members of the group (#714) - Added more selectors to
databricks_node_type
data source (#723) - Azure auth with SPN now uses AAD token by default instead of PAT. Previous behavior (using PAT) could be restored by setting
azure_use_pat_for_spn
totrue
(#721) deployment_name
fordatabricks_mws_workspaces
is now optional, how it should have been. This enables creation of Databricks workspaces without an account prefix.- To replicate default behavior of Databricks SQL UI,
enable_photon
is nowtrue
by default fordatabricks_sql_endpoint
. - Various documentation and bugfixes
Updated dependency versions:
- Bump github.com/aws/aws-sdk-go from 1.38.51 to 1.38.71
- Bump github.com/Azure/go-autorest/autorest/azure/auth from 0.5.7 to 0.5.8
- Bump github.com/Azure/go-autorest/autorest from 0.11.18 to 0.11.19
- Bump github.com/Azure/go-autorest/autorest/adal from 0.9.13 to 0.9.14
- Bump github.com/zclconf/go-cty from 1.8.3 to 1.8.4
- Bump github.com/hashicorp/terraform-plugin-sdk/v2 from 2.6.1 to 2.7.0
- Fixed setting of permissions for SQLA endpoints (#661)
- Added support for preloading of Docker images into instance pools (#663)
- Added the
databricks_user
data source (#648) - Fixed support for
spot_instance_policy
in SQLA Endpoints (#665) - Added documentation for
databricks_pipeline
resource (#673) - Fixed mapping for
databricks_service_principal
on AWS (#656) - Made preview environment tests to run on a release basis
Updated dependency versions:
- Bump github.com/zclconf/go-cty from 1.8.2 to 1.8.3
- Bump github.com/aws/aws-sdk-go from 1.38.30 to 1.38.51
- Fixed state refresh bugs in
databricks_sql_permissions
(#620, #619) - Fixed
workspace_ids_filter
mapping fordatabricks_mws_log_delivery
(#635) - Multiple documentation improvements (#597, eb60d10, edcd4b1, 404bdab, #615, f14b825, e615c3a, #612)
- Mounting clusters are recreated now, even when they are deleted (#637)
- Fixed handling of empty blocks for clusters/jobs/instance pools (22cdf2f)
- Mark instance pool attributes as ForceNew when it's requited (#629)
- Switched to use https://staticcheck.io/ for static code analysis (#602)
Behavior changes
- The
customer_managed_key_id
field indatabricks_mws_workspaces
resource is deprecated and should be replaced withmanaged_services_customer_managed_key_id
(and optionallystorage_customer_managed_key_id
).databricks_mws_customer_managed_keys
now requires the parameteruse_cases
(#642). If you've used the resource before, please adduse_cases = ["MANAGED_SERVICES"]
to keep the behaviour.
Updated dependency versions:
- Bump github.com/aws/aws-sdk-go to v1.38.30
- Bump github.com/hashicorp/go-retryablehttp to v0.7.0
- Bump github.com/hashicorp/hcl/v2 to v2.10.0
- Bump github.com/hashicorp/terraform-plugin-sdk/v2 to v2.6.1
- Bump github.com/zclconf/go-cty to v1.8.2
- Added resources for SQL Analytics queries and dashboards:
databricks_sql_query
,databricks_sql_visualization
,databricks_sql_dashboard
,databricks_sql_widget
(#553) - Added
databricks_sql_permissions
resource (#545) - Fixed documentation bugs (#603)
- Improved resource exporter (#593)
- Added missing properties to
databricks_mws_private_access_settings
(#590) - Include SQLA data source ID in
databricks_sql_endpoint
state (#601) - Apply
debug_truncate_bytes
also for response dumps (#589) - More verbose logging of
databricks_cluster
termination reason (#588) - Move non-auth provider config documentation into separate section (#587)
- Fixed minor issues to add support for GCP (#558)
- Fixed
databricks_permissions
for SQL Analytics Entities (#535) - Fixed incorrect HTTP 404 handling on create (#564, #576)
- Fixed incorrect escaping of notebook names (#566)
- Fixed entitlements for databricks_group (#549)
- Fixed rate limiting to perform more than 1 request per second (#577)
- Added support for spot instances on Azure (#571)
- Added job schedules support for
pause_status
as a optional field. (#575) - Fixed minor documentation issues.
Updated dependency versions:
- Bump github.com/aws/aws-sdk-go from 1.37.20 to 1.38.10
- Bump github.com/hashicorp/hcl/v2 from 2.9.0 to 2.9.1
- Bump github.com/zclconf/go-cty from 1.8.0 to 1.8.1
- Bump github.com/google/go-querystring from 1.0.0 to 1.1.0
- Added
databricks_global_init_script
resource to configure global init scripts (#487). - Added
databricks_sql_endpoint
resource (#498) - Added experimental resource exporter to generate configuration for entire workspace.
- Improved user-facing documentaiton (#508, #516, #511, #504, [#492](Update docs in various places))
- Simplified authentication issues debugging (#490)
- Made cleaner error message for no config profile (#491)
- Allow tokens without comment or expiration (#495)
- Ensured consistent slashes in notebook paths for different OSes (#500)
- Fix error message panic in command result parsing (#502)
- Updated
databricks_group
data resource to allow non-alphanumeric characters in group name filter (#507)
Behavior changes
- Assigning any permission to
admins
would result in an error, so that behavior is consistent (#486).
Updated dependency versions:
- github.com/zclconf/go-cty from 1.2.1 to 1.7.1
- github.com/Azure/go-autorest/autorest/azure/auth from 0.5.6 to 0.5.7
- github.com/hashicorp/hcl/v2 from 2.3.0 to 2.8.2
- github.com/aws/aws-sdk-go from 1.37.1 to 1.37.11
- github.com/Azure/go-autorest/autorest from 0.11.17 to 0.11.18
- Added configurable provisioning timeout for
databricks_mws_workspaces
, so that local DNS cache issues would be more tolerated. - Added [databricks_current_user] to simplify applying the same Terraform configuration by different users in the shared workspace for testing purposes.
- Added client-side rate limiting to release the pressure on backend APIs and prevent client blocking (#465)
- Member usernames, group names and instance profile names in
databricks_group
data source are now sorted and providing consistent behavior between runs (#449) - Fixed redundant multiple mounting clusters (#445)
- Added optional parameter azure_environment to provider config which defaults to public (#437).
- Added databricks_service_principal resource.
skip_validation
fromdatabricks_instance_profile
was removed and is always set totrue
.- Added propagation of terraform version to
User-Agent
header, along with type of resource used. databricks_notebook
&databricks_dbfs_file
got newsource
field to specify location of a local file.databricks_notebook
can havelanguage
field optional, as long assource
is set to a file with.py
,.scala
,.sql
, or.r
extension.databricks_me
data source was added to representuser_name
,home
&id
of the caller user (or service principal).- Added validation for secret scope name in
databricks_secret
,databricks_secret_scope
anddatabricks_secret_acl
. Non-compliant names may cause errors. - Added databricks_spark_version data source.
- Fixed support for single node clusters support by allowing
num_workers
to be0
. - Fixed bug in destruction of IP access lists (#426).
- All resource imports are now making call to corresponding Databricks API by default (#471).
Behavior changes
- Removed deprecated
library_jar
,library_egg
,library_whl
,library_pypi
,library_cran
, andlibrary_maven
fromdatabricks_cluster
anddatabricks_job
in favor of more API-transparent library configuration block. - Removed deprecated
notebook_path
andnotebook_base_parameters
fromdatabricks_job
in favor of notebook_task configuration block. - Removed deprecated
jar_uri
,jar_main_class_name
, andjar_parameters
fromdatabricks_job
in favor of spark_jar_task configuration block. - Removed deprecated
python_file
andpython_parameters
fromdatabricks_job
in favor of spark_python_task configuration block. - Removed deprecated
spark_submit_parameters
fromdatabricks_job
in favor of spark_submit_task configuration block. - Removed deprecated
databricks_scim_user
resource in favor of databricks_user. - Removed deprecated
databricks_scim_group
resource in favor of databricks_group. - Removed deprecated
databricks_default_user_roles
data source in favor of databricks_group data source. - Removed deprecated
basic_auth
andazure_auth
provider configuration blocks in favor of documented authentication methods. format
,overwrite
, andmkdirs
were removed fromdatabricks_notebook
. To follow expected behavior of Terraform, notebooks are always overwritten.skip_validation
fromdatabricks_instance_profile
was removed and is always set totrue
for subsequent requests.databricks_mws_workspace
gotverify_workspace_runnning
removed and now validates all every deployment. In case deployment failed, it removes workspace that failed and returns error message with explanation.default_tags
were removed fromdatabricks_instance_pool
.disk_spec
got new attributedisk_type
, that containsazure_disk_volume_type
andebs_volume_type
. This change is made to closer reflect API structure.databricks_notebook
&databricks_dbfs_file
gotcontent
attribute renamed tocontent_base64
and now share the same logic to work with local files.
- Fixed documentation issues.
- Added missing resource importers and test to cover it.
- Migrated build from TravisCI to GitHub Actions.
- Fixed custom
config_file
issue configuration handling (#420).
Deprecations
databricks_notebook
has gotoverwrite
,mkdirs
andformat
parameters, that always have to be set to certain values in order to follow expected behavior of terraform. These fields would be removed in 0.3 and always set to proper values.databricks_notebook
&databricks_dbfs_file
fieldcontent
is deprecated and would be renamed tocontent_base64
to further increase clarity.databricks_dbfs_file
has gotcontent
,content_b64_md5
,overwrite
,mkdirs
,validate_remote_file
fields deprecated and they will be removed in the next version, where critical code path will be shared withdatabricks_notebook
.network_error_messages
andverify_workspace_runnning
fromdatabricks_mws_workspaces
is deprecated and going to be removed in 0.3.error_messages
fromdatabricks_mws_networks
are deprecated and would be removed in 0.3.ebs_volume_type
andazure_disk_volume_type
fromdatabricks_instance_pool
is going to be moved todisk_type
sub-block in 0.3, which means you'll slightly have to modify configuration while migrating to 0.3. Computed fielddefault_tags
is going to be removed from resource. This is done to further increase maintainability of provider in the future.
Updated dependency versions:
- github.com/aws/aws-sdk-go 35.36
- github.com/hashicorp/go-retryablehttp 0.6.8
- github.com/Azure/go-autorest/autorest 0.11.12
Behavior changes
min_idle_instances
fordatabricks_instance_pool
is now optional.skip_validation
fordatabricks_instance_profile
is going to be removed in 0.3.
- Added databricks_workspace_conf resource.
- Added databricks_mws_log_delivery resource for billable usage & audit logs consumption.
- Added databricks_node_type data source for simpler selection of node types across AWS & Azure.
- Added Azure Key Vault support for
databricks_secret_scope
for Azure CLI authenticated users. - Added is_pinned support for
databricks_cluster
resource. - Fixed restarting cluster on changes in cluster configuration aren't related to the cluster configuration (issue #379)
- Fixed issue #383 by cleaning up clusters that fail to start.
- Fixed issue #382 by ignoring any incoming changes to deployment name of
databricks_mws_workspaces
, as well as propagating the right error messages. - Internal: API for retrieval of the cluster events.
- Increased code coverage to 71%.
Updated dependency versions:
- github.com/Azure/go-autorest/autorest v0.11.9
- github.com/Azure/go-autorest/autorest/adal v0.9.5
- github.com/Azure/go-autorest/autorest/azure/auth v0.5.3
- github.com/Azure/go-autorest/autorest/azure/cli v0.4.2
- gopkg.in/ini.v1 1.62.0
Deprecations
network_error_messages
fromdatabricks_mws_workspaces
is deprecated and going to be removed in 0.3
- Small fixes
- Added support for customer managed keys for Accounts API.
- Added
databricks_user
resource. - Added
databricks_user_instance_profile
resource. - Added
databricks_group
data source.
Updated dependency versions:
- github.com/Azure/go-autorest/autorest v0.11.6
- github.com/Azure/go-autorest/autorest/adal v0.9.4
- github.com/Azure/go-autorest/autorest/azure/auth v0.5.2
- github.com/Azure/go-autorest/autorest/azure/cli v0.4.1
- gopkg.in/ini.v1 v1.61.0
Deprecations
databricks_scim_user
is no longer receiving fixes and will be removed in0.3
, please rewrite using thedatabricks_user
resource, which has more consistent semantics withdatabricks_group
and works better with identity provider SCIM sync.databricks_scim_group
is no longer receiving fixes and will be removed in0.3
. Please rewrite using thedatabricks_group
resource.databricks_default_user_roles
is no longer receiving fixes and will be removed in0.3
, please rewrite usingdatabricks_user
&databricks_group
resources.
Behavior changes
- State changes to legacy
spark.databricks.delta.preview.enabled
config option are now ignored bydatabricks_job
&databricks_cluster
- Libraries, which are installed on all clusters and are not part of cluster resource definition, won't be waited for INSTALLED status
- Fixed "Secret scope ACL is MANAGE for all users by default" (issue 322). If you were relying on setting
MANAGE
permission to all users by default, you need to addinitial_manage_principal = "users"
to yourresource "databricks_secret_scope"
declaration.
- Added support for local disk encryption
- Added more reliable indication about Azure environment and fixed azure auth issue for Terraform 0.13
- Updated databricks_aws_crossaccount_policy to latest rules
- Fixed missing importers for databricks_scim_* resources
- Updated Terraform Plugin SDK to latest version along with transitive dependencies.
- Added support disclaimers
- Increased code coverage to 65%
- Added Azure CLI authentication to bridge the gap of local development workflows and let more people use the provider.
- All authentication is completely lazy-initialized, which makes it provider overall more stable.
- Significantly increased unit test coverage, which runs before every merge of a pull request.
- Introduced constantly running integration test suite environments: azsp, azcli & awsmt
- Numerous stability improvements for clusters, mounts, libraries, notebooks, files, authentication and TLS connectivity.
- Added ability to mount storage without explicitly defining a cluster, though it will still launch auto-terminating
terraform-mount
cluster to perform the mount. databricks_cluster
&databricks_job
now share significant portion of configuration wiring code, therefore increasing the stability of codebase.- Added support for Terraform 0.13 local builds for those who develop or cannot wait for next release.
- Added AWS IAM Policy data helpers to simplify new deployments.
- Migrated all documentation to Terraform Registry format, therefore having a single always-accurate place for end-user guides.
- Internally, codebase has been split into multiple packages, which should make further contributions simpler.
Updated dependency versions:
- github.com/Azure/go-autorest/autorest v0.11.4
- github.com/Azure/go-autorest/autorest/adal v0.9.2
- github.com/Azure/go-autorest/autorest/azure/auth v0.5.1
- github.com/aws/aws-sdk-go v1.34.13
- gopkg.in/ini.v1 v1.60.2
Deprecations
library_*
is no longer receiving fixes and will be removed in0.3
, please rewrite cluster & job resources to uselibrary
configuration block.basic_auth
provider block is no longer receiving fixesand will be removed in0.3
, please useusername
andpassword
optionsazure_auth
provider block is no longer receiving fixesand will be removed in0.3
, please useazure_*
options
Behavior changes
- Previously, mounts code paths were different functions. This release unifies them to be a single testable codebase with different configuration options & re-use of the critical code paths. For maintainability reasons, there's no longer check performed on container & storage account names, but rather on high-level mount source uri.