You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Exporter] Added support for Databricks Apps resources (#5208)
## Changes
<!-- Summary of your changes that are easy to understand -->
This change adds exporter support for `databricks_app` and
`databricks_apps_settings_custom_template` resources.
Changes:
* Add exporter support for `databricks_app` resource`
* Add exporter support for `databricks_apps_settings_custom_template`
* Fix Plugin Framework list processing in `codegen.go`:
- Include numeric indices in nested list paths (e.g.,
`resources.0.secret.key`) for consistent reference resolution across
SDKv2 and Plugin Framework resources
- Ensures `IsValidApproximation` functions receive correct paths with
indices
* Refactor and improvements:
- Export AppResource type in resource_app.go for exporter use
- Do group caching only if `groups` service is enabled
## Tests
<!--
How is this tested? Please see the checklist below and also describe any
other relevant tests
-->
- [x] `make test` run locally
- [x] relevant change in `docs/` folder
- [ ] covered with integration tests in `internal/acceptance`
- [ ] using Go SDK
- [ ] using TF Plugin Framework
- [x] has entry in `NEXT_CHANGELOG.md` file
Copy file name to clipboardExpand all lines: docs/guides/experimental-exporter.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -174,6 +174,7 @@ Services could be specified in combination with predefined aliases (`all` - for
174
174
175
175
*`access` - **listing**[databricks_permissions](../resources/permissions.md), [databricks_instance_profile](../resources/instance_profile.md), [databricks_ip_access_list](../resources/ip_access_list.md), and [databricks_access_control_rule_set](../resources/access_control_rule_set.md). *Please note that for `databricks_permissions` we list only `authorization = "tokens"`, the permissions for other objects (notebooks, ...) will be emitted when corresponding objects are processed!*
176
176
*`alerts` - **listing**[databricks_alert](../resources/alert.md) and [databricks_alert_v2](../resources/alert_v2.md).
177
+
*`apps` - **listing**[databricks_app](../resources/app.md) and [databricks_apps_settings_custom_template](../resources/apps_settings_custom_template.md).
Copy file name to clipboardExpand all lines: exporter/AGENTS.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ When adding a new resource to Terraform Exporter we need to perform next steps:
33
33
1. Define a new `importable` instance in the `importables.go`.
34
34
2. Specify if it's account-level or workspace-level resource, or both.
35
35
3. Specify a service to which resource belongs to. Either use one of the existing, if it fits, or define a new one (ask user for confirmation).
36
-
4. Implement the `List` function that will be discover and emit instances of the specific resource.
36
+
4. Implement the `List` function that will be discover and emit instances of the specific resource. When implementing it, prefer to use `List` method of Go SDK instead of `ListAll`.
37
37
5. (Optional) Implement the `Name` function that will extract TF resource name from an instance of a specific resource.
38
38
6. (Recommended) Implement the `Import` function that is responsible for emitting of dependencies for this resource - permissions/grants, etc.
39
39
7. (Optional) Implement the `ShouldOmitField` if some fields should be conditionally omitted.
0 commit comments