pulumi/pkg
Ian Wahbe 554660b23a
Implement the --exclude-protected feature (#8359)
* Implement the --exclude-protected feature

This piggybacks on the same machinery used by the --target flag. By
examining the stack, we find a list of all resources managed by
Pulumi (in that stack). We then form them into a DAG, and mark all
resources as either protected or unprotected.

A resource is protected it has the `Protect` flag set or is has a child
with the `protect` flag set. It is unprotected otherwise.

We then pass the urns of unprotected resources to the update options
passed to the destroy operation in the same way that `--target` does.

* Update changelog

* Handle providers correctly

* Add integration test

* Protect dependencies of protected resources

* Handle --exclude-protected in separate function

* Simplify implementation via DependencyGraph

* Add TransitiveDependenciesOf

* Cleanup unused functions

* Gate printed message behind !jsonDisplay

* Ensure provider is not `""`

* Clean up documentation (and some code)
2021-11-15 11:45:14 -08:00
..
backend Update error handling (#8406) 2021-11-12 18:37:17 -08:00
cmd/pulumi Implement the --exclude-protected feature (#8359) 2021-11-15 11:45:14 -08:00
codegen Update error handling (#8406) 2021-11-12 18:37:17 -08:00
engine Update error handling (#8406) 2021-11-12 18:37:17 -08:00
graph Update error handling (#8406) 2021-11-12 18:37:17 -08:00
operations Update error handling (#8406) 2021-11-12 18:37:17 -08:00
resource Implement the --exclude-protected feature (#8359) 2021-11-15 11:45:14 -08:00
secrets Update error handling (#8406) 2021-11-12 18:37:17 -08:00
testing/integration Update error handling (#8406) 2021-11-12 18:37:17 -08:00
util Update error handling (#8406) 2021-11-12 18:37:17 -08:00
version duplicate version to ensure linking is properly handled 2020-03-19 12:49:34 -07:00
go.mod Update error handling (#8406) 2021-11-12 18:37:17 -08:00
go.sum [CLI] Adding the ability to create a default org for backends that support orgs (#8352) 2021-11-12 20:44:51 +02:00