feat(lakehouse): add definition for lakehouse#819
feat(lakehouse): add definition for lakehouse#819CatalinDabuleanu wants to merge 2 commits intomainfrom
Conversation
Changelog Previewv1.7.1-dev - February 12, 2026✨ Added
💫 Changed
🪲 Fixed
|
There was a problem hiding this comment.
Pull request overview
Adds Terraform “definition” support for the fabric_lakehouse resource and data source, enabling definition bootstrapping/update and (optionally) reading definition parts back from the API.
Changes:
- Enable lakehouse resource to accept
format+definitionparts (with update toggle and validation hooks). - Enable lakehouse data source to optionally output definition parts (
output_definition) and supportformat. - Add fixtures, fake-server support, tests, examples, docs, and a changelog entry for the new definition capabilities.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| internal/testhelp/fixtures/lakehouse/shortcuts.metadata.json.tmpl | Adds a shortcuts definition-part fixture for tests/examples |
| internal/testhelp/fixtures/lakehouse/lakehouse.metadata.json.tmpl | Adds lakehouse metadata definition-part fixture |
| internal/testhelp/fixtures/lakehouse/data-access-roles.json.tmpl | Adds data access roles definition-part fixture |
| internal/testhelp/fixtures/lakehouse/alm.settings.json.tmpl | Adds ALM settings definition-part fixture |
| internal/testhelp/fakes/fabric_lakehouse.go | Extends fake lakehouse server to support definition CRUD operations |
| internal/services/lakehouse/resource_lakehouse_test.go | Adds acceptance test coverage for lakehouse definition handling |
| internal/services/lakehouse/resource_lakehouse.go | Switches lakehouse resource to definition-capable resource implementation + validators |
| internal/services/lakehouse/data_lakehouse_test.go | Updates data source acceptance test to request/output definitions |
| internal/services/lakehouse/data_lakehouse.go | Switches lakehouse data source to definition-capable data source implementation |
| internal/services/lakehouse/base.go | Adds definition metadata (formats/paths/docs URL) for lakehouse |
| examples/resources/fabric_lakehouse/resource.tf | Adds definition bootstrap/update + token examples for lakehouse resource |
| examples/resources/fabric_lakehouse/providers.tf | Adds local.path pointing to fixtures for examples |
| examples/resources/fabric_lakehouse/outputs.tf | Adds output for the new example resource |
| examples/data-sources/fabric_lakehouse/data-source.tf | Adds example showing how to output and decode definitions |
| docs/resources/lakehouse.md | Documents new resource attributes and definition nested schema |
| docs/data-sources/lakehouse.md | Documents new data source attributes and definition output schema |
| .changes/unreleased/added-20260210-155459.yaml | Adds changelog entry for lakehouse definition onboarding |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
internal/testhelp/fixtures/lakehouse/shortcuts.metadata.json.tmpl
Outdated
Show resolved
Hide resolved
| resource.TestCheckResourceAttr(testResourceItemFQN, "definition_update_enabled", "true"), | ||
| ), | ||
| }, | ||
| })) |
There was a problem hiding this comment.
maybe you could also test the update by having another definition part addes from the other 3 available
| PayloadType: to.Ptr(fablakehouse.PayloadTypeInlineBase64), | ||
| Path: to.Ptr("data-access-roles.json"), | ||
| Payload: to.Ptr( | ||
| "Ww0KICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgIm5hbWUiOiAiZGltZW5zaW9ucnVsZXJlbmFtZSIsDQogICAgICAgICAgICAgICAgImtpbmQiOiAiUG9saWN5IiwNCiAgICAgICAgICAgICAgICAiZGVjaXNpb25SdWxlcyI6IFsNCiAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgImVmZmVjdCI6ICJQZXJtaXQiLA0KICAgICAgICAgICAgICAgICAgICAicGVybWlzc2lvbiI6IFsNCiAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAiYXR0cmlidXRlTmFtZSI6ICJQYXRoIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJhdHRyaWJ1dGVWYWx1ZUluY2x1ZGVkSW4iOiBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICIvVGFibGVzL2Riby9kaW1lbnNpb25fY2l0eSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICIvVGFibGVzL2Riby9kaW1lbnNpb25fY3VzdG9tZXIiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiL1RhYmxlcy9kYm8vZGltZW5zaW9uX2RhdGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAiL1RhYmxlcy9kYm8vZGltZW5zaW9uX2VtcGxveWVlIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIi9UYWJsZXMvZGJvL2RpbWVuc2lvbl9zdG9ja19pdGVtIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIi9UYWJsZXMvYnJvbnplIg0KICAgICAgICAgICAgICAgICAgICAgICAgXQ0KICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgImF0dHJpYnV0ZU5hbWUiOiAiQWN0aW9uIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJhdHRyaWJ1dGVWYWx1ZUluY2x1ZGVkSW4iOiBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICJSZWFkIg0KICAgICAgICAgICAgICAgICAgICAgICAgXQ0KICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICAgICAgImNvbnN0cmFpbnRzIjoge30NCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgICJtZW1iZXJzIjogew0KICAgICAgICAgICAgICAgICAgImZhYnJpY0l0ZW1NZW1iZXJzIjogW10sDQogICAgICAgICAgICAgICAgICAgICJtaWNyb3NvZnRFbnRyYU1lbWJlcnMiOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAidGVuYW50SWQiOiAiMWU4NTAwMGUtZWUzNS00MTEyLWJkNDYtMmYwMGIzZDk0MTU0IiwNCiAgICAgICAgICAgICAgICAgICAgICAib2JqZWN0SWQiOiAiNWYzZWZkMzctYTZkMi00MzJmLTk5ZmEtNmFkYzI4NDhhNDBhIg0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICBdDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgIm5hbWUiOiAiRGVmYXVsdFJlYWRlciIsDQogICAgICAgICAgICAgICAgImtpbmQiOiAiUG9saWN5IiwNCiAgICAgICAgICAgICAgICAiZGVjaXNpb25SdWxlcyI6IFsNCiAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgImVmZmVjdCI6ICJQZXJtaXQiLA0KICAgICAgICAgICAgICAgICAgICAicGVybWlzc2lvbiI6IFsNCiAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAiYXR0cmlidXRlTmFtZSI6ICJBY3Rpb24iLA0KICAgICAgICAgICAgICAgICAgICAgICAgImF0dHJpYnV0ZVZhbHVlSW5jbHVkZWRJbiI6IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlJlYWQiDQogICAgICAgICAgICAgICAgICAgICAgICBdDQogICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAiYXR0cmlidXRlTmFtZSI6ICJQYXRoIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJhdHRyaWJ1dGVWYWx1ZUluY2x1ZGVkSW4iOiBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICIqIg0KICAgICAgICAgICAgICAgICAgICAgICAgXQ0KICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgXQ0KICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgIm1lbWJlcnMiOiB7DQogICAgICAgICAgICAgICAgICAiZmFicmljSXRlbU1lbWJlcnMiOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAiaXRlbUFjY2VzcyI6IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICJSZWFkQWxsIg0KICAgICAgICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgICAgICAgInNvdXJjZVBhdGgiOiAiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwLzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCINCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgXQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgXQ==", |
There was a problem hiding this comment.
can't there be shorter payloads for the def parts since it s for unit testing?
| @@ -0,0 +1,14 @@ | |||
| [ | |||
There was a problem hiding this comment.
does it make sense to keep these files in the fixtures if they're not used for unit/acc testing?
📥 Pull Request
❓ What are you trying to address
Onboard definition for
fabric_lakehousefor Data Source and Resource