Allows for performing many configuration changes in-line in a rolling manner, mutating existing containers.It is the fastest way of updating a plan, but may fail for more complex plan changes (eg topology changes) and is less safe for eg configuration changes that can leave a cluster in a non-running state. Note that rolling (with 'group_by' set to '__all__') is required when performing a major version upgrade
- Whether we allow changing the capacity of instances (default false). This is currently implemented by stopping, re-creating then starting the affected instance on its associated allocator when performing the changes. NOTES: This requires a round-trip through the allocation infrastructure of the active constructor, as it has to reserve the target capacity without over-committing
- Specifies the grouping attribute to use when rolling several instances. Instances that share the same value for the provided attribute key are rolled together as a unit. Examples that make sense to use are '__all__' (roll all instances as a single unit), 'logical_zone_name' (roll instances by zone), '__name__' (roll one instance at a time, the default if not specified). Note that '__all__' is required when performing a major version upgrade
- This flag is solely for recovering for situations where either the cluster is unresponsive or valid plans are failing, due to previous failed plan attempts. If enabled (default: false), this will 1) bypass all steps in the plan that require the cluster to be up, 2) mutate all instances - running or not - to one of the configurations specified in the new plan, 3) default 'group_by' to '__all__' (so all changes will occur at once). The combination of these 3 allows for something like manually editing the cluster configuration, while retaining as many of the safety checks as possible.
- If 'hard_reset' is set to true, then this parameter can be used to exclude instances from the forced mutation part of the reset.
- Whether to skip attempting to do a synced flush on the filesystem of the container (default: false), which is less safe but may be required if the container is unhealthy