pulumi/pkg
Joe Duffy bc2cf55463
Implement resource protection (#751)
This change implements resource protection, as per pulumi/pulumi#689.
The overall idea is that a resource can be marked as "protect: true",
which will prevent deletion of that resource for any reason whatsoever
(straight deletion, replacement, etc).  This is expressed in the
program.  To "unprotect" a resource, one must perform an update setting
"protect: false", and then afterwards, they can delete the resource.

For example:

    let res = new MyResource("precious", { .. }, { protect: true });

Afterwards, the resource will display in the CLI with a lock icon, and
any attempts to remove it will fail in the usual ways (in planning or,
worst case, during an actual update).

This was done by adding a new ResourceOptions bag parameter to the
base Resource types.  This is unfortunately a breaking change, but now
is the right time to take this one.  We had been adding new settings
one by one -- like parent and dependsOn -- and this new approach will
set us up to add any number of additional settings down the road,
without needing to worry about breaking anything ever again.

This is related to protected stacks, as described in
pulumi/pulumi-service#399.  Most likely this will serve as a foundational
building block that enables the coarser grained policy management.
2017-12-20 14:31:07 -08:00
..
backend Implement resource protection (#751) 2017-12-20 14:31:07 -08:00
compiler/errors Use Stack over Environment to describe a deployment target 2017-10-16 13:04:20 -07:00
diag Attempt to fix colorization (#740) 2017-12-18 11:42:32 -08:00
encoding Use go-yaml directly 2017-10-20 14:01:37 -07:00
engine Implement resource protection (#751) 2017-12-20 14:31:07 -08:00
graph Rename pulumi-fabric to pulumi 2017-09-21 19:18:21 -07:00
operations Use AWS access key in operations prvider when available (#697) 2017-12-11 15:40:39 -08:00
pack Save configuration under the stack by default (#696) 2017-12-11 14:41:57 -08:00
resource Implement resource protection (#751) 2017-12-20 14:31:07 -08:00
testing Add the ability to do negative tests 2017-12-20 12:10:46 -08:00
tokens Rename pulumi-fabric to pulumi 2017-09-21 19:18:21 -07:00
tools Rename pulumi-fabric to pulumi 2017-09-21 19:18:21 -07:00
util Attempt to fix colorization (#740) 2017-12-18 11:42:32 -08:00
version Add a manifest to checkpoint files (#630) 2017-12-01 13:50:32 -08:00
workspace Make cloud authentication more intuitive (#738) 2017-12-16 07:49:41 -08:00