text:
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/gaming/v1beta/game_server_configs.proto

package com.google.cloud.gaming.v1beta;

/**
 *
 *
 *

 * A game server config resource.
 *

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

  private GameServerConfig() {
    name_ = "";
    fleetConfigs_ = java.util.Collections.emptyList();
    scalingConfigs_ = java.util.Collections.emptyList();
    description_ = "";
  }

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

  @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.gaming.v1beta.GameServerConfigs
        .internal_static_google_cloud_gaming_v1beta_GameServerConfig_descriptor;
  }

  @SuppressWarnings({"rawtypes"})
  @java.lang.Override
  protected com.google.protobuf.MapField internalGetMapField(int number) {
    switch (number) {
      case 4:
        return internalGetLabels();
      default:
        throw new RuntimeException("Invalid map field number: " + number);
    }
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.google.cloud.gaming.v1beta.GameServerConfigs
        .internal_static_google_cloud_gaming_v1beta_GameServerConfig_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.google.cloud.gaming.v1beta.GameServerConfig.class,
            com.google.cloud.gaming.v1beta.GameServerConfig.Builder.class);
  }

  public static final int NAME_FIELD_NUMBER = 1;
  private volatile java.lang.Object name_;
  /**
   *
   *
   *

   * The resource name of the game server config. Uses the form:
   * `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.
   * For example,
   * `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
   *

   *
   * string name = 1;
   *
   * @return The name.
   */
  @java.lang.Override
  public java.lang.String getName() {
    java.lang.Object ref = name_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      name_ = s;
      return s;
    }
  }
  /**
   *
   *
   *

   * The resource name of the game server config. Uses the form:
   * `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.
   * For example,
   * `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
   *

   *
   * string name = 1;
   *
   * @return The bytes for name.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString getNameBytes() {
    java.lang.Object ref = name_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b =
          com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
      name_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int CREATE_TIME_FIELD_NUMBER = 2;
  private com.google.protobuf.Timestamp createTime_;
  /**
   *
   *
   *

   * Output only. The creation time.
   *

   *
   * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
   *
   *
   * @return Whether the createTime field is set.
   */
  @java.lang.Override
  public boolean hasCreateTime() {
    return createTime_ != null;
  }
  /**
   *
   *
   *

   * Output only. The creation time.
   *

   *
   * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
   *
   *
   * @return The createTime.
   */
  @java.lang.Override
  public com.google.protobuf.Timestamp getCreateTime() {
    return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_;
  }
  /**
   *
   *
   *

   * Output only. The creation time.
   *

   *
   * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
   *
   */
  @java.lang.Override
  public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() {
    return getCreateTime();
  }

  public static final int UPDATE_TIME_FIELD_NUMBER = 3;
  private com.google.protobuf.Timestamp updateTime_;
  /**
   *
   *
   *

   * Output only. The last-modified time.
   *

   *
   * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
   *
   *
   * @return Whether the updateTime field is set.
   */
  @java.lang.Override
  public boolean hasUpdateTime() {
    return updateTime_ != null;
  }
  /**
   *
   *
   *

   * Output only. The last-modified time.
   *

   *
   * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
   *
   *
   * @return The updateTime.
   */
  @java.lang.Override
  public com.google.protobuf.Timestamp getUpdateTime() {
    return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_;
  }
  /**
   *
   *
   *

   * Output only. The last-modified time.
   *

   *
   * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
   *
   */
  @java.lang.Override
  public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() {
    return getUpdateTime();
  }

  public static final int LABELS_FIELD_NUMBER = 4;

  private static final class LabelsDefaultEntryHolder {
    static final com.google.protobuf.MapEntry<java.lang.String, java.lang.String> defaultEntry =
        com.google.protobuf.MapEntry.<java.lang.String, java.lang.String>newDefaultInstance(
            com.google.cloud.gaming.v1beta.GameServerConfigs
                .internal_static_google_cloud_gaming_v1beta_GameServerConfig_LabelsEntry_descriptor,
            com.google.protobuf.WireFormat.FieldType.STRING,
            "",
            com.google.protobuf.WireFormat.FieldType.STRING,
            "");
  }

  private com.google.protobuf.MapField<java.lang.String, java.lang.String> labels_;

  private com.google.protobuf.MapField<java.lang.String, java.lang.String> internalGetLabels() {
    if (labels_ == null) {
      return com.google.protobuf.MapField.emptyMapField(LabelsDefaultEntryHolder.defaultEntry);
    }
    return labels_;
  }

  public int getLabelsCount() {
    return internalGetLabels().getMap().size();
  }
  /**
   *
   *
   *

   * The labels associated with this game server config. Each label is a
   * key-value pair.
   *

   *
   * map<string, string> labels = 4;
   */
  @java.lang.Override
  public boolean containsLabels(java.lang.String key) {
    if (key == null) {
      throw new NullPointerException("map key");
    }
    return internalGetLabels().getMap().containsKey(key);
  }
  /** Use {@link #getLabelsMap()} instead. */
  @java.lang.Override
  @java.lang.Deprecated
  public java.util.Map<java.lang.String, java.lang.String> getLabels() {
    return getLabelsMap();
  }
  /**
   *
   *
   *

   * The labels associated with this game server config. Each label is a
   * key-value pair.
   *

   *
   * map<string, string> labels = 4;
   */
  @java.lang.Override
  public java.util.Map<java.lang.String, java.lang.String> getLabelsMap() {
    return internalGetLabels().getMap();
  }
  /**
   *
   *
   *

   * The labels associated with this game server config. Each label is a
   * key-value pair.
   *

   *
   * map<string, string> labels = 4;
   */
  @java.lang.Override
  public java.lang.String getLabelsOrDefault(java.lang.String key, java.lang.String defaultValue) {
    if (key == null) {
      throw new NullPointerException("map key");
    }
    java.util.Map<java.lang.String, java.lang.String> map = internalGetLabels().getMap();
    return map.containsKey(key) ? map.get(key) : defaultValue;
  }
  /**
   *
   *
   *

   * The labels associated with this game server config. Each label is a
   * key-value pair.
   *

   *
   * map<string, string> labels = 4;
   */
  @java.lang.Override
  public java.lang.String getLabelsOrThrow(java.lang.String key) {
    if (key == null) {
      throw new NullPointerException("map key");
    }
    java.util.Map<java.lang.String, java.lang.String> map = internalGetLabels().getMap();
    if (!map.containsKey(key)) {
      throw new java.lang.IllegalArgumentException();
    }
    return map.get(key);
  }

  public static final int FLEET_CONFIGS_FIELD_NUMBER = 5;
  private java.util.List<com.google.cloud.gaming.v1beta.FleetConfig> fleetConfigs_;
  /**
   *
   *
   *

   * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
   * is allowed.
   *

   *
   * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
   */
  @java.lang.Override
  public java.util.List<com.google.cloud.gaming.v1beta.FleetConfig> getFleetConfigsList() {
    return fleetConfigs_;
  }
  /**
   *
   *
   *

   * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
   * is allowed.
   *

   *
   * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
   */
  @java.lang.Override
  public java.util.List<? extends com.google.cloud.gaming.v1beta.FleetConfigOrBuilder>
      getFleetConfigsOrBuilderList() {
    return fleetConfigs_;
  }
  /**
   *
   *
   *

   * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
   * is allowed.
   *

   *
   * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
   */
  @java.lang.Override
  public int getFleetConfigsCount() {
    return fleetConfigs_.size();
  }
  /**
   *
   *
   *

   * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
   * is allowed.
   *

   *
   * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
   */
  @java.lang.Override
  public com.google.cloud.gaming.v1beta.FleetConfig getFleetConfigs(int index) {
    return fleetConfigs_.get(index);
  }
  /**
   *
   *
   *

   * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
   * is allowed.
   *

   *
   * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
   */
  @java.lang.Override
  public com.google.cloud.gaming.v1beta.FleetConfigOrBuilder getFleetConfigsOrBuilder(int index) {
    return fleetConfigs_.get(index);
  }

  public static final int SCALING_CONFIGS_FIELD_NUMBER = 6;
  private java.util.List<com.google.cloud.gaming.v1beta.ScalingConfig> scalingConfigs_;
  /**
   *
   *
   *

   * The autoscaling settings.
   *

   *
   * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
   */
  @java.lang.Override
  public java.util.List<com.google.cloud.gaming.v1beta.ScalingConfig> getScalingConfigsList() {
    return scalingConfigs_;
  }
  /**
   *
   *
   *

   * The autoscaling settings.
   *

   *
   * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
   */
  @java.lang.Override
  public java.util.List<? extends com.google.cloud.gaming.v1beta.ScalingConfigOrBuilder>
      getScalingConfigsOrBuilderList() {
    return scalingConfigs_;
  }
  /**
   *
   *
   *

   * The autoscaling settings.
   *

   *
   * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
   */
  @java.lang.Override
  public int getScalingConfigsCount() {
    return scalingConfigs_.size();
  }
  /**
   *
   *
   *

   * The autoscaling settings.
   *

   *
   * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
   */
  @java.lang.Override
  public com.google.cloud.gaming.v1beta.ScalingConfig getScalingConfigs(int index) {
    return scalingConfigs_.get(index);
  }
  /**
   *
   *
   *

   * The autoscaling settings.
   *

   *
   * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
   */
  @java.lang.Override
  public com.google.cloud.gaming.v1beta.ScalingConfigOrBuilder getScalingConfigsOrBuilder(
      int index) {
    return scalingConfigs_.get(index);
  }

  public static final int DESCRIPTION_FIELD_NUMBER = 7;
  private volatile java.lang.Object description_;
  /**
   *
   *
   *

   * The description of the game server config.
   *

   *
   * string description = 7;
   *
   * @return The description.
   */
  @java.lang.Override
  public java.lang.String getDescription() {
    java.lang.Object ref = description_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      description_ = s;
      return s;
    }
  }
  /**
   *
   *
   *

   * The description of the game server config.
   *

   *
   * string description = 7;
   *
   * @return The bytes for description.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString getDescriptionBytes() {
    java.lang.Object ref = description_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b =
          com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
      description_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  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 (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
    }
    if (createTime_ != null) {
      output.writeMessage(2, getCreateTime());
    }
    if (updateTime_ != null) {
      output.writeMessage(3, getUpdateTime());
    }
    com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(
        output, internalGetLabels(), LabelsDefaultEntryHolder.defaultEntry, 4);
    for (int i = 0; i < fleetConfigs_.size(); i++) {
      output.writeMessage(5, fleetConfigs_.get(i));
    }
    for (int i = 0; i < scalingConfigs_.size(); i++) {
      output.writeMessage(6, scalingConfigs_.get(i));
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 7, description_);
    }
    getUnknownFields().writeTo(output);
  }

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

    size = 0;
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
    }
    if (createTime_ != null) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getCreateTime());
    }
    if (updateTime_ != null) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getUpdateTime());
    }
    for (java.util.Map.Entry<java.lang.String, java.lang.String> entry :
        internalGetLabels().getMap().entrySet()) {
      com.google.protobuf.MapEntry<java.lang.String, java.lang.String> labels__ =
          LabelsDefaultEntryHolder.defaultEntry
              .newBuilderForType()
              .setKey(entry.getKey())
              .setValue(entry.getValue())
              .build();
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, labels__);
    }
    for (int i = 0; i < fleetConfigs_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, fleetConfigs_.get(i));
    }
    for (int i = 0; i < scalingConfigs_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, scalingConfigs_.get(i));
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, description_);
    }
    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.gaming.v1beta.GameServerConfig)) {
      return super.equals(obj);
    }
    com.google.cloud.gaming.v1beta.GameServerConfig other =
        (com.google.cloud.gaming.v1beta.GameServerConfig) obj;

    if (!getName().equals(other.getName())) return false;
    if (hasCreateTime() != other.hasCreateTime()) return false;
    if (hasCreateTime()) {
      if (!getCreateTime().equals(other.getCreateTime())) return false;
    }
    if (hasUpdateTime() != other.hasUpdateTime()) return false;
    if (hasUpdateTime()) {
      if (!getUpdateTime().equals(other.getUpdateTime())) return false;
    }
    if (!internalGetLabels().equals(other.internalGetLabels())) return false;
    if (!getFleetConfigsList().equals(other.getFleetConfigsList())) return false;
    if (!getScalingConfigsList().equals(other.getScalingConfigsList())) return false;
    if (!getDescription().equals(other.getDescription())) 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();
    hash = (37 * hash) + NAME_FIELD_NUMBER;
    hash = (53 * hash) + getName().hashCode();
    if (hasCreateTime()) {
      hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getCreateTime().hashCode();
    }
    if (hasUpdateTime()) {
      hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getUpdateTime().hashCode();
    }
    if (!internalGetLabels().getMap().isEmpty()) {
      hash = (37 * hash) + LABELS_FIELD_NUMBER;
      hash = (53 * hash) + internalGetLabels().hashCode();
    }
    if (getFleetConfigsCount() > 0) {
      hash = (37 * hash) + FLEET_CONFIGS_FIELD_NUMBER;
      hash = (53 * hash) + getFleetConfigsList().hashCode();
    }
    if (getScalingConfigsCount() > 0) {
      hash = (37 * hash) + SCALING_CONFIGS_FIELD_NUMBER;
      hash = (53 * hash) + getScalingConfigsList().hashCode();
    }
    hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
    hash = (53 * hash) + getDescription().hashCode();
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.google.cloud.gaming.v1beta.GameServerConfig parseFrom(java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.gaming.v1beta.GameServerConfig 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.gaming.v1beta.GameServerConfig parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

  public static com.google.cloud.gaming.v1beta.GameServerConfig 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.gaming.v1beta.GameServerConfig parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }

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

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

  public static com.google.cloud.gaming.v1beta.GameServerConfig 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.gaming.v1beta.GameServerConfig parseDelimitedFrom(
      java.io.InputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
  }

  public static com.google.cloud.gaming.v1beta.GameServerConfig 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.gaming.v1beta.GameServerConfig parseFrom(
      com.google.protobuf.CodedInputStream input) throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
  }

  public static com.google.cloud.gaming.v1beta.GameServerConfig 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.gaming.v1beta.GameServerConfig 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;
  }
  /**
   *
   *
   *

   * A game server config resource.
   *

   *
   * Protobuf type {@code google.cloud.gaming.v1beta.GameServerConfig}
   */
  public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
      implements
      // @@protoc_insertion_point(builder_implements:google.cloud.gaming.v1beta.GameServerConfig)
      com.google.cloud.gaming.v1beta.GameServerConfigOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
      return com.google.cloud.gaming.v1beta.GameServerConfigs
          .internal_static_google_cloud_gaming_v1beta_GameServerConfig_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    protected com.google.protobuf.MapField internalGetMapField(int number) {
      switch (number) {
        case 4:
          return internalGetLabels();
        default:
          throw new RuntimeException("Invalid map field number: " + number);
      }
    }

    @SuppressWarnings({"rawtypes"})
    protected com.google.protobuf.MapField internalGetMutableMapField(int number) {
      switch (number) {
        case 4:
          return internalGetMutableLabels();
        default:
          throw new RuntimeException("Invalid map field number: " + number);
      }
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.google.cloud.gaming.v1beta.GameServerConfigs
          .internal_static_google_cloud_gaming_v1beta_GameServerConfig_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.google.cloud.gaming.v1beta.GameServerConfig.class,
              com.google.cloud.gaming.v1beta.GameServerConfig.Builder.class);
    }

    // Construct using com.google.cloud.gaming.v1beta.GameServerConfig.newBuilder()
    private Builder() {}

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

    @java.lang.Override
    public Builder clear() {
      super.clear();
      name_ = "";

      if (createTimeBuilder_ == null) {
        createTime_ = null;
      } else {
        createTime_ = null;
        createTimeBuilder_ = null;
      }
      if (updateTimeBuilder_ == null) {
        updateTime_ = null;
      } else {
        updateTime_ = null;
        updateTimeBuilder_ = null;
      }
      internalGetMutableLabels().clear();
      if (fleetConfigsBuilder_ == null) {
        fleetConfigs_ = java.util.Collections.emptyList();
      } else {
        fleetConfigs_ = null;
        fleetConfigsBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000002);
      if (scalingConfigsBuilder_ == null) {
        scalingConfigs_ = java.util.Collections.emptyList();
      } else {
        scalingConfigs_ = null;
        scalingConfigsBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000004);
      description_ = "";

      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
      return com.google.cloud.gaming.v1beta.GameServerConfigs
          .internal_static_google_cloud_gaming_v1beta_GameServerConfig_descriptor;
    }

    @java.lang.Override
    public com.google.cloud.gaming.v1beta.GameServerConfig getDefaultInstanceForType() {
      return com.google.cloud.gaming.v1beta.GameServerConfig.getDefaultInstance();
    }

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

    @java.lang.Override
    public com.google.cloud.gaming.v1beta.GameServerConfig buildPartial() {
      com.google.cloud.gaming.v1beta.GameServerConfig result =
          new com.google.cloud.gaming.v1beta.GameServerConfig(this);
      int from_bitField0_ = bitField0_;
      result.name_ = name_;
      if (createTimeBuilder_ == null) {
        result.createTime_ = createTime_;
      } else {
        result.createTime_ = createTimeBuilder_.build();
      }
      if (updateTimeBuilder_ == null) {
        result.updateTime_ = updateTime_;
      } else {
        result.updateTime_ = updateTimeBuilder_.build();
      }
      result.labels_ = internalGetLabels();
      result.labels_.makeImmutable();
      if (fleetConfigsBuilder_ == null) {
        if (((bitField0_ & 0x00000002) != 0)) {
          fleetConfigs_ = java.util.Collections.unmodifiableList(fleetConfigs_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.fleetConfigs_ = fleetConfigs_;
      } else {
        result.fleetConfigs_ = fleetConfigsBuilder_.build();
      }
      if (scalingConfigsBuilder_ == null) {
        if (((bitField0_ & 0x00000004) != 0)) {
          scalingConfigs_ = java.util.Collections.unmodifiableList(scalingConfigs_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.scalingConfigs_ = scalingConfigs_;
      } else {
        result.scalingConfigs_ = scalingConfigsBuilder_.build();
      }
      result.description_ = description_;
      onBuilt();
      return result;
    }

    @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.gaming.v1beta.GameServerConfig) {
        return mergeFrom((com.google.cloud.gaming.v1beta.GameServerConfig) other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(com.google.cloud.gaming.v1beta.GameServerConfig other) {
      if (other == com.google.cloud.gaming.v1beta.GameServerConfig.getDefaultInstance())
        return this;
      if (!other.getName().isEmpty()) {
        name_ = other.name_;
        onChanged();
      }
      if (other.hasCreateTime()) {
        mergeCreateTime(other.getCreateTime());
      }
      if (other.hasUpdateTime()) {
        mergeUpdateTime(other.getUpdateTime());
      }
      internalGetMutableLabels().mergeFrom(other.internalGetLabels());
      if (fleetConfigsBuilder_ == null) {
        if (!other.fleetConfigs_.isEmpty()) {
          if (fleetConfigs_.isEmpty()) {
            fleetConfigs_ = other.fleetConfigs_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureFleetConfigsIsMutable();
            fleetConfigs_.addAll(other.fleetConfigs_);
          }
          onChanged();
        }
      } else {
        if (!other.fleetConfigs_.isEmpty()) {
          if (fleetConfigsBuilder_.isEmpty()) {
            fleetConfigsBuilder_.dispose();
            fleetConfigsBuilder_ = null;
            fleetConfigs_ = other.fleetConfigs_;
            bitField0_ = (bitField0_ & ~0x00000002);
            fleetConfigsBuilder_ =
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                    ? getFleetConfigsFieldBuilder()
                    : null;
          } else {
            fleetConfigsBuilder_.addAllMessages(other.fleetConfigs_);
          }
        }
      }
      if (scalingConfigsBuilder_ == null) {
        if (!other.scalingConfigs_.isEmpty()) {
          if (scalingConfigs_.isEmpty()) {
            scalingConfigs_ = other.scalingConfigs_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureScalingConfigsIsMutable();
            scalingConfigs_.addAll(other.scalingConfigs_);
          }
          onChanged();
        }
      } else {
        if (!other.scalingConfigs_.isEmpty()) {
          if (scalingConfigsBuilder_.isEmpty()) {
            scalingConfigsBuilder_.dispose();
            scalingConfigsBuilder_ = null;
            scalingConfigs_ = other.scalingConfigs_;
            bitField0_ = (bitField0_ & ~0x00000004);
            scalingConfigsBuilder_ =
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                    ? getScalingConfigsFieldBuilder()
                    : null;
          } else {
            scalingConfigsBuilder_.addAllMessages(other.scalingConfigs_);
          }
        }
      }
      if (!other.getDescription().isEmpty()) {
        description_ = other.description_;
        onChanged();
      }
      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 10:
              {
                name_ = input.readStringRequireUtf8();

                break;
              } // case 10
            case 18:
              {
                input.readMessage(getCreateTimeFieldBuilder().getBuilder(), extensionRegistry);

                break;
              } // case 18
            case 26:
              {
                input.readMessage(getUpdateTimeFieldBuilder().getBuilder(), extensionRegistry);

                break;
              } // case 26
            case 34:
              {
                com.google.protobuf.MapEntry<java.lang.String, java.lang.String> labels__ =
                    input.readMessage(
                        LabelsDefaultEntryHolder.defaultEntry.getParserForType(),
                        extensionRegistry);
                internalGetMutableLabels()
                    .getMutableMap()
                    .put(labels__.getKey(), labels__.getValue());
                break;
              } // case 34
            case 42:
              {
                com.google.cloud.gaming.v1beta.FleetConfig m =
                    input.readMessage(
                        com.google.cloud.gaming.v1beta.FleetConfig.parser(), extensionRegistry);
                if (fleetConfigsBuilder_ == null) {
                  ensureFleetConfigsIsMutable();
                  fleetConfigs_.add(m);
                } else {
                  fleetConfigsBuilder_.addMessage(m);
                }
                break;
              } // case 42
            case 50:
              {
                com.google.cloud.gaming.v1beta.ScalingConfig m =
                    input.readMessage(
                        com.google.cloud.gaming.v1beta.ScalingConfig.parser(), extensionRegistry);
                if (scalingConfigsBuilder_ == null) {
                  ensureScalingConfigsIsMutable();
                  scalingConfigs_.add(m);
                } else {
                  scalingConfigsBuilder_.addMessage(m);
                }
                break;
              } // case 50
            case 58:
              {
                description_ = input.readStringRequireUtf8();

                break;
              } // case 58
            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 java.lang.Object name_ = "";
    /**
     *
     *
     *

     * The resource name of the game server config. Uses the form:
     * `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.
     * For example,
     * `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
     *

     *
     * string name = 1;
     *
     * @return The name.
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     *
     *
     *

     * The resource name of the game server config. Uses the form:
     * `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.
     * For example,
     * `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
     *

     *
     * string name = 1;
     *
     * @return The bytes for name.
     */
    public com.google.protobuf.ByteString getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     *
     *
     *

     * The resource name of the game server config. Uses the form:
     * `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.
     * For example,
     * `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
     *

     *
     * string name = 1;
     *
     * @param value The name to set.
     * @return This builder for chaining.
     */
    public Builder setName(java.lang.String value) {
      if (value == null) {
        throw new NullPointerException();
      }

      name_ = value;
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * The resource name of the game server config. Uses the form:
     * `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.
     * For example,
     * `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
     *

     *
     * string name = 1;
     *
     * @return This builder for chaining.
     */
    public Builder clearName() {

      name_ = getDefaultInstance().getName();
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * The resource name of the game server config. Uses the form:
     * `projects/{project}/locations/{location}/gameServerDeployments/{deployment}/configs/{config}`.
     * For example,
     * `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
     *

     *
     * string name = 1;
     *
     * @param value The bytes for name to set.
     * @return This builder for chaining.
     */
    public Builder setNameBytes(com.google.protobuf.ByteString value) {
      if (value == null) {
        throw new NullPointerException();
      }
      checkByteStringIsUtf8(value);

      name_ = value;
      onChanged();
      return this;
    }

    private com.google.protobuf.Timestamp createTime_;
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.protobuf.Timestamp,
            com.google.protobuf.Timestamp.Builder,
            com.google.protobuf.TimestampOrBuilder>
        createTimeBuilder_;
    /**
     *
     *
     *

     * Output only. The creation time.
     *

     *
     *
     * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     *
     * @return Whether the createTime field is set.
     */
    public boolean hasCreateTime() {
      return createTimeBuilder_ != null || createTime_ != null;
    }
    /**
     *
     *
     *

     * Output only. The creation time.
     *

     *
     *
     * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     *
     * @return The createTime.
     */
    public com.google.protobuf.Timestamp getCreateTime() {
      if (createTimeBuilder_ == null) {
        return createTime_ == null
            ? com.google.protobuf.Timestamp.getDefaultInstance()
            : createTime_;
      } else {
        return createTimeBuilder_.getMessage();
      }
    }
    /**
     *
     *
     *

     * Output only. The creation time.
     *

     *
     *
     * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     */
    public Builder setCreateTime(com.google.protobuf.Timestamp value) {
      if (createTimeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        createTime_ = value;
        onChanged();
      } else {
        createTimeBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     *
     *
     *

     * Output only. The creation time.
     *

     *
     *
     * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     */
    public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
      if (createTimeBuilder_ == null) {
        createTime_ = builderForValue.build();
        onChanged();
      } else {
        createTimeBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     *
     *
     *

     * Output only. The creation time.
     *

     *
     *
     * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     */
    public Builder mergeCreateTime(com.google.protobuf.Timestamp value) {
      if (createTimeBuilder_ == null) {
        if (createTime_ != null) {
          createTime_ =
              com.google.protobuf.Timestamp.newBuilder(createTime_).mergeFrom(value).buildPartial();
        } else {
          createTime_ = value;
        }
        onChanged();
      } else {
        createTimeBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     *
     *
     *

     * Output only. The creation time.
     *

     *
     *
     * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     */
    public Builder clearCreateTime() {
      if (createTimeBuilder_ == null) {
        createTime_ = null;
        onChanged();
      } else {
        createTime_ = null;
        createTimeBuilder_ = null;
      }

      return this;
    }
    /**
     *
     *
     *

     * Output only. The creation time.
     *

     *
     *
     * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     */
    public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() {

      onChanged();
      return getCreateTimeFieldBuilder().getBuilder();
    }
    /**
     *
     *
     *

     * Output only. The creation time.
     *

     *
     *
     * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     */
    public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() {
      if (createTimeBuilder_ != null) {
        return createTimeBuilder_.getMessageOrBuilder();
      } else {
        return createTime_ == null
            ? com.google.protobuf.Timestamp.getDefaultInstance()
            : createTime_;
      }
    }
    /**
     *
     *
     *

     * Output only. The creation time.
     *

     *
     *
     * .google.protobuf.Timestamp create_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.protobuf.Timestamp,
            com.google.protobuf.Timestamp.Builder,
            com.google.protobuf.TimestampOrBuilder>
        getCreateTimeFieldBuilder() {
      if (createTimeBuilder_ == null) {
        createTimeBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.protobuf.Timestamp,
                com.google.protobuf.Timestamp.Builder,
                com.google.protobuf.TimestampOrBuilder>(
                getCreateTime(), getParentForChildren(), isClean());
        createTime_ = null;
      }
      return createTimeBuilder_;
    }

    private com.google.protobuf.Timestamp updateTime_;
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.protobuf.Timestamp,
            com.google.protobuf.Timestamp.Builder,
            com.google.protobuf.TimestampOrBuilder>
        updateTimeBuilder_;
    /**
     *
     *
     *

     * Output only. The last-modified time.
     *

     *
     *
     * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     *
     * @return Whether the updateTime field is set.
     */
    public boolean hasUpdateTime() {
      return updateTimeBuilder_ != null || updateTime_ != null;
    }
    /**
     *
     *
     *

     * Output only. The last-modified time.
     *

     *
     *
     * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     *
     * @return The updateTime.
     */
    public com.google.protobuf.Timestamp getUpdateTime() {
      if (updateTimeBuilder_ == null) {
        return updateTime_ == null
            ? com.google.protobuf.Timestamp.getDefaultInstance()
            : updateTime_;
      } else {
        return updateTimeBuilder_.getMessage();
      }
    }
    /**
     *
     *
     *

     * Output only. The last-modified time.
     *

     *
     *
     * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     */
    public Builder setUpdateTime(com.google.protobuf.Timestamp value) {
      if (updateTimeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        updateTime_ = value;
        onChanged();
      } else {
        updateTimeBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     *
     *
     *

     * Output only. The last-modified time.
     *

     *
     *
     * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     */
    public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
      if (updateTimeBuilder_ == null) {
        updateTime_ = builderForValue.build();
        onChanged();
      } else {
        updateTimeBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     *
     *
     *

     * Output only. The last-modified time.
     *

     *
     *
     * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     */
    public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) {
      if (updateTimeBuilder_ == null) {
        if (updateTime_ != null) {
          updateTime_ =
              com.google.protobuf.Timestamp.newBuilder(updateTime_).mergeFrom(value).buildPartial();
        } else {
          updateTime_ = value;
        }
        onChanged();
      } else {
        updateTimeBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     *
     *
     *

     * Output only. The last-modified time.
     *

     *
     *
     * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     */
    public Builder clearUpdateTime() {
      if (updateTimeBuilder_ == null) {
        updateTime_ = null;
        onChanged();
      } else {
        updateTime_ = null;
        updateTimeBuilder_ = null;
      }

      return this;
    }
    /**
     *
     *
     *

     * Output only. The last-modified time.
     *

     *
     *
     * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     */
    public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() {

      onChanged();
      return getUpdateTimeFieldBuilder().getBuilder();
    }
    /**
     *
     *
     *

     * Output only. The last-modified time.
     *

     *
     *
     * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     */
    public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() {
      if (updateTimeBuilder_ != null) {
        return updateTimeBuilder_.getMessageOrBuilder();
      } else {
        return updateTime_ == null
            ? com.google.protobuf.Timestamp.getDefaultInstance()
            : updateTime_;
      }
    }
    /**
     *
     *
     *

     * Output only. The last-modified time.
     *

     *
     *
     * .google.protobuf.Timestamp update_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
     *
     */
    private com.google.protobuf.SingleFieldBuilderV3<
            com.google.protobuf.Timestamp,
            com.google.protobuf.Timestamp.Builder,
            com.google.protobuf.TimestampOrBuilder>
        getUpdateTimeFieldBuilder() {
      if (updateTimeBuilder_ == null) {
        updateTimeBuilder_ =
            new com.google.protobuf.SingleFieldBuilderV3<
                com.google.protobuf.Timestamp,
                com.google.protobuf.Timestamp.Builder,
                com.google.protobuf.TimestampOrBuilder>(
                getUpdateTime(), getParentForChildren(), isClean());
        updateTime_ = null;
      }
      return updateTimeBuilder_;
    }

    private com.google.protobuf.MapField<java.lang.String, java.lang.String> labels_;

    private com.google.protobuf.MapField<java.lang.String, java.lang.String> internalGetLabels() {
      if (labels_ == null) {
        return com.google.protobuf.MapField.emptyMapField(LabelsDefaultEntryHolder.defaultEntry);
      }
      return labels_;
    }

    private com.google.protobuf.MapField<java.lang.String, java.lang.String>
        internalGetMutableLabels() {
      onChanged();
      ;
      if (labels_ == null) {
        labels_ = com.google.protobuf.MapField.newMapField(LabelsDefaultEntryHolder.defaultEntry);
      }
      if (!labels_.isMutable()) {
        labels_ = labels_.copy();
      }
      return labels_;
    }

    public int getLabelsCount() {
      return internalGetLabels().getMap().size();
    }
    /**
     *
     *
     *

     * The labels associated with this game server config. Each label is a
     * key-value pair.
     *

     *
     * map<string, string> labels = 4;
     */
    @java.lang.Override
    public boolean containsLabels(java.lang.String key) {
      if (key == null) {
        throw new NullPointerException("map key");
      }
      return internalGetLabels().getMap().containsKey(key);
    }
    /** Use {@link #getLabelsMap()} instead. */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, java.lang.String> getLabels() {
      return getLabelsMap();
    }
    /**
     *
     *
     *

     * The labels associated with this game server config. Each label is a
     * key-value pair.
     *

     *
     * map<string, string> labels = 4;
     */
    @java.lang.Override
    public java.util.Map<java.lang.String, java.lang.String> getLabelsMap() {
      return internalGetLabels().getMap();
    }
    /**
     *
     *
     *

     * The labels associated with this game server config. Each label is a
     * key-value pair.
     *

     *
     * map<string, string> labels = 4;
     */
    @java.lang.Override
    public java.lang.String getLabelsOrDefault(
        java.lang.String key, java.lang.String defaultValue) {
      if (key == null) {
        throw new NullPointerException("map key");
      }
      java.util.Map<java.lang.String, java.lang.String> map = internalGetLabels().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     *
     *
     *

     * The labels associated with this game server config. Each label is a
     * key-value pair.
     *

     *
     * map<string, string> labels = 4;
     */
    @java.lang.Override
    public java.lang.String getLabelsOrThrow(java.lang.String key) {
      if (key == null) {
        throw new NullPointerException("map key");
      }
      java.util.Map<java.lang.String, java.lang.String> map = internalGetLabels().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public Builder clearLabels() {
      internalGetMutableLabels().getMutableMap().clear();
      return this;
    }
    /**
     *
     *
     *

     * The labels associated with this game server config. Each label is a
     * key-value pair.
     *

     *
     * map<string, string> labels = 4;
     */
    public Builder removeLabels(java.lang.String key) {
      if (key == null) {
        throw new NullPointerException("map key");
      }
      internalGetMutableLabels().getMutableMap().remove(key);
      return this;
    }
    /** Use alternate mutation accessors instead. */
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, java.lang.String> getMutableLabels() {
      return internalGetMutableLabels().getMutableMap();
    }
    /**
     *
     *
     *

     * The labels associated with this game server config. Each label is a
     * key-value pair.
     *

     *
     * map<string, string> labels = 4;
     */
    public Builder putLabels(java.lang.String key, java.lang.String value) {
      if (key == null) {
        throw new NullPointerException("map key");
      }
      if (value == null) {
        throw new NullPointerException("map value");
      }

      internalGetMutableLabels().getMutableMap().put(key, value);
      return this;
    }
    /**
     *
     *
     *

     * The labels associated with this game server config. Each label is a
     * key-value pair.
     *

     *
     * map<string, string> labels = 4;
     */
    public Builder putAllLabels(java.util.Map<java.lang.String, java.lang.String> values) {
      internalGetMutableLabels().getMutableMap().putAll(values);
      return this;
    }

    private java.util.List<com.google.cloud.gaming.v1beta.FleetConfig> fleetConfigs_ =
        java.util.Collections.emptyList();

    private void ensureFleetConfigsIsMutable() {
      if (!((bitField0_ & 0x00000002) != 0)) {
        fleetConfigs_ =
            new java.util.ArrayList<com.google.cloud.gaming.v1beta.FleetConfig>(fleetConfigs_);
        bitField0_ |= 0x00000002;
      }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
            com.google.cloud.gaming.v1beta.FleetConfig,
            com.google.cloud.gaming.v1beta.FleetConfig.Builder,
            com.google.cloud.gaming.v1beta.FleetConfigOrBuilder>
        fleetConfigsBuilder_;

    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public java.util.List<com.google.cloud.gaming.v1beta.FleetConfig> getFleetConfigsList() {
      if (fleetConfigsBuilder_ == null) {
        return java.util.Collections.unmodifiableList(fleetConfigs_);
      } else {
        return fleetConfigsBuilder_.getMessageList();
      }
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public int getFleetConfigsCount() {
      if (fleetConfigsBuilder_ == null) {
        return fleetConfigs_.size();
      } else {
        return fleetConfigsBuilder_.getCount();
      }
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public com.google.cloud.gaming.v1beta.FleetConfig getFleetConfigs(int index) {
      if (fleetConfigsBuilder_ == null) {
        return fleetConfigs_.get(index);
      } else {
        return fleetConfigsBuilder_.getMessage(index);
      }
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public Builder setFleetConfigs(int index, com.google.cloud.gaming.v1beta.FleetConfig value) {
      if (fleetConfigsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureFleetConfigsIsMutable();
        fleetConfigs_.set(index, value);
        onChanged();
      } else {
        fleetConfigsBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public Builder setFleetConfigs(
        int index, com.google.cloud.gaming.v1beta.FleetConfig.Builder builderForValue) {
      if (fleetConfigsBuilder_ == null) {
        ensureFleetConfigsIsMutable();
        fleetConfigs_.set(index, builderForValue.build());
        onChanged();
      } else {
        fleetConfigsBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public Builder addFleetConfigs(com.google.cloud.gaming.v1beta.FleetConfig value) {
      if (fleetConfigsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureFleetConfigsIsMutable();
        fleetConfigs_.add(value);
        onChanged();
      } else {
        fleetConfigsBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public Builder addFleetConfigs(int index, com.google.cloud.gaming.v1beta.FleetConfig value) {
      if (fleetConfigsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureFleetConfigsIsMutable();
        fleetConfigs_.add(index, value);
        onChanged();
      } else {
        fleetConfigsBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public Builder addFleetConfigs(
        com.google.cloud.gaming.v1beta.FleetConfig.Builder builderForValue) {
      if (fleetConfigsBuilder_ == null) {
        ensureFleetConfigsIsMutable();
        fleetConfigs_.add(builderForValue.build());
        onChanged();
      } else {
        fleetConfigsBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public Builder addFleetConfigs(
        int index, com.google.cloud.gaming.v1beta.FleetConfig.Builder builderForValue) {
      if (fleetConfigsBuilder_ == null) {
        ensureFleetConfigsIsMutable();
        fleetConfigs_.add(index, builderForValue.build());
        onChanged();
      } else {
        fleetConfigsBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public Builder addAllFleetConfigs(
        java.lang.Iterable<? extends com.google.cloud.gaming.v1beta.FleetConfig> values) {
      if (fleetConfigsBuilder_ == null) {
        ensureFleetConfigsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(values, fleetConfigs_);
        onChanged();
      } else {
        fleetConfigsBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public Builder clearFleetConfigs() {
      if (fleetConfigsBuilder_ == null) {
        fleetConfigs_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
      } else {
        fleetConfigsBuilder_.clear();
      }
      return this;
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public Builder removeFleetConfigs(int index) {
      if (fleetConfigsBuilder_ == null) {
        ensureFleetConfigsIsMutable();
        fleetConfigs_.remove(index);
        onChanged();
      } else {
        fleetConfigsBuilder_.remove(index);
      }
      return this;
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public com.google.cloud.gaming.v1beta.FleetConfig.Builder getFleetConfigsBuilder(int index) {
      return getFleetConfigsFieldBuilder().getBuilder(index);
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public com.google.cloud.gaming.v1beta.FleetConfigOrBuilder getFleetConfigsOrBuilder(int index) {
      if (fleetConfigsBuilder_ == null) {
        return fleetConfigs_.get(index);
      } else {
        return fleetConfigsBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public java.util.List<? extends com.google.cloud.gaming.v1beta.FleetConfigOrBuilder>
        getFleetConfigsOrBuilderList() {
      if (fleetConfigsBuilder_ != null) {
        return fleetConfigsBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(fleetConfigs_);
      }
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public com.google.cloud.gaming.v1beta.FleetConfig.Builder addFleetConfigsBuilder() {
      return getFleetConfigsFieldBuilder()
          .addBuilder(com.google.cloud.gaming.v1beta.FleetConfig.getDefaultInstance());
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public com.google.cloud.gaming.v1beta.FleetConfig.Builder addFleetConfigsBuilder(int index) {
      return getFleetConfigsFieldBuilder()
          .addBuilder(index, com.google.cloud.gaming.v1beta.FleetConfig.getDefaultInstance());
    }
    /**
     *
     *
     *

     * FleetConfig contains a list of Agones fleet specs. Only one FleetConfig
     * is allowed.
     *

     *
     * repeated .google.cloud.gaming.v1beta.FleetConfig fleet_configs = 5;
     */
    public java.util.List<com.google.cloud.gaming.v1beta.FleetConfig.Builder>
        getFleetConfigsBuilderList() {
      return getFleetConfigsFieldBuilder().getBuilderList();
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
            com.google.cloud.gaming.v1beta.FleetConfig,
            com.google.cloud.gaming.v1beta.FleetConfig.Builder,
            com.google.cloud.gaming.v1beta.FleetConfigOrBuilder>
        getFleetConfigsFieldBuilder() {
      if (fleetConfigsBuilder_ == null) {
        fleetConfigsBuilder_ =
            new com.google.protobuf.RepeatedFieldBuilderV3<
                com.google.cloud.gaming.v1beta.FleetConfig,
                com.google.cloud.gaming.v1beta.FleetConfig.Builder,
                com.google.cloud.gaming.v1beta.FleetConfigOrBuilder>(
                fleetConfigs_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
        fleetConfigs_ = null;
      }
      return fleetConfigsBuilder_;
    }

    private java.util.List<com.google.cloud.gaming.v1beta.ScalingConfig> scalingConfigs_ =
        java.util.Collections.emptyList();

    private void ensureScalingConfigsIsMutable() {
      if (!((bitField0_ & 0x00000004) != 0)) {
        scalingConfigs_ =
            new java.util.ArrayList<com.google.cloud.gaming.v1beta.ScalingConfig>(scalingConfigs_);
        bitField0_ |= 0x00000004;
      }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
            com.google.cloud.gaming.v1beta.ScalingConfig,
            com.google.cloud.gaming.v1beta.ScalingConfig.Builder,
            com.google.cloud.gaming.v1beta.ScalingConfigOrBuilder>
        scalingConfigsBuilder_;

    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public java.util.List<com.google.cloud.gaming.v1beta.ScalingConfig> getScalingConfigsList() {
      if (scalingConfigsBuilder_ == null) {
        return java.util.Collections.unmodifiableList(scalingConfigs_);
      } else {
        return scalingConfigsBuilder_.getMessageList();
      }
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public int getScalingConfigsCount() {
      if (scalingConfigsBuilder_ == null) {
        return scalingConfigs_.size();
      } else {
        return scalingConfigsBuilder_.getCount();
      }
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public com.google.cloud.gaming.v1beta.ScalingConfig getScalingConfigs(int index) {
      if (scalingConfigsBuilder_ == null) {
        return scalingConfigs_.get(index);
      } else {
        return scalingConfigsBuilder_.getMessage(index);
      }
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public Builder setScalingConfigs(
        int index, com.google.cloud.gaming.v1beta.ScalingConfig value) {
      if (scalingConfigsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureScalingConfigsIsMutable();
        scalingConfigs_.set(index, value);
        onChanged();
      } else {
        scalingConfigsBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public Builder setScalingConfigs(
        int index, com.google.cloud.gaming.v1beta.ScalingConfig.Builder builderForValue) {
      if (scalingConfigsBuilder_ == null) {
        ensureScalingConfigsIsMutable();
        scalingConfigs_.set(index, builderForValue.build());
        onChanged();
      } else {
        scalingConfigsBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public Builder addScalingConfigs(com.google.cloud.gaming.v1beta.ScalingConfig value) {
      if (scalingConfigsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureScalingConfigsIsMutable();
        scalingConfigs_.add(value);
        onChanged();
      } else {
        scalingConfigsBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public Builder addScalingConfigs(
        int index, com.google.cloud.gaming.v1beta.ScalingConfig value) {
      if (scalingConfigsBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureScalingConfigsIsMutable();
        scalingConfigs_.add(index, value);
        onChanged();
      } else {
        scalingConfigsBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public Builder addScalingConfigs(
        com.google.cloud.gaming.v1beta.ScalingConfig.Builder builderForValue) {
      if (scalingConfigsBuilder_ == null) {
        ensureScalingConfigsIsMutable();
        scalingConfigs_.add(builderForValue.build());
        onChanged();
      } else {
        scalingConfigsBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public Builder addScalingConfigs(
        int index, com.google.cloud.gaming.v1beta.ScalingConfig.Builder builderForValue) {
      if (scalingConfigsBuilder_ == null) {
        ensureScalingConfigsIsMutable();
        scalingConfigs_.add(index, builderForValue.build());
        onChanged();
      } else {
        scalingConfigsBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public Builder addAllScalingConfigs(
        java.lang.Iterable<? extends com.google.cloud.gaming.v1beta.ScalingConfig> values) {
      if (scalingConfigsBuilder_ == null) {
        ensureScalingConfigsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(values, scalingConfigs_);
        onChanged();
      } else {
        scalingConfigsBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public Builder clearScalingConfigs() {
      if (scalingConfigsBuilder_ == null) {
        scalingConfigs_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
      } else {
        scalingConfigsBuilder_.clear();
      }
      return this;
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public Builder removeScalingConfigs(int index) {
      if (scalingConfigsBuilder_ == null) {
        ensureScalingConfigsIsMutable();
        scalingConfigs_.remove(index);
        onChanged();
      } else {
        scalingConfigsBuilder_.remove(index);
      }
      return this;
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public com.google.cloud.gaming.v1beta.ScalingConfig.Builder getScalingConfigsBuilder(
        int index) {
      return getScalingConfigsFieldBuilder().getBuilder(index);
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public com.google.cloud.gaming.v1beta.ScalingConfigOrBuilder getScalingConfigsOrBuilder(
        int index) {
      if (scalingConfigsBuilder_ == null) {
        return scalingConfigs_.get(index);
      } else {
        return scalingConfigsBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public java.util.List<? extends com.google.cloud.gaming.v1beta.ScalingConfigOrBuilder>
        getScalingConfigsOrBuilderList() {
      if (scalingConfigsBuilder_ != null) {
        return scalingConfigsBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(scalingConfigs_);
      }
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public com.google.cloud.gaming.v1beta.ScalingConfig.Builder addScalingConfigsBuilder() {
      return getScalingConfigsFieldBuilder()
          .addBuilder(com.google.cloud.gaming.v1beta.ScalingConfig.getDefaultInstance());
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public com.google.cloud.gaming.v1beta.ScalingConfig.Builder addScalingConfigsBuilder(
        int index) {
      return getScalingConfigsFieldBuilder()
          .addBuilder(index, com.google.cloud.gaming.v1beta.ScalingConfig.getDefaultInstance());
    }
    /**
     *
     *
     *

     * The autoscaling settings.
     *

     *
     * repeated .google.cloud.gaming.v1beta.ScalingConfig scaling_configs = 6;
     */
    public java.util.List<com.google.cloud.gaming.v1beta.ScalingConfig.Builder>
        getScalingConfigsBuilderList() {
      return getScalingConfigsFieldBuilder().getBuilderList();
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
            com.google.cloud.gaming.v1beta.ScalingConfig,
            com.google.cloud.gaming.v1beta.ScalingConfig.Builder,
            com.google.cloud.gaming.v1beta.ScalingConfigOrBuilder>
        getScalingConfigsFieldBuilder() {
      if (scalingConfigsBuilder_ == null) {
        scalingConfigsBuilder_ =
            new com.google.protobuf.RepeatedFieldBuilderV3<
                com.google.cloud.gaming.v1beta.ScalingConfig,
                com.google.cloud.gaming.v1beta.ScalingConfig.Builder,
                com.google.cloud.gaming.v1beta.ScalingConfigOrBuilder>(
                scalingConfigs_,
                ((bitField0_ & 0x00000004) != 0),
                getParentForChildren(),
                isClean());
        scalingConfigs_ = null;
      }
      return scalingConfigsBuilder_;
    }

    private java.lang.Object description_ = "";
    /**
     *
     *
     *

     * The description of the game server config.
     *

     *
     * string description = 7;
     *
     * @return The description.
     */
    public java.lang.String getDescription() {
      java.lang.Object ref = description_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        description_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     *
     *
     *

     * The description of the game server config.
     *

     *
     * string description = 7;
     *
     * @return The bytes for description.
     */
    public com.google.protobuf.ByteString getDescriptionBytes() {
      java.lang.Object ref = description_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
        description_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     *
     *
     *

     * The description of the game server config.
     *

     *
     * string description = 7;
     *
     * @param value The description to set.
     * @return This builder for chaining.
     */
    public Builder setDescription(java.lang.String value) {
      if (value == null) {
        throw new NullPointerException();
      }

      description_ = value;
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * The description of the game server config.
     *

     *
     * string description = 7;
     *
     * @return This builder for chaining.
     */
    public Builder clearDescription() {

      description_ = getDefaultInstance().getDescription();
      onChanged();
      return this;
    }
    /**
     *
     *
     *

     * The description of the game server config.
     *

     *
     * string description = 7;
     *
     * @param value The bytes for description to set.
     * @return This builder for chaining.
     */
    public Builder setDescriptionBytes(com.google.protobuf.ByteString value) {
      if (value == null) {
        throw new NullPointerException();
      }
      checkByteStringIsUtf8(value);

      description_ = value;
      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.gaming.v1beta.GameServerConfig)
  }

  // @@protoc_insertion_point(class_scope:google.cloud.gaming.v1beta.GameServerConfig)
  private static final com.google.cloud.gaming.v1beta.GameServerConfig DEFAULT_INSTANCE;

  static {
    DEFAULT_INSTANCE = new com.google.cloud.gaming.v1beta.GameServerConfig();
  }

  public static com.google.cloud.gaming.v1beta.GameServerConfig getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser<GameServerConfig> PARSER =
      new com.google.protobuf.AbstractParser<GameServerConfig>() {
        @java.lang.Override
        public GameServerConfig 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<GameServerConfig> parser() {
    return PARSER;
  }

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

  @java.lang.Override
  public com.google.cloud.gaming.v1beta.GameServerConfig getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }
}

redpajama_set_name: RedPajamaGithub


Learn to surf with an Irish Surfing Association (ISA) approved surf school whose instructors are all fully qualified and experienced surfers.
Experience the great outdoors and get fit at the same time. But most importantly you'll have great fun and meet great people.
Lessons will be held in Streedagh, Co. Sligo or Bundoran, Co. Donegal. All equipment will be provided.
(Transport can be arranged to and from The Benwiskin Centre to water activities for groups of 10 or more people).


text:
Cannabis Culture Is Going Highbrow
Strains. Sophisticated, specialized breeds that play up (or, in some cases, eliminate) psychoactive effects are big business: connoisseurs like Jake Browne sound more like Bizarro World single-malt whiskey tasters all the time. Cannabis growers and breeders, in turn, are tailoring their crops to provide specific effects, from peppy to pain-free. Surprisingly, we have a long road ahead when it comes to labelling strains - even among medical suppliers, it's far from an exact science.)
Organics. More than ever, people are interested in buying locally and ethically whenever possible - which means that more cannabis consumers are looking for a Whole Foods, rather than McDonalds, consumer experience. Organic, pesticide-free buds and a focus on personal relationships with farmers is the way of the future for the cannabis industry.
Better accessories. Delicate, finely-calibrated glassware. Gold-leaf rolling papers. Cannabis-infused wine. As marijuana goes mainstream, the industry's best and brightest are at work on new, even more aesthetically-pleasing ways to consume.
Edibles. Rest in peace, basic brownie - although, hey, we have nothing against brownies provided they're made properly. The macaroons, pastries, tarts, and cookies at top legal kitchens rival what you're find at the finest French bakery - and they're only getting more refined.
Vapes. It's impossible to overstate the degree to which vaping has changed cannabis culture for the better. In a few short years, the vape has allowed consumers to move from sneakily lighting joints in back alleys to...literally anywhere, whether at your in-law's place, or out at a nice resto.
Openness. The biggest shift for the better? An enlightened attitude toward responsible, adult consumption. We know we've made progress on this front when even someone like Jeb Bush can now admit he smoked weed - and no one really cares.

redpajama_set_name: RedPajamaCommonCrawl


text:
Handbook on Complementarity- An Introduction to the Role of National Courts and the ICC in Prosecuting International Crimes
Paul Seils, International Center for Transitional Justice
This Handbook is intended to explain the main issues of law and practice related to complementarity for those who are not legal specialists. It is aimed at organizations and individuals that are not specicalists on the International Criminal Court or criminal law issues. It supports those who want to understand the basic legal issues as well as the broader contextual matters connected to complementarity by explaining how the complementarity regime works. After reading this handbook, readers should have a basic understanding of the ICC, the concept of complementarity, how key cases on the issue have been decided, what the different stages of the admissibility process entail, what it means for national legal systems, and what it means for other national actors, including civil society and victims' representatives. Case studies include the following countries: Afghanistan, Colombia, Cote d'Ivoire, the Democratic Republic of the Congo, Kenya, and Libya. This resource is also available in French.
Psychosocial Support for Children: Protecting the Rights of Child Victims and Witnesses in Transitional Justice Processes
An Michels, UNICEF Innocenti Research Centre
Download full PDF from unicef-irc.org
This resource outlines the importance of psychosocial support for children in their participation in transitional justice mechanisms, such as international tribunals, hybrid tribunals, and truth commissions. It also provides an overview of policies and procedures which protect the rights of child participants in truth, justice, and reconciliation efforts.
ICTY Manual on Developed Practices
International Criminal Tribunal for the former Yugoslavia (ICTY); UN Interregional Crime and Justice Research Institute (UNICRI)
Download full PDF from icty.org
This resource shares the International Criminal Tribunal of Yugoslavia's (ICTY) experiences and established practices in the prosecution and adjudication of cases involving war crimes and serious violations of international humanitarian law. This manual is intended for actors prosecuting crimes during armed conflict in national and international jurisdictions. It provides guidelines on opening an investigation and information gathering, interviewing witnesses, indictments, issuing arrest warrants, pre-trial proceedings, trial and case management, and enforcement of sentences.
Implementing Victims' Rights: A Handbook on the Basic Principles and Guidelines on the Right to a Remedy and Reparation
Download full PDF from redress.org
This resource was created as a companion to the UN's Basic Principles and Guidelines on the Right to a Remedy and Reparation for Victims of Gross Violations of International Human Rights Law and Serious Violations of International Humanitarian Law. It was intended to help guide non-governmental and civil society organizations advocate for victims' rights as primary concern in state action.
Rule-of-Law Tools for Post-Conflict States: Mapping the justice sector
This resource aims to assist UN missions and transitional administrations in mapping the justice sector to understand how it operates in states before and during conflict. This resource provides an overview of key institutions, mechanisms, and priorities such as linkages between institutions and oversight bodies or accountability mechanisms. Page 14 focuses on traditional justice.
Basic Principles and Guidelines on the Right to Remedy and Reparation for Victims of Gross Violations of International Human Rights Law and Serious Violations of International Humanitarian Law
See full resource on ohchr.org
This UN General Assembly resolution provides principles related to State's obligations concerning reparations to victims of international humanitarian and human rights abuses. Victims have a right to be treated humanely and with respect, to access justice and relevant information, and to be afforded adequate and effective reparation without discrimination.