Comments (4)
A while back when we were prototyping different UI for diffs we included the idea of service interruptions, which is included in this old mock:
A structural diff presentation similar to this has been implemented for Terraform v0.12, but the main reason I'm sharing this is to record the part related to service interruptions. In particular:
- This new
~!~
diff symbol is trying to succinctly represent the idea of a "disruptive update". - The terminology is "service interruption" rather than "downtime" because it seems more general and thus can cover more cases without seeming weird.
- The specific change that is causing the service interruption is indicated, just like when a change "forces replacement" (or "forces new resource", as we would say in v0.11 and prior).
None of this is final by any means, but I just wanted to share this mock as a starting point for future design work. This requires both UI design work and protocol/API design work internally, so I expect (as Radek noted) it won't be doable for a while until some other work has settled down first. In particular, the initial v0.12.0 release and most likely also at least one phase of the SDK revamp to directly support the new v0.12 plugin protocol, so that we don't have to force this new idea through the old protocol shim layer.
from terraform-plugin-sdk.
Please note I created an issue upstream for tracking this as part of the protocol/UI, since it seems like a generic difference metadata implementation might be desirable to fulfill a few different but related use cases: hashicorp/terraform#27550
from terraform-plugin-sdk.
Just adding another idea for potential name of this future field as I couldn't find this issue through GitHub search: RequiresInterruption
Work on this (and the exact implementation) is however yet to be scheduled and name yet to be decided, all of which won't happen until after 0.12.
from terraform-plugin-sdk.
I think with 0.12 warnings (#74), we should be able to look at this.
from terraform-plugin-sdk.
Related Issues (20)
- Behaviour of `terraform providers schema` command for computed fields HOT 4
- `diff.GetOk` return `nil` for the value of `TypeList` defined in `TypeSet` HOT 1
- Not Helpful Err When Running Tests For Provider HOT 4
- Unsupported Field Type for Resource
- TypeSet resource wanting to destroy and recreate everything when diff is found HOT 2
- losing precision when using maximum value for a 64-bit signed integer
- helper/schema: Provide Functionality to Reduce Resident Memory Usage from Schemas HOT 1
- Consider Method for Disabling Legacy SDK Data Consistency Warning Log Demotion HOT 7
- Updates for Protocol Version 5.4 HOT 1
- Value out of range on 32-bit architecture HOT 3
- Update Go Module to Go 1.20 Minimum HOT 1
- `Schema.Set` adds an empty value when attempting to Patch HOT 1
- `meta.SDKVersion` reporting incorrect version HOT 6
- Terraform CloudFormation Multi Region Stacksets HOT 3
- Is it possible to have a dependency between 2 attributes? HOT 2
- `schema.ResourceData.GetRaw<whatever>()` not populated during provider configuration HOT 3
- Consider Migrating from mitchellh/mapstructure to go-viper/mapstructure
- Low performance in deduplicate strings function HOT 4
- ForceNew doesn't trigger resource recreation when defined on TypeSet, which leads to Update error HOT 1
- helper/resource: Add Go Deprecation Messages That Point To terraform-plugin-testing
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terraform-plugin-sdk.