public FixedOrPercent DisruptionBudget { get; set; }
The maximum number (or percentage) of VMs per zone to disrupt at any given
moment. The number of VMs calculated from multiplying the percentage by the
total number of VMs in a zone is rounded up.
During patching, a VM is considered disrupted from the time the agent is
notified to begin until patching has completed. This disruption time
includes the time to complete reboot and any post-patch steps.
A VM contributes to the disruption budget if its patching operation fails
either when applying the patches, running pre or post patch steps, or if it
fails to respond with a success notification before timing out. VMs that
are not running or do not have an active agent do not count toward this
disruption budget.
For zone-by-zone rollouts, if the disruption budget in a zone is exceeded,
the patch job stops, because continuing to the next zone requires
completion of the patch process in the previous zone.
For example, if the disruption budget has a fixed value of 10, and 8 VMs
fail to patch in the current zone, the patch job continues to patch 2 VMs
at a time until the zone is completed. When that zone is completed
successfully, patching begins with 10 VMs at a time in the next zone. If 10
VMs in the next zone fail to patch, the patch job stops.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-12 UTC."],[[["\u003cp\u003eThis webpage provides documentation for the \u003ccode\u003ePatchRollout\u003c/code\u003e class within the Google Cloud OS Config V1 library, specifically version 1.4.0, and includes links to other versions, including the latest version 2.4.0.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ePatchRollout\u003c/code\u003e class is used to configure how patches are rolled out to virtual machines (VMs), including details on concurrency control and targeted VMs.\u003c/p\u003e\n"],["\u003cp\u003eThe class inherits from \u003ccode\u003eObject\u003c/code\u003e and implements multiple interfaces such as \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, enabling it to support the patching process.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of the \u003ccode\u003ePatchRollout\u003c/code\u003e class include \u003ccode\u003eDisruptionBudget\u003c/code\u003e, which controls the number or percentage of VMs that can be disrupted during patching, and \u003ccode\u003eMode\u003c/code\u003e, which specifies the patch rollout mode.\u003c/p\u003e\n"],["\u003cp\u003eThere are two constructors available for \u003ccode\u003ePatchRollout\u003c/code\u003e: one is the standard empty constructor, and the other is a copy constructor, enabling creating a copy of a \u003ccode\u003ePatchRollout\u003c/code\u003e object.\u003c/p\u003e\n"]]],[],null,[]]