Skip to content

Latest commit

 

History

History
432 lines (240 loc) · 21.6 KB

CHANGELOG.md

File metadata and controls

432 lines (240 loc) · 21.6 KB

Changelog

All notable changes to this project will be documented in this file.

Behind the scenes

  • Add better error handling when importing resources like in #299

Fixes

  • #300 Panic when reading a DBX legacy connection without a catalog
  • Typo in Getting started guide

Changes

  • Make dbname required for Redshift and Postgres in dbtcloud_global_connection

Changes

  • Add a dbtcloud_projects (with an "s") datasource to return all the projects along with some information about the warehouse connections and repositories connected to those projects. Loops through the API in case there are more than 100 projects
    • Along with the check block, it can be used to check that there are no duplicate project names for example.
  • Add a datasource for dbtcloud_global_connection with the same information as the corresponding resource
  • Add a datasource for dbtcloud_global_connections (with an "s"), returning all the connections of an account along with details like the number of environments they are used in. This could be used to check that connections don't have the same names or that connections are all used by projects.

Changes

  • Add support for setting the pull_request_url_template in dbtcloud_repository

Changes

  • Add support for all connection types in dbtcloud_global_connection (added PostgreSQL, Redshift, Apache Spark, Starburst, Synapse, Fabric and Athena) and add deprecation warnings for all the other connections resources: dbtcloud_connection, dbtcloud_bigquery_connection and dbtcloud_fabric_connection

Docs

  • Update "Getting Started" guide to use global connections instead of project-scoped connections

Behind the scenes

  • Accelerate CI testing by:
    • avoiding too many calls to v2/.../account
    • installing Terraform manually in the CI pipeline so that each test doesn't download a new version of the CLI
    • moving some tests to run in Parallel (could move more in the future)
  • Update go libraries

Changes

  • Add support for import for dbtcloud_global_connection
  • Add support for Databricks in dbtcloud_global_connection

Changes

  • #267 Support for global connections
    • dbtcloud_environment now accepts a connection_id to link the environment to the connection. This is the new recommended way to link connections to environments instead of linking the connection to the project with dbtcloud_project_connection
      • The dbtcloud_project_connection still works today and when used doesn't require setting up a connection_id in the dbtcloud_environment resource (i.e. , any current config/module should continue working), but the resource is flagged as deprecated and will be removed in a future version of the provider
    • For now, people can continue using the project-scoped connection resources dbtcloud_connection, dbtcloud_bigquery_connection and dbtcloud_fabric_connection for creating and updating global connections. The parameter project_id in those connections still need to be a valid project id but doesn't mean that this connection is restricted to this project ID. The project-scoped connections created from Terraform are automatically converted to global connections
    • A new resource dbtcloud_global_connection has been created and currently supports Snowflake and BigQuery connections. In the next weeks, support for all the Data Warehouses will be added to this resource
      • When a data warehouse is supported in dbtcloud_global_connection, we recommend using this new resource instead of the legacy project-scoped connection resources. Those resources will be deprecated in a future version of the provider.
  • #278 Deprecate state attribute in the resources and datasources that use it. It will be removed in the next major version of the provider. This attribute is used for soft-delete and isn't intended to be configured in the scope of the provider.

Fix

  • #281 Fix the datasource dbcloud_environments where the environment IDs were not being saved

Changes

  • #277 Add dbtcloud_users datasource to get all users
  • #274 Add dbtcloud_jobs datasource to return all jobs for a given dbt Cloud project or environment
  • #273 Add environment level restrictions to the dbtcloud_service_token resource

Docs

  • Fix typo in service token examples

Fixes

  • #271 Force creation of a new connection when the project is changed or deleted

Docs

  • Fix typo in environment code example

Changes

  • Added new on_warning field to dbtcloud_notification and dbtcloud_partial_notification.

Changes

  • #266 Add env level permissions for dbtcloud_group and dbtcloud_group_partial_permissions. As of June 5 this feature is not yet active for all customers.

Docs

  • Fix description of fields for some datasources

Internals

  • Move the dbcloud_group resource and datasource from the SDKv2 to the Framework
  • Create new helpers for comparing Go structs
  • Update all SDKv2 tests to run on the muxed provider to work when some resources have moved to the Plugin Framework

Changes

  • #232 add deprecation notice for dbtcloud_project_artefacts as the resource is not required now that dbt Explorer is GA.
  • #208 add new dbtcloud_partial_license_map for defining SSO group mapping to license types from different Terraform projects/resources

Changes

  • add a dbtcloud_partial_notification resource to allow different resources to add/remove job notifications for the same Slack channel/email/user

Fixes

  • #257 - Force new resource when the project_id changes for a dbtcloud_job.
  • Creating connection for adapters (e.g. Databricks and Fabric) was failing when using Service Tokens following changes in the dbt Cloud APIs

Behind the scenes

  • change the User Agent to report what provider version is being used

Documentation

  • add import block example for the resources in addition to the import command

Changes

  • #255 - Add new datasource dbtcloud_environments to return all environments across an account, or all environments for a give project ID

Behind the scenes

  • Move the dbtcloud_environment datasource to the Terraform Plugin Framework

Changes

  • #250 - [Experimental] Create a new resource called dbtcloud_group_partial_permissions to manage permissions of a single group from different resources which can be set across different Terraform projects/workspaces. The dbt Cloud API doesn't provide endpoints for adding/removing single permissions, so the logic in the provider is more complex than other resources. If the resource works as expected for the provider users we could create similar ones for "partial" notifications and "partial" license mappings.

Changes

  • Add on_merge trigger for jobs. The trigger is optional for now but will be required in the future.

Documentation

  • Remove mention of dbt_cloud_xxx resources in the docs

Changes

  • Implements muxing to allow both SDKv2 and Plugin Framework resources to work at the same time. This change a bit the internals but shouldn't have any regression.
  • Move some resources / datasources to the plugin Framework
  • Remove legacy dbt_cloud_xxx resources

Changes

  • Enable OAuth configuration for Databricks connections + update docs accordingly

Fixes

  • #247 Segfault when the env var for the token is empty
  • [Internal] Issue with job_ids required to be set going forward, even if it is empty

Changes

  • #244 Better error handling when GitLab repositories are created with a User Token

Fixes

  • #245 Issues on dbtcloud_job when modifying an existing job schedule

Changes

  • #240 Add notice of deprecation for triggers.custom_branch_only for jobs and update logic to make it work even though people have it to true or false in their config. We might raise an error if the field is still there in the future.
  • Update diff calculation for Extended Attributes, allowing strings which are not set with jsonencode()
  • #241 Force recreation of env vars when values change to work with the recent changes in the dbt Cloud API

Documentation

  • Add list of permission names and permission codes in the docs of the service_token and group
  • Add info in dbtcloud_repository about the need to also create a dbtcloud_project_repository

Changes

  • Flag fetch_deploy_key as deprecated for dbtcloud_repository. The key is always fetched for the genetic git clone approach

Documentations

  • Add info about versionless dbt environment (Private Beta)
  • #235 Fix docs on the examples for Fabric credentials

Changes

  • Add support for job chaining and job_completion_trigger_condition (feature is in closed Beta in dbt Cloud as of 5 FEB 2024)

Documentations

  • Improve docs for jobs

Changes

  • Update permissions allowed for groups and token to include job_runner

Documentations

  • Add guide on dbtcloud-terraforming to import existing resources

Changes

  • #229 - fix logic for secret environment variables

Documentations

  • #228 - update docs to replace the non existing dbtcloud_user resource by the existing data.dbtcloud_user data source

Behind the scenes

  • update third party module version following security report

Changes

  • #224 - add the resources dbtcloud_fabric_connection and dbtcloud_fabric_credential to allow using dbt Cloud along with Microsoft Fabric
  • #222 - allow users to set Slack notifications from Terraform

Behind the scenes

  • Refactor some of the shared code for Adapters and connections

Changes

  • #99 - add the resource environment_variable_job_override to allow environment variable override in jobs
  • Update the go version and packages versions

Fixes

  • #221 - removing the value for an env var scope was not removing it in dbt Cloud
  • add better messages and error handling for jobs

Changes

  • Update list of permissions for groups and service tokens

Changes

  • Fix issues with the repositories connected via GitLab native integration
  • Add ability to configure repositories using the native ADO integration
  • Add data sources for retrieving ADO projects and repositories ID and information

Documentation

  • Show in the main page that provider parameters can be set with env vars
  • Update examples and field descriptions for the repositories

Changes

  • Update connections to force new one when the project changes
  • Add support for the Datasource dbtcloud_group_users to get the list of users assigned to a given project

Documentation

  • Use d2 for showing the different resources
  • Update examples in docs

Changes

  • Update docs and examples for jobs and add the ability to set/unset running CI jobs on Draft PRs

Fix

  • #197 - Community contribution to handle cases where more than 100 groups are created in dbt Cloud
  • #199 - Update logic to allow finding users by their email addresses in a cases insensitive way
  • #198 - Update some internal logic to call endpoints by their unique IDs instead of looping through answers to avoid issues like #199 and paginate through results for endpoints where we can't query the ID directly

Changes

  • #189 - Allow users to retrieve project data sources by providing project names instead of project IDs. This will return an error if more than 1 project has the given name and takes care of the pagination required for handling more than 100 projects

Changes

  • Add support for extended attributes for environments (docs), allowing people to add connection attributes available in dbt-core but not in the dbt Cloud interface
  • #191 - Allow setting a description for jobs

Fix

  • #190 - Allow setting deferral for jobs at the environment level rather than at the job level. This is due to changes in CI in dbt Cloud. Add docs about those changes on the dbtcloud_job resource page

Fix

  • #184 - Fix issue when updating SSO groups for a given RBAC group

Changes

Fixes

  • #172: Fix issue when changing the schedule of jobs from a list of hours to an interval in a dbtcloud_job
  • #175: Fix issue when modifying the environment_id of an existing dbtcloud_job
  • #154: Allow the creation of Databricks connections using Service Tokens when it was only possible with User Tokens before

Changes

  • Use the v2/users/<id> endpoint to get the groups of a user

Fixes

  • More update to docs

Changes

  • #171 Add the ability to define which environment is the production one (to be used with cross project references in dbt Cloud)
  • Add guide on how to use the Hashicorp HTTP provider
  • #174 Add the ability to assign User groups to dbt Cloud users.

Fixes

  • Update CI to avoid Node version warnings
  • Fixes to the docs

Changes

Fixes

  • #156 Fix the dbtcloud_connection for Databricks when updating the http_path or catalog + add integration test
  • #157 Fix updating an environment with credentials already set + add integration test

Changes

  • Add guide to get started with the provider
  • Add missing import and fix more docs
  • Update docs template to allow using Subcategories later

Changes

  • Resources deleted from dbt Cloud won't crash the provider and we now consider the resource as deleted, removing it from the state. This is the expected behavior of a provider.
  • Add examples in the docs to resources that didn't have any so far

Important changes

  • The resources and data sources are now available as dbtcloud_xxx (following the terraform convention) in addition to dbt_cloud_xxx (legacy). The legacy version will be removed from v0.3.0 onwards. Instructions on how to use the new resources are available on the main page of the Provider.

0.1.12

Changes