/*
 * Copyright 2020 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/compute/v1/compute.proto

package com.google.cloud.compute.v1;

/**
 *
 *
 * <pre>
 * </pre>
 *
 * Protobuf type {@code google.cloud.compute.v1.InstanceGroupManagerActionsSummary}
 */
public final class InstanceGroupManagerActionsSummary extends com.google.protobuf.GeneratedMessageV3
    implements
    // @@protoc_insertion_point(message_implements:google.cloud.compute.v1.InstanceGroupManagerActionsSummary)
    InstanceGroupManagerActionsSummaryOrBuilder {
  private static final long serialVersionUID = 0L;
  // Use InstanceGroupManagerActionsSummary.newBuilder() to construct.
  private InstanceGroupManagerActionsSummary(
      com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }

  private InstanceGroupManagerActionsSummary() {}

  @java.lang.Override
  @SuppressWarnings({"unused"})
  protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
    return new InstanceGroupManagerActionsSummary();
  }

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
    return this.unknownFields;
  }

  public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
    return com.google.cloud.compute.v1.Compute
        .internal_static_google_cloud_compute_v1_InstanceGroupManagerActionsSummary_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.google.cloud.compute.v1.Compute
        .internal_static_google_cloud_compute_v1_InstanceGroupManagerActionsSummary_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.class,
            com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.Builder.class);
  }

  private int bitField0_;
  public static final int ABANDONING_FIELD_NUMBER = 440023373;
  private int abandoning_ = 0;
  /**
   *
   *
   * <pre>
   * [Output Only] The total number of instances in the managed instance group that are scheduled to be abandoned. Abandoning an instance removes it from the managed instance group without deleting it.
   * </pre>
   *
   * <code>optional int32 abandoning = 440023373;</code>
   *
   * @return Whether the abandoning field is set.
   */
  @java.lang.Override
  public boolean hasAbandoning() {
    return ((bitField0_ & 0x00000001) != 0);
  }
  /**
   *
   *
   * <pre>
   * [Output Only] The total number of instances in the managed instance group that are scheduled to be abandoned. Abandoning an instance removes it from the managed instance group without deleting it.
   * </pre>
   *
   * <code>optional int32 abandoning = 440023373;</code>
   *
   * @return The abandoning.
   */
  @java.lang.Override
  public int getAbandoning() {
    return abandoning_;
  }

  public static final int CREATING_FIELD_NUMBER = 209809081;
  private int creating_ = 0;
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are scheduled to be created or are currently being created. If the group fails to create any of these instances, it tries again until it creates the instance successfully. If you have disabled creation retries, this field will not be populated; instead, the creatingWithoutRetries field will be populated.
   * </pre>
   *
   * <code>optional int32 creating = 209809081;</code>
   *
   * @return Whether the creating field is set.
   */
  @java.lang.Override
  public boolean hasCreating() {
    return ((bitField0_ & 0x00000002) != 0);
  }
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are scheduled to be created or are currently being created. If the group fails to create any of these instances, it tries again until it creates the instance successfully. If you have disabled creation retries, this field will not be populated; instead, the creatingWithoutRetries field will be populated.
   * </pre>
   *
   * <code>optional int32 creating = 209809081;</code>
   *
   * @return The creating.
   */
  @java.lang.Override
  public int getCreating() {
    return creating_;
  }

  public static final int CREATING_WITHOUT_RETRIES_FIELD_NUMBER = 369916745;
  private int creatingWithoutRetries_ = 0;
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances that the managed instance group will attempt to create. The group attempts to create each instance only once. If the group fails to create any of these instances, it decreases the group's targetSize value accordingly.
   * </pre>
   *
   * <code>optional int32 creating_without_retries = 369916745;</code>
   *
   * @return Whether the creatingWithoutRetries field is set.
   */
  @java.lang.Override
  public boolean hasCreatingWithoutRetries() {
    return ((bitField0_ & 0x00000004) != 0);
  }
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances that the managed instance group will attempt to create. The group attempts to create each instance only once. If the group fails to create any of these instances, it decreases the group's targetSize value accordingly.
   * </pre>
   *
   * <code>optional int32 creating_without_retries = 369916745;</code>
   *
   * @return The creatingWithoutRetries.
   */
  @java.lang.Override
  public int getCreatingWithoutRetries() {
    return creatingWithoutRetries_;
  }

  public static final int DELETING_FIELD_NUMBER = 282846120;
  private int deleting_ = 0;
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are scheduled to be deleted or are currently being deleted.
   * </pre>
   *
   * <code>optional int32 deleting = 282846120;</code>
   *
   * @return Whether the deleting field is set.
   */
  @java.lang.Override
  public boolean hasDeleting() {
    return ((bitField0_ & 0x00000008) != 0);
  }
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are scheduled to be deleted or are currently being deleted.
   * </pre>
   *
   * <code>optional int32 deleting = 282846120;</code>
   *
   * @return The deleting.
   */
  @java.lang.Override
  public int getDeleting() {
    return deleting_;
  }

  public static final int NONE_FIELD_NUMBER = 3387192;
  private int none_ = 0;
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are running and have no scheduled actions.
   * </pre>
   *
   * <code>optional int32 none = 3387192;</code>
   *
   * @return Whether the none field is set.
   */
  @java.lang.Override
  public boolean hasNone() {
    return ((bitField0_ & 0x00000010) != 0);
  }
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are running and have no scheduled actions.
   * </pre>
   *
   * <code>optional int32 none = 3387192;</code>
   *
   * @return The none.
   */
  @java.lang.Override
  public int getNone() {
    return none_;
  }

  public static final int RECREATING_FIELD_NUMBER = 339057132;
  private int recreating_ = 0;
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are scheduled to be recreated or are currently being being recreated. Recreating an instance deletes the existing root persistent disk and creates a new disk from the image that is defined in the instance template.
   * </pre>
   *
   * <code>optional int32 recreating = 339057132;</code>
   *
   * @return Whether the recreating field is set.
   */
  @java.lang.Override
  public boolean hasRecreating() {
    return ((bitField0_ & 0x00000020) != 0);
  }
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are scheduled to be recreated or are currently being being recreated. Recreating an instance deletes the existing root persistent disk and creates a new disk from the image that is defined in the instance template.
   * </pre>
   *
   * <code>optional int32 recreating = 339057132;</code>
   *
   * @return The recreating.
   */
  @java.lang.Override
  public int getRecreating() {
    return recreating_;
  }

  public static final int REFRESHING_FIELD_NUMBER = 215044903;
  private int refreshing_ = 0;
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are being reconfigured with properties that do not require a restart or a recreate action. For example, setting or removing target pools for the instance.
   * </pre>
   *
   * <code>optional int32 refreshing = 215044903;</code>
   *
   * @return Whether the refreshing field is set.
   */
  @java.lang.Override
  public boolean hasRefreshing() {
    return ((bitField0_ & 0x00000040) != 0);
  }
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are being reconfigured with properties that do not require a restart or a recreate action. For example, setting or removing target pools for the instance.
   * </pre>
   *
   * <code>optional int32 refreshing = 215044903;</code>
   *
   * @return The refreshing.
   */
  @java.lang.Override
  public int getRefreshing() {
    return refreshing_;
  }

  public static final int RESTARTING_FIELD_NUMBER = 372312947;
  private int restarting_ = 0;
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are scheduled to be restarted or are currently being restarted.
   * </pre>
   *
   * <code>optional int32 restarting = 372312947;</code>
   *
   * @return Whether the restarting field is set.
   */
  @java.lang.Override
  public boolean hasRestarting() {
    return ((bitField0_ & 0x00000080) != 0);
  }
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are scheduled to be restarted or are currently being restarted.
   * </pre>
   *
   * <code>optional int32 restarting = 372312947;</code>
   *
   * @return The restarting.
   */
  @java.lang.Override
  public int getRestarting() {
    return restarting_;
  }

  public static final int RESUMING_FIELD_NUMBER = 201100714;
  private int resuming_ = 0;
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are scheduled to be resumed or are currently being resumed.
   * </pre>
   *
   * <code>optional int32 resuming = 201100714;</code>
   *
   * @return Whether the resuming field is set.
   */
  @java.lang.Override
  public boolean hasResuming() {
    return ((bitField0_ & 0x00000100) != 0);
  }
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are scheduled to be resumed or are currently being resumed.
   * </pre>
   *
   * <code>optional int32 resuming = 201100714;</code>
   *
   * @return The resuming.
   */
  @java.lang.Override
  public int getResuming() {
    return resuming_;
  }

  public static final int STARTING_FIELD_NUMBER = 243064896;
  private int starting_ = 0;
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are scheduled to be started or are currently being started.
   * </pre>
   *
   * <code>optional int32 starting = 243064896;</code>
   *
   * @return Whether the starting field is set.
   */
  @java.lang.Override
  public boolean hasStarting() {
    return ((bitField0_ & 0x00000200) != 0);
  }
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are scheduled to be started or are currently being started.
   * </pre>
   *
   * <code>optional int32 starting = 243064896;</code>
   *
   * @return The starting.
   */
  @java.lang.Override
  public int getStarting() {
    return starting_;
  }

  public static final int STOPPING_FIELD_NUMBER = 105035892;
  private int stopping_ = 0;
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are scheduled to be stopped or are currently being stopped.
   * </pre>
   *
   * <code>optional int32 stopping = 105035892;</code>
   *
   * @return Whether the stopping field is set.
   */
  @java.lang.Override
  public boolean hasStopping() {
    return ((bitField0_ & 0x00000400) != 0);
  }
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are scheduled to be stopped or are currently being stopped.
   * </pre>
   *
   * <code>optional int32 stopping = 105035892;</code>
   *
   * @return The stopping.
   */
  @java.lang.Override
  public int getStopping() {
    return stopping_;
  }

  public static final int SUSPENDING_FIELD_NUMBER = 29113894;
  private int suspending_ = 0;
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are scheduled to be suspended or are currently being suspended.
   * </pre>
   *
   * <code>optional int32 suspending = 29113894;</code>
   *
   * @return Whether the suspending field is set.
   */
  @java.lang.Override
  public boolean hasSuspending() {
    return ((bitField0_ & 0x00000800) != 0);
  }
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are scheduled to be suspended or are currently being suspended.
   * </pre>
   *
   * <code>optional int32 suspending = 29113894;</code>
   *
   * @return The suspending.
   */
  @java.lang.Override
  public int getSuspending() {
    return suspending_;
  }

  public static final int VERIFYING_FIELD_NUMBER = 451612873;
  private int verifying_ = 0;
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are being verified. See the managedInstances[].currentAction property in the listManagedInstances method documentation.
   * </pre>
   *
   * <code>optional int32 verifying = 451612873;</code>
   *
   * @return Whether the verifying field is set.
   */
  @java.lang.Override
  public boolean hasVerifying() {
    return ((bitField0_ & 0x00001000) != 0);
  }
  /**
   *
   *
   * <pre>
   * [Output Only] The number of instances in the managed instance group that are being verified. See the managedInstances[].currentAction property in the listManagedInstances method documentation.
   * </pre>
   *
   * <code>optional int32 verifying = 451612873;</code>
   *
   * @return The verifying.
   */
  @java.lang.Override
  public int getVerifying() {
    return verifying_;
  }

  private byte memoizedIsInitialized = -1;

  @java.lang.Override
  public final boolean isInitialized() {
    byte isInitialized = memoizedIsInitialized;
    if (isInitialized == 1) return true;
    if (isInitialized == 0) return false;

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
    if (((bitField0_ & 0x00000010) != 0)) {
      output.writeInt32(3387192, none_);
    }
    if (((bitField0_ & 0x00000800) != 0)) {
      output.writeInt32(29113894, suspending_);
    }
    if (((bitField0_ & 0x00000400) != 0)) {
      output.writeInt32(105035892, stopping_);
    }
    if (((bitField0_ & 0x00000100) != 0)) {
      output.writeInt32(201100714, resuming_);
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      output.writeInt32(209809081, creating_);
    }
    if (((bitField0_ & 0x00000040) != 0)) {
      output.writeInt32(215044903, refreshing_);
    }
    if (((bitField0_ & 0x00000200) != 0)) {
      output.writeInt32(243064896, starting_);
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      output.writeInt32(282846120, deleting_);
    }
    if (((bitField0_ & 0x00000020) != 0)) {
      output.writeInt32(339057132, recreating_);
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      output.writeInt32(369916745, creatingWithoutRetries_);
    }
    if (((bitField0_ & 0x00000080) != 0)) {
      output.writeInt32(372312947, restarting_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      output.writeInt32(440023373, abandoning_);
    }
    if (((bitField0_ & 0x00001000) != 0)) {
      output.writeInt32(451612873, verifying_);
    }
    getUnknownFields().writeTo(output);
  }

  @java.lang.Override
  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    if (((bitField0_ & 0x00000010) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeInt32Size(3387192, none_);
    }
    if (((bitField0_ & 0x00000800) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeInt32Size(29113894, suspending_);
    }
    if (((bitField0_ & 0x00000400) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeInt32Size(105035892, stopping_);
    }
    if (((bitField0_ & 0x00000100) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeInt32Size(201100714, resuming_);
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeInt32Size(209809081, creating_);
    }
    if (((bitField0_ & 0x00000040) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeInt32Size(215044903, refreshing_);
    }
    if (((bitField0_ & 0x00000200) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeInt32Size(243064896, starting_);
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeInt32Size(282846120, deleting_);
    }
    if (((bitField0_ & 0x00000020) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeInt32Size(339057132, recreating_);
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      size +=
          com.google.protobuf.CodedOutputStream.computeInt32Size(
              369916745, creatingWithoutRetries_);
    }
    if (((bitField0_ & 0x00000080) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeInt32Size(372312947, restarting_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeInt32Size(440023373, abandoning_);
    }
    if (((bitField0_ & 0x00001000) != 0)) {
      size += com.google.protobuf.CodedOutputStream.computeInt32Size(451612873, verifying_);
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
      return true;
    }
    if (!(obj instanceof com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary)) {
      return super.equals(obj);
    }
    com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary other =
        (com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary) obj;

    if (hasAbandoning() != other.hasAbandoning()) return false;
    if (hasAbandoning()) {
      if (getAbandoning() != other.getAbandoning()) return false;
    }
    if (hasCreating() != other.hasCreating()) return false;
    if (hasCreating()) {
      if (getCreating() != other.getCreating()) return false;
    }
    if (hasCreatingWithoutRetries() != other.hasCreatingWithoutRetries()) return false;
    if (hasCreatingWithoutRetries()) {
      if (getCreatingWithoutRetries() != other.getCreatingWithoutRetries()) return false;
    }
    if (hasDeleting() != other.hasDeleting()) return false;
    if (hasDeleting()) {
      if (getDeleting() != other.getDeleting()) return false;
    }
    if (hasNone() != other.hasNone()) return false;
    if (hasNone()) {
      if (getNone() != other.getNone()) return false;
    }
    if (hasRecreating() != other.hasRecreating()) return false;
    if (hasRecreating()) {
      if (getRecreating() != other.getRecreating()) return false;
    }
    if (hasRefreshing() != other.hasRefreshing()) return false;
    if (hasRefreshing()) {
      if (getRefreshing() != other.getRefreshing()) return false;
    }
    if (hasRestarting() != other.hasRestarting()) return false;
    if (hasRestarting()) {
      if (getRestarting() != other.getRestarting()) return false;
    }
    if (hasResuming() != other.hasResuming()) return false;
    if (hasResuming()) {
      if (getResuming() != other.getResuming()) return false;
    }
    if (hasStarting() != other.hasStarting()) return false;
    if (hasStarting()) {
      if (getStarting() != other.getStarting()) return false;
    }
    if (hasStopping() != other.hasStopping()) return false;
    if (hasStopping()) {
      if (getStopping() != other.getStopping()) return false;
    }
    if (hasSuspending() != other.hasSuspending()) return false;
    if (hasSuspending()) {
      if (getSuspending() != other.getSuspending()) return false;
    }
    if (hasVerifying() != other.hasVerifying()) return false;
    if (hasVerifying()) {
      if (getVerifying() != other.getVerifying()) return false;
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    if (hasAbandoning()) {
      hash = (37 * hash) + ABANDONING_FIELD_NUMBER;
      hash = (53 * hash) + getAbandoning();
    }
    if (hasCreating()) {
      hash = (37 * hash) + CREATING_FIELD_NUMBER;
      hash = (53 * hash) + getCreating();
    }
    if (hasCreatingWithoutRetries()) {
      hash = (37 * hash) + CREATING_WITHOUT_RETRIES_FIELD_NUMBER;
      hash = (53 * hash) + getCreatingWithoutRetries();
    }
    if (hasDeleting()) {
      hash = (37 * hash) + DELETING_FIELD_NUMBER;
      hash = (53 * hash) + getDeleting();
    }
    if (hasNone()) {
      hash = (37 * hash) + NONE_FIELD_NUMBER;
      hash = (53 * hash) + getNone();
    }
    if (hasRecreating()) {
      hash = (37 * hash) + RECREATING_FIELD_NUMBER;
      hash = (53 * hash) + getRecreating();
    }
    if (hasRefreshing()) {
      hash = (37 * hash) + REFRESHING_FIELD_NUMBER;
      hash = (53 * hash) + getRefreshing();
    }
    if (hasRestarting()) {
      hash = (37 * hash) + RESTARTING_FIELD_NUMBER;
      hash = (53 * hash) + getRestarting();
    }
    if (hasResuming()) {
      hash = (37 * hash) + RESUMING_FIELD_NUMBER;
      hash = (53 * hash) + getResuming();
    }
    if (hasStarting()) {
      hash = (37 * hash) + STARTING_FIELD_NUMBER;
      hash = (53 * hash) + getStarting();
    }
    if (hasStopping()) {
      hash = (37 * hash) + STOPPING_FIELD_NUMBER;
      hash = (53 * hash) + getStopping();
    }
    if (hasSuspending()) {
      hash = (37 * hash) + SUSPENDING_FIELD_NUMBER;
      hash = (53 * hash) + getSuspending();
    }
    if (hasVerifying()) {
      hash = (37 * hash) + VERIFYING_FIELD_NUMBER;
      hash = (53 * hash) + getVerifying();
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary parseFrom(
      java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary parseFrom(
      java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary parseFrom(
      byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary parseFrom(
      byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }

  public static com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary parseFrom(
      java.io.InputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
  }

  public static com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary parseFrom(
      java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
        PARSER, input, extensionRegistry);
  }

  public static com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary parseDelimitedFrom(
      java.io.InputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
  }

  public static com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary parseDelimitedFrom(
      java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
        PARSER, input, extensionRegistry);
  }

  public static com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary parseFrom(
      com.google.protobuf.CodedInputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
  }

  public static com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
        PARSER, input, extensionRegistry);
  }

  @java.lang.Override
  public Builder newBuilderForType() {
    return newBuilder();
  }

  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }

  public static Builder newBuilder(
      com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }

  @java.lang.Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   *
   *
   * <pre>
   * </pre>
   *
   * Protobuf type {@code google.cloud.compute.v1.InstanceGroupManagerActionsSummary}
   */
  public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
      implements
      // @@protoc_insertion_point(builder_implements:google.cloud.compute.v1.InstanceGroupManagerActionsSummary)
      com.google.cloud.compute.v1.InstanceGroupManagerActionsSummaryOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
      return com.google.cloud.compute.v1.Compute
          .internal_static_google_cloud_compute_v1_InstanceGroupManagerActionsSummary_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.google.cloud.compute.v1.Compute
          .internal_static_google_cloud_compute_v1_InstanceGroupManagerActionsSummary_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.class,
              com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.Builder.class);
    }

    // Construct using com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.newBuilder()
    private Builder() {}

    private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);
    }

    @java.lang.Override
    public Builder clear() {
      super.clear();
      bitField0_ = 0;
      abandoning_ = 0;
      creating_ = 0;
      creatingWithoutRetries_ = 0;
      deleting_ = 0;
      none_ = 0;
      recreating_ = 0;
      refreshing_ = 0;
      restarting_ = 0;
      resuming_ = 0;
      starting_ = 0;
      stopping_ = 0;
      suspending_ = 0;
      verifying_ = 0;
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
      return com.google.cloud.compute.v1.Compute
          .internal_static_google_cloud_compute_v1_InstanceGroupManagerActionsSummary_descriptor;
    }

    @java.lang.Override
    public com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary
        getDefaultInstanceForType() {
      return com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.getDefaultInstance();
    }

    @java.lang.Override
    public com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary build() {
      com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary buildPartial() {
      com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary result =
          new com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary(this);
      if (bitField0_ != 0) {
        buildPartial0(result);
      }
      onBuilt();
      return result;
    }

    private void buildPartial0(
        com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary result) {
      int from_bitField0_ = bitField0_;
      int to_bitField0_ = 0;
      if (((from_bitField0_ & 0x00000001) != 0)) {
        result.abandoning_ = abandoning_;
        to_bitField0_ |= 0x00000001;
      }
      if (((from_bitField0_ & 0x00000002) != 0)) {
        result.creating_ = creating_;
        to_bitField0_ |= 0x00000002;
      }
      if (((from_bitField0_ & 0x00000004) != 0)) {
        result.creatingWithoutRetries_ = creatingWithoutRetries_;
        to_bitField0_ |= 0x00000004;
      }
      if (((from_bitField0_ & 0x00000008) != 0)) {
        result.deleting_ = deleting_;
        to_bitField0_ |= 0x00000008;
      }
      if (((from_bitField0_ & 0x00000010) != 0)) {
        result.none_ = none_;
        to_bitField0_ |= 0x00000010;
      }
      if (((from_bitField0_ & 0x00000020) != 0)) {
        result.recreating_ = recreating_;
        to_bitField0_ |= 0x00000020;
      }
      if (((from_bitField0_ & 0x00000040) != 0)) {
        result.refreshing_ = refreshing_;
        to_bitField0_ |= 0x00000040;
      }
      if (((from_bitField0_ & 0x00000080) != 0)) {
        result.restarting_ = restarting_;
        to_bitField0_ |= 0x00000080;
      }
      if (((from_bitField0_ & 0x00000100) != 0)) {
        result.resuming_ = resuming_;
        to_bitField0_ |= 0x00000100;
      }
      if (((from_bitField0_ & 0x00000200) != 0)) {
        result.starting_ = starting_;
        to_bitField0_ |= 0x00000200;
      }
      if (((from_bitField0_ & 0x00000400) != 0)) {
        result.stopping_ = stopping_;
        to_bitField0_ |= 0x00000400;
      }
      if (((from_bitField0_ & 0x00000800) != 0)) {
        result.suspending_ = suspending_;
        to_bitField0_ |= 0x00000800;
      }
      if (((from_bitField0_ & 0x00001000) != 0)) {
        result.verifying_ = verifying_;
        to_bitField0_ |= 0x00001000;
      }
      result.bitField0_ |= to_bitField0_;
    }

    @java.lang.Override
    public Builder clone() {
      return super.clone();
    }

    @java.lang.Override
    public Builder setField(
        com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
      return super.setField(field, value);
    }

    @java.lang.Override
    public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
      return super.clearField(field);
    }

    @java.lang.Override
    public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
      return super.clearOneof(oneof);
    }

    @java.lang.Override
    public Builder setRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
      return super.setRepeatedField(field, index, value);
    }

    @java.lang.Override
    public Builder addRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
      return super.addRepeatedField(field, value);
    }

    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary) {
        return mergeFrom((com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary) other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary other) {
      if (other
          == com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary.getDefaultInstance())
        return this;
      if (other.hasAbandoning()) {
        setAbandoning(other.getAbandoning());
      }
      if (other.hasCreating()) {
        setCreating(other.getCreating());
      }
      if (other.hasCreatingWithoutRetries()) {
        setCreatingWithoutRetries(other.getCreatingWithoutRetries());
      }
      if (other.hasDeleting()) {
        setDeleting(other.getDeleting());
      }
      if (other.hasNone()) {
        setNone(other.getNone());
      }
      if (other.hasRecreating()) {
        setRecreating(other.getRecreating());
      }
      if (other.hasRefreshing()) {
        setRefreshing(other.getRefreshing());
      }
      if (other.hasRestarting()) {
        setRestarting(other.getRestarting());
      }
      if (other.hasResuming()) {
        setResuming(other.getResuming());
      }
      if (other.hasStarting()) {
        setStarting(other.getStarting());
      }
      if (other.hasStopping()) {
        setStopping(other.getStopping());
      }
      if (other.hasSuspending()) {
        setSuspending(other.getSuspending());
      }
      if (other.hasVerifying()) {
        setVerifying(other.getVerifying());
      }
      this.mergeUnknownFields(other.getUnknownFields());
      onChanged();
      return this;
    }

    @java.lang.Override
    public final boolean isInitialized() {
      return true;
    }

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 27097536:
              {
                none_ = input.readInt32();
                bitField0_ |= 0x00000010;
                break;
              } // case 27097536
            case 232911152:
              {
                suspending_ = input.readInt32();
                bitField0_ |= 0x00000800;
                break;
              } // case 232911152
            case 840287136:
              {
                stopping_ = input.readInt32();
                bitField0_ |= 0x00000400;
                break;
              } // case 840287136
            case 1608805712:
              {
                resuming_ = input.readInt32();
                bitField0_ |= 0x00000100;
                break;
              } // case 1608805712
            case 1678472648:
              {
                creating_ = input.readInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 1678472648
            case 1720359224:
              {
                refreshing_ = input.readInt32();
                bitField0_ |= 0x00000040;
                break;
              } // case 1720359224
            case 1944519168:
              {
                starting_ = input.readInt32();
                bitField0_ |= 0x00000200;
                break;
              } // case 1944519168
            case -2032198336:
              {
                deleting_ = input.readInt32();
                bitField0_ |= 0x00000008;
                break;
              } // case -2032198336
            case -1582510240:
              {
                recreating_ = input.readInt32();
                bitField0_ |= 0x00000020;
                break;
              } // case -1582510240
            case -1335633336:
              {
                creatingWithoutRetries_ = input.readInt32();
                bitField0_ |= 0x00000004;
                break;
              } // case -1335633336
            case -1316463720:
              {
                restarting_ = input.readInt32();
                bitField0_ |= 0x00000080;
                break;
              } // case -1316463720
            case -774780312:
              {
                abandoning_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case -774780312
            case -682064312:
              {
                verifying_ = input.readInt32();
                bitField0_ |= 0x00001000;
                break;
              } // case -682064312
            default:
              {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
          } // switch (tag)
        } // while (!done)
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.unwrapIOException();
      } finally {
        onChanged();
      } // finally
      return this;
    }

    private int bitField0_;

    private int abandoning_;
    /**
     *
     *
     * <pre>
     * [Output Only] The total number of instances in the managed instance group that are scheduled to be abandoned. Abandoning an instance removes it from the managed instance group without deleting it.
     * </pre>
     *
     * <code>optional int32 abandoning = 440023373;</code>
     *
     * @return Whether the abandoning field is set.
     */
    @java.lang.Override
    public boolean hasAbandoning() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The total number of instances in the managed instance group that are scheduled to be abandoned. Abandoning an instance removes it from the managed instance group without deleting it.
     * </pre>
     *
     * <code>optional int32 abandoning = 440023373;</code>
     *
     * @return The abandoning.
     */
    @java.lang.Override
    public int getAbandoning() {
      return abandoning_;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The total number of instances in the managed instance group that are scheduled to be abandoned. Abandoning an instance removes it from the managed instance group without deleting it.
     * </pre>
     *
     * <code>optional int32 abandoning = 440023373;</code>
     *
     * @param value The abandoning to set.
     * @return This builder for chaining.
     */
    public Builder setAbandoning(int value) {

      abandoning_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The total number of instances in the managed instance group that are scheduled to be abandoned. Abandoning an instance removes it from the managed instance group without deleting it.
     * </pre>
     *
     * <code>optional int32 abandoning = 440023373;</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearAbandoning() {
      bitField0_ = (bitField0_ & ~0x00000001);
      abandoning_ = 0;
      onChanged();
      return this;
    }

    private int creating_;
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be created or are currently being created. If the group fails to create any of these instances, it tries again until it creates the instance successfully. If you have disabled creation retries, this field will not be populated; instead, the creatingWithoutRetries field will be populated.
     * </pre>
     *
     * <code>optional int32 creating = 209809081;</code>
     *
     * @return Whether the creating field is set.
     */
    @java.lang.Override
    public boolean hasCreating() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be created or are currently being created. If the group fails to create any of these instances, it tries again until it creates the instance successfully. If you have disabled creation retries, this field will not be populated; instead, the creatingWithoutRetries field will be populated.
     * </pre>
     *
     * <code>optional int32 creating = 209809081;</code>
     *
     * @return The creating.
     */
    @java.lang.Override
    public int getCreating() {
      return creating_;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be created or are currently being created. If the group fails to create any of these instances, it tries again until it creates the instance successfully. If you have disabled creation retries, this field will not be populated; instead, the creatingWithoutRetries field will be populated.
     * </pre>
     *
     * <code>optional int32 creating = 209809081;</code>
     *
     * @param value The creating to set.
     * @return This builder for chaining.
     */
    public Builder setCreating(int value) {

      creating_ = value;
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be created or are currently being created. If the group fails to create any of these instances, it tries again until it creates the instance successfully. If you have disabled creation retries, this field will not be populated; instead, the creatingWithoutRetries field will be populated.
     * </pre>
     *
     * <code>optional int32 creating = 209809081;</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearCreating() {
      bitField0_ = (bitField0_ & ~0x00000002);
      creating_ = 0;
      onChanged();
      return this;
    }

    private int creatingWithoutRetries_;
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances that the managed instance group will attempt to create. The group attempts to create each instance only once. If the group fails to create any of these instances, it decreases the group's targetSize value accordingly.
     * </pre>
     *
     * <code>optional int32 creating_without_retries = 369916745;</code>
     *
     * @return Whether the creatingWithoutRetries field is set.
     */
    @java.lang.Override
    public boolean hasCreatingWithoutRetries() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances that the managed instance group will attempt to create. The group attempts to create each instance only once. If the group fails to create any of these instances, it decreases the group's targetSize value accordingly.
     * </pre>
     *
     * <code>optional int32 creating_without_retries = 369916745;</code>
     *
     * @return The creatingWithoutRetries.
     */
    @java.lang.Override
    public int getCreatingWithoutRetries() {
      return creatingWithoutRetries_;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances that the managed instance group will attempt to create. The group attempts to create each instance only once. If the group fails to create any of these instances, it decreases the group's targetSize value accordingly.
     * </pre>
     *
     * <code>optional int32 creating_without_retries = 369916745;</code>
     *
     * @param value The creatingWithoutRetries to set.
     * @return This builder for chaining.
     */
    public Builder setCreatingWithoutRetries(int value) {

      creatingWithoutRetries_ = value;
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances that the managed instance group will attempt to create. The group attempts to create each instance only once. If the group fails to create any of these instances, it decreases the group's targetSize value accordingly.
     * </pre>
     *
     * <code>optional int32 creating_without_retries = 369916745;</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearCreatingWithoutRetries() {
      bitField0_ = (bitField0_ & ~0x00000004);
      creatingWithoutRetries_ = 0;
      onChanged();
      return this;
    }

    private int deleting_;
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be deleted or are currently being deleted.
     * </pre>
     *
     * <code>optional int32 deleting = 282846120;</code>
     *
     * @return Whether the deleting field is set.
     */
    @java.lang.Override
    public boolean hasDeleting() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be deleted or are currently being deleted.
     * </pre>
     *
     * <code>optional int32 deleting = 282846120;</code>
     *
     * @return The deleting.
     */
    @java.lang.Override
    public int getDeleting() {
      return deleting_;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be deleted or are currently being deleted.
     * </pre>
     *
     * <code>optional int32 deleting = 282846120;</code>
     *
     * @param value The deleting to set.
     * @return This builder for chaining.
     */
    public Builder setDeleting(int value) {

      deleting_ = value;
      bitField0_ |= 0x00000008;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be deleted or are currently being deleted.
     * </pre>
     *
     * <code>optional int32 deleting = 282846120;</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearDeleting() {
      bitField0_ = (bitField0_ & ~0x00000008);
      deleting_ = 0;
      onChanged();
      return this;
    }

    private int none_;
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are running and have no scheduled actions.
     * </pre>
     *
     * <code>optional int32 none = 3387192;</code>
     *
     * @return Whether the none field is set.
     */
    @java.lang.Override
    public boolean hasNone() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are running and have no scheduled actions.
     * </pre>
     *
     * <code>optional int32 none = 3387192;</code>
     *
     * @return The none.
     */
    @java.lang.Override
    public int getNone() {
      return none_;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are running and have no scheduled actions.
     * </pre>
     *
     * <code>optional int32 none = 3387192;</code>
     *
     * @param value The none to set.
     * @return This builder for chaining.
     */
    public Builder setNone(int value) {

      none_ = value;
      bitField0_ |= 0x00000010;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are running and have no scheduled actions.
     * </pre>
     *
     * <code>optional int32 none = 3387192;</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearNone() {
      bitField0_ = (bitField0_ & ~0x00000010);
      none_ = 0;
      onChanged();
      return this;
    }

    private int recreating_;
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be recreated or are currently being being recreated. Recreating an instance deletes the existing root persistent disk and creates a new disk from the image that is defined in the instance template.
     * </pre>
     *
     * <code>optional int32 recreating = 339057132;</code>
     *
     * @return Whether the recreating field is set.
     */
    @java.lang.Override
    public boolean hasRecreating() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be recreated or are currently being being recreated. Recreating an instance deletes the existing root persistent disk and creates a new disk from the image that is defined in the instance template.
     * </pre>
     *
     * <code>optional int32 recreating = 339057132;</code>
     *
     * @return The recreating.
     */
    @java.lang.Override
    public int getRecreating() {
      return recreating_;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be recreated or are currently being being recreated. Recreating an instance deletes the existing root persistent disk and creates a new disk from the image that is defined in the instance template.
     * </pre>
     *
     * <code>optional int32 recreating = 339057132;</code>
     *
     * @param value The recreating to set.
     * @return This builder for chaining.
     */
    public Builder setRecreating(int value) {

      recreating_ = value;
      bitField0_ |= 0x00000020;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be recreated or are currently being being recreated. Recreating an instance deletes the existing root persistent disk and creates a new disk from the image that is defined in the instance template.
     * </pre>
     *
     * <code>optional int32 recreating = 339057132;</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearRecreating() {
      bitField0_ = (bitField0_ & ~0x00000020);
      recreating_ = 0;
      onChanged();
      return this;
    }

    private int refreshing_;
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are being reconfigured with properties that do not require a restart or a recreate action. For example, setting or removing target pools for the instance.
     * </pre>
     *
     * <code>optional int32 refreshing = 215044903;</code>
     *
     * @return Whether the refreshing field is set.
     */
    @java.lang.Override
    public boolean hasRefreshing() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are being reconfigured with properties that do not require a restart or a recreate action. For example, setting or removing target pools for the instance.
     * </pre>
     *
     * <code>optional int32 refreshing = 215044903;</code>
     *
     * @return The refreshing.
     */
    @java.lang.Override
    public int getRefreshing() {
      return refreshing_;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are being reconfigured with properties that do not require a restart or a recreate action. For example, setting or removing target pools for the instance.
     * </pre>
     *
     * <code>optional int32 refreshing = 215044903;</code>
     *
     * @param value The refreshing to set.
     * @return This builder for chaining.
     */
    public Builder setRefreshing(int value) {

      refreshing_ = value;
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are being reconfigured with properties that do not require a restart or a recreate action. For example, setting or removing target pools for the instance.
     * </pre>
     *
     * <code>optional int32 refreshing = 215044903;</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearRefreshing() {
      bitField0_ = (bitField0_ & ~0x00000040);
      refreshing_ = 0;
      onChanged();
      return this;
    }

    private int restarting_;
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be restarted or are currently being restarted.
     * </pre>
     *
     * <code>optional int32 restarting = 372312947;</code>
     *
     * @return Whether the restarting field is set.
     */
    @java.lang.Override
    public boolean hasRestarting() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be restarted or are currently being restarted.
     * </pre>
     *
     * <code>optional int32 restarting = 372312947;</code>
     *
     * @return The restarting.
     */
    @java.lang.Override
    public int getRestarting() {
      return restarting_;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be restarted or are currently being restarted.
     * </pre>
     *
     * <code>optional int32 restarting = 372312947;</code>
     *
     * @param value The restarting to set.
     * @return This builder for chaining.
     */
    public Builder setRestarting(int value) {

      restarting_ = value;
      bitField0_ |= 0x00000080;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be restarted or are currently being restarted.
     * </pre>
     *
     * <code>optional int32 restarting = 372312947;</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearRestarting() {
      bitField0_ = (bitField0_ & ~0x00000080);
      restarting_ = 0;
      onChanged();
      return this;
    }

    private int resuming_;
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be resumed or are currently being resumed.
     * </pre>
     *
     * <code>optional int32 resuming = 201100714;</code>
     *
     * @return Whether the resuming field is set.
     */
    @java.lang.Override
    public boolean hasResuming() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be resumed or are currently being resumed.
     * </pre>
     *
     * <code>optional int32 resuming = 201100714;</code>
     *
     * @return The resuming.
     */
    @java.lang.Override
    public int getResuming() {
      return resuming_;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be resumed or are currently being resumed.
     * </pre>
     *
     * <code>optional int32 resuming = 201100714;</code>
     *
     * @param value The resuming to set.
     * @return This builder for chaining.
     */
    public Builder setResuming(int value) {

      resuming_ = value;
      bitField0_ |= 0x00000100;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be resumed or are currently being resumed.
     * </pre>
     *
     * <code>optional int32 resuming = 201100714;</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearResuming() {
      bitField0_ = (bitField0_ & ~0x00000100);
      resuming_ = 0;
      onChanged();
      return this;
    }

    private int starting_;
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be started or are currently being started.
     * </pre>
     *
     * <code>optional int32 starting = 243064896;</code>
     *
     * @return Whether the starting field is set.
     */
    @java.lang.Override
    public boolean hasStarting() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be started or are currently being started.
     * </pre>
     *
     * <code>optional int32 starting = 243064896;</code>
     *
     * @return The starting.
     */
    @java.lang.Override
    public int getStarting() {
      return starting_;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be started or are currently being started.
     * </pre>
     *
     * <code>optional int32 starting = 243064896;</code>
     *
     * @param value The starting to set.
     * @return This builder for chaining.
     */
    public Builder setStarting(int value) {

      starting_ = value;
      bitField0_ |= 0x00000200;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be started or are currently being started.
     * </pre>
     *
     * <code>optional int32 starting = 243064896;</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearStarting() {
      bitField0_ = (bitField0_ & ~0x00000200);
      starting_ = 0;
      onChanged();
      return this;
    }

    private int stopping_;
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be stopped or are currently being stopped.
     * </pre>
     *
     * <code>optional int32 stopping = 105035892;</code>
     *
     * @return Whether the stopping field is set.
     */
    @java.lang.Override
    public boolean hasStopping() {
      return ((bitField0_ & 0x00000400) != 0);
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be stopped or are currently being stopped.
     * </pre>
     *
     * <code>optional int32 stopping = 105035892;</code>
     *
     * @return The stopping.
     */
    @java.lang.Override
    public int getStopping() {
      return stopping_;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be stopped or are currently being stopped.
     * </pre>
     *
     * <code>optional int32 stopping = 105035892;</code>
     *
     * @param value The stopping to set.
     * @return This builder for chaining.
     */
    public Builder setStopping(int value) {

      stopping_ = value;
      bitField0_ |= 0x00000400;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be stopped or are currently being stopped.
     * </pre>
     *
     * <code>optional int32 stopping = 105035892;</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearStopping() {
      bitField0_ = (bitField0_ & ~0x00000400);
      stopping_ = 0;
      onChanged();
      return this;
    }

    private int suspending_;
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be suspended or are currently being suspended.
     * </pre>
     *
     * <code>optional int32 suspending = 29113894;</code>
     *
     * @return Whether the suspending field is set.
     */
    @java.lang.Override
    public boolean hasSuspending() {
      return ((bitField0_ & 0x00000800) != 0);
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be suspended or are currently being suspended.
     * </pre>
     *
     * <code>optional int32 suspending = 29113894;</code>
     *
     * @return The suspending.
     */
    @java.lang.Override
    public int getSuspending() {
      return suspending_;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be suspended or are currently being suspended.
     * </pre>
     *
     * <code>optional int32 suspending = 29113894;</code>
     *
     * @param value The suspending to set.
     * @return This builder for chaining.
     */
    public Builder setSuspending(int value) {

      suspending_ = value;
      bitField0_ |= 0x00000800;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are scheduled to be suspended or are currently being suspended.
     * </pre>
     *
     * <code>optional int32 suspending = 29113894;</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearSuspending() {
      bitField0_ = (bitField0_ & ~0x00000800);
      suspending_ = 0;
      onChanged();
      return this;
    }

    private int verifying_;
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are being verified. See the managedInstances[].currentAction property in the listManagedInstances method documentation.
     * </pre>
     *
     * <code>optional int32 verifying = 451612873;</code>
     *
     * @return Whether the verifying field is set.
     */
    @java.lang.Override
    public boolean hasVerifying() {
      return ((bitField0_ & 0x00001000) != 0);
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are being verified. See the managedInstances[].currentAction property in the listManagedInstances method documentation.
     * </pre>
     *
     * <code>optional int32 verifying = 451612873;</code>
     *
     * @return The verifying.
     */
    @java.lang.Override
    public int getVerifying() {
      return verifying_;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are being verified. See the managedInstances[].currentAction property in the listManagedInstances method documentation.
     * </pre>
     *
     * <code>optional int32 verifying = 451612873;</code>
     *
     * @param value The verifying to set.
     * @return This builder for chaining.
     */
    public Builder setVerifying(int value) {

      verifying_ = value;
      bitField0_ |= 0x00001000;
      onChanged();
      return this;
    }
    /**
     *
     *
     * <pre>
     * [Output Only] The number of instances in the managed instance group that are being verified. See the managedInstances[].currentAction property in the listManagedInstances method documentation.
     * </pre>
     *
     * <code>optional int32 verifying = 451612873;</code>
     *
     * @return This builder for chaining.
     */
    public Builder clearVerifying() {
      bitField0_ = (bitField0_ & ~0x00001000);
      verifying_ = 0;
      onChanged();
      return this;
    }

    @java.lang.Override
    public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

    @java.lang.Override
    public final Builder mergeUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.mergeUnknownFields(unknownFields);
    }

    // @@protoc_insertion_point(builder_scope:google.cloud.compute.v1.InstanceGroupManagerActionsSummary)
  }

  // @@protoc_insertion_point(class_scope:google.cloud.compute.v1.InstanceGroupManagerActionsSummary)
  private static final com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary
      DEFAULT_INSTANCE;

  static {
    DEFAULT_INSTANCE = new com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary();
  }

  public static com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary
      getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser<InstanceGroupManagerActionsSummary> PARSER =
      new com.google.protobuf.AbstractParser<InstanceGroupManagerActionsSummary>() {
        @java.lang.Override
        public InstanceGroupManagerActionsSummary parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

  public static com.google.protobuf.Parser<InstanceGroupManagerActionsSummary> parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.protobuf.Parser<InstanceGroupManagerActionsSummary> getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.cloud.compute.v1.InstanceGroupManagerActionsSummary
      getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }
}
