A Declarative Automation Bundle has declared two Lakeflow Jobs, ingest_orders and rebuild_marts, and a continuous integration pipeline deploys it to the prod target on every merge. A pull request removes the rebuild_marts declaration from databricks.yml because the workload has been retired, and the pipeline deploys the merged configuration to prod. What happens to rebuild_marts in the prod workspace?
databricks bundle deploy -t prod- AIt stays in the workspace with its schedule active, because a deployment adds and updates the declared resources and leaves anything not mentioned in the configuration alone.
- BIt stays in the workspace with its schedule paused, because the deployment marks resources dropped from the configuration as inactive so that their run history is preserved.
- CIt is removed from the workspace, but the deployment fails afterwards, because a bundle cannot deploy a target whose declared resource set differs from the state recorded for it.
- DIt is removed from the workspace, because the deployment reconciles the target with what the configuration declares and the state it holds for previously deployed resources. Correct
Why A is wrong: Tempting because many deployment tools are additive in exactly this way, but bundle deployment is declarative and tracks what it previously created, so an undeclared resource does not simply persist.
Why B is wrong: Tempting because pausing a schedule is genuine bundle behaviour in development mode, but that applies to jobs the bundle deploys, and it is not what happens to a resource removed from the configuration.
Why C is wrong: The removal is right but the failure is invented, because a difference between the configuration and the recorded state is the normal case that a deployment exists to resolve.
Why D is correct: Correct: the bundle records the resources it deployed to that target, so a resource that disappears from the configuration is removed on the next deployment rather than being left behind as an orphan.