Share via


RollingUpgradePolicy Class

Definition

The configuration parameters used while performing a rolling upgrade.

public class RollingUpgradePolicy : System.ClientModel.Primitives.IJsonModel<Azure.ResourceManager.Compute.Models.RollingUpgradePolicy>, System.ClientModel.Primitives.IPersistableModel<Azure.ResourceManager.Compute.Models.RollingUpgradePolicy>
type RollingUpgradePolicy = class
    interface IJsonModel<RollingUpgradePolicy>
    interface IPersistableModel<RollingUpgradePolicy>
Public Class RollingUpgradePolicy
Implements IJsonModel(Of RollingUpgradePolicy), IPersistableModel(Of RollingUpgradePolicy)
Inheritance
RollingUpgradePolicy
Implements

Constructors

RollingUpgradePolicy()

Initializes a new instance of RollingUpgradePolicy.

Properties

EnableCrossZoneUpgrade

Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size.

IsMaxSurgeEnabled

Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch.

MaxBatchInstancePercent

The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%.

MaxUnhealthyInstancePercent

The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%.

MaxUnhealthyUpgradedInstancePercent

The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%.

PauseTimeBetweenBatches

The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S).

PrioritizeUnhealthyInstances

Upgrade all unhealthy instances in a scale set before any healthy instances.

RollbackFailedInstancesOnPolicyBreach

Rollback failed instances to previous model if the Rolling Upgrade policy is violated.

Methods

JsonModelWriteCore(Utf8JsonWriter, ModelReaderWriterOptions)

Explicit Interface Implementations

IJsonModel<RollingUpgradePolicy>.Create(Utf8JsonReader, ModelReaderWriterOptions)

Reads one JSON value (including objects or arrays) from the provided reader and converts it to a model.

IJsonModel<RollingUpgradePolicy>.Write(Utf8JsonWriter, ModelReaderWriterOptions)

Writes the model to the provided Utf8JsonWriter.

IPersistableModel<RollingUpgradePolicy>.Create(BinaryData, ModelReaderWriterOptions)

Converts the provided BinaryData into a model.

IPersistableModel<RollingUpgradePolicy>.GetFormatFromOptions(ModelReaderWriterOptions)

Gets the data interchange format (JSON, Xml, etc) that the model uses when communicating with the service.

IPersistableModel<RollingUpgradePolicy>.Write(ModelReaderWriterOptions)

Writes the model into a BinaryData.

Applies to