Class PatchJobs.PatchRollout

  • All Implemented Interfaces:
    PatchJobs.PatchRolloutOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable
    Enclosing class:
    PatchJobs

    public static final class PatchJobs.PatchRollout
    extends com.google.protobuf.GeneratedMessageV3
    implements PatchJobs.PatchRolloutOrBuilder
     Patch rollout configuration specifications. Contains details on the
     concurrency control when applying patch(es) to all targeted VMs.
     
    Protobuf type google.cloud.osconfig.v1.PatchRollout
    See Also:
    Serialized Form
    • Field Detail

      • DISRUPTION_BUDGET_FIELD_NUMBER

        public static final int DISRUPTION_BUDGET_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getModeValue

        public int getModeValue()
         Mode of the patch rollout.
         
        .google.cloud.osconfig.v1.PatchRollout.Mode mode = 1;
        Specified by:
        getModeValue in interface PatchJobs.PatchRolloutOrBuilder
        Returns:
        The enum numeric value on the wire for mode.
      • hasDisruptionBudget

        public boolean hasDisruptionBudget()
         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.
         
        .google.cloud.osconfig.v1.FixedOrPercent disruption_budget = 2;
        Specified by:
        hasDisruptionBudget in interface PatchJobs.PatchRolloutOrBuilder
        Returns:
        Whether the disruptionBudget field is set.
      • getDisruptionBudget

        public Common.FixedOrPercent getDisruptionBudget()
         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.
         
        .google.cloud.osconfig.v1.FixedOrPercent disruption_budget = 2;
        Specified by:
        getDisruptionBudget in interface PatchJobs.PatchRolloutOrBuilder
        Returns:
        The disruptionBudget.
      • getDisruptionBudgetOrBuilder

        public Common.FixedOrPercentOrBuilder getDisruptionBudgetOrBuilder()
         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.
         
        .google.cloud.osconfig.v1.FixedOrPercent disruption_budget = 2;
        Specified by:
        getDisruptionBudgetOrBuilder in interface PatchJobs.PatchRolloutOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static PatchJobs.PatchRollout parseFrom​(ByteBuffer data)
                                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static PatchJobs.PatchRollout parseFrom​(ByteBuffer data,
                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static PatchJobs.PatchRollout parseFrom​(com.google.protobuf.ByteString data)
                                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static PatchJobs.PatchRollout parseFrom​(com.google.protobuf.ByteString data,
                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static PatchJobs.PatchRollout parseFrom​(byte[] data)
                                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static PatchJobs.PatchRollout parseFrom​(byte[] data,
                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • newBuilderForType

        public PatchJobs.PatchRollout.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public PatchJobs.PatchRollout.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected PatchJobs.PatchRollout.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<PatchJobs.PatchRollout> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public PatchJobs.PatchRollout getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder