All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.envoyproxy.envoy.admin.v3.ClusterStatus Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: envoy/admin/v3/clusters.proto

// Protobuf Java Version: 3.25.1
package io.envoyproxy.envoy.admin.v3;

/**
 * 
 * Details an individual cluster's current status.
 * [#next-free-field: 9]
 * 
* * Protobuf type {@code envoy.admin.v3.ClusterStatus} */ public final class ClusterStatus extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:envoy.admin.v3.ClusterStatus) ClusterStatusOrBuilder { private static final long serialVersionUID = 0L; // Use ClusterStatus.newBuilder() to construct. private ClusterStatus(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private ClusterStatus() { name_ = ""; hostStatuses_ = java.util.Collections.emptyList(); observabilityName_ = ""; edsServiceName_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new ClusterStatus(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.admin.v3.ClustersProto.internal_static_envoy_admin_v3_ClusterStatus_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.admin.v3.ClustersProto.internal_static_envoy_admin_v3_ClusterStatus_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.admin.v3.ClusterStatus.class, io.envoyproxy.envoy.admin.v3.ClusterStatus.Builder.class); } private int bitField0_; public static final int NAME_FIELD_NUMBER = 1; @SuppressWarnings("serial") private volatile java.lang.Object name_ = ""; /** *
   * Name of the cluster.
   * 
* * 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; } } /** *
   * Name of the cluster.
   * 
* * 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 ADDED_VIA_API_FIELD_NUMBER = 2; private boolean addedViaApi_ = false; /** *
   * Denotes whether this cluster was added via API or configured statically.
   * 
* * bool added_via_api = 2; * @return The addedViaApi. */ @java.lang.Override public boolean getAddedViaApi() { return addedViaApi_; } public static final int SUCCESS_RATE_EJECTION_THRESHOLD_FIELD_NUMBER = 3; private io.envoyproxy.envoy.type.v3.Percent successRateEjectionThreshold_; /** *
   * The success rate threshold used in the last interval.
   *
   * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
   *   is ``false``, all errors: externally and locally generated were used to calculate the threshold.
   * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
   *   is ``true``, only externally generated errors were used to calculate the threshold.
   *
   * The threshold is used to eject hosts based on their success rate. For more information, see the
   * :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
   *
   * .. note::
   *
   *   This field may be omitted in any of the three following cases:
   *
   *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
   *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
   *      interval.
   *   3. Outlier detection is not enabled for this cluster.
   * 
* * .envoy.type.v3.Percent success_rate_ejection_threshold = 3; * @return Whether the successRateEjectionThreshold field is set. */ @java.lang.Override public boolean hasSuccessRateEjectionThreshold() { return ((bitField0_ & 0x00000001) != 0); } /** *
   * The success rate threshold used in the last interval.
   *
   * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
   *   is ``false``, all errors: externally and locally generated were used to calculate the threshold.
   * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
   *   is ``true``, only externally generated errors were used to calculate the threshold.
   *
   * The threshold is used to eject hosts based on their success rate. For more information, see the
   * :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
   *
   * .. note::
   *
   *   This field may be omitted in any of the three following cases:
   *
   *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
   *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
   *      interval.
   *   3. Outlier detection is not enabled for this cluster.
   * 
* * .envoy.type.v3.Percent success_rate_ejection_threshold = 3; * @return The successRateEjectionThreshold. */ @java.lang.Override public io.envoyproxy.envoy.type.v3.Percent getSuccessRateEjectionThreshold() { return successRateEjectionThreshold_ == null ? io.envoyproxy.envoy.type.v3.Percent.getDefaultInstance() : successRateEjectionThreshold_; } /** *
   * The success rate threshold used in the last interval.
   *
   * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
   *   is ``false``, all errors: externally and locally generated were used to calculate the threshold.
   * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
   *   is ``true``, only externally generated errors were used to calculate the threshold.
   *
   * The threshold is used to eject hosts based on their success rate. For more information, see the
   * :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
   *
   * .. note::
   *
   *   This field may be omitted in any of the three following cases:
   *
   *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
   *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
   *      interval.
   *   3. Outlier detection is not enabled for this cluster.
   * 
* * .envoy.type.v3.Percent success_rate_ejection_threshold = 3; */ @java.lang.Override public io.envoyproxy.envoy.type.v3.PercentOrBuilder getSuccessRateEjectionThresholdOrBuilder() { return successRateEjectionThreshold_ == null ? io.envoyproxy.envoy.type.v3.Percent.getDefaultInstance() : successRateEjectionThreshold_; } public static final int HOST_STATUSES_FIELD_NUMBER = 4; @SuppressWarnings("serial") private java.util.List hostStatuses_; /** *
   * Mapping from host address to the host's current status.
   * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ @java.lang.Override public java.util.List getHostStatusesList() { return hostStatuses_; } /** *
   * Mapping from host address to the host's current status.
   * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ @java.lang.Override public java.util.List getHostStatusesOrBuilderList() { return hostStatuses_; } /** *
   * Mapping from host address to the host's current status.
   * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ @java.lang.Override public int getHostStatusesCount() { return hostStatuses_.size(); } /** *
   * Mapping from host address to the host's current status.
   * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ @java.lang.Override public io.envoyproxy.envoy.admin.v3.HostStatus getHostStatuses(int index) { return hostStatuses_.get(index); } /** *
   * Mapping from host address to the host's current status.
   * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ @java.lang.Override public io.envoyproxy.envoy.admin.v3.HostStatusOrBuilder getHostStatusesOrBuilder( int index) { return hostStatuses_.get(index); } public static final int LOCAL_ORIGIN_SUCCESS_RATE_EJECTION_THRESHOLD_FIELD_NUMBER = 5; private io.envoyproxy.envoy.type.v3.Percent localOriginSuccessRateEjectionThreshold_; /** *
   * The success rate threshold used in the last interval when only locally originated failures were
   * taken into account and externally originated errors were treated as success.
   * This field should be interpreted only when
   * :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
   * is ``true``. The threshold is used to eject hosts based on their success rate.
   *
   * For more information, see the :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
   *
   * .. note::
   *
   *   This field may be omitted in any of the three following cases:
   *
   *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
   *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
   *      interval.
   *   3. Outlier detection is not enabled for this cluster.
   * 
* * .envoy.type.v3.Percent local_origin_success_rate_ejection_threshold = 5; * @return Whether the localOriginSuccessRateEjectionThreshold field is set. */ @java.lang.Override public boolean hasLocalOriginSuccessRateEjectionThreshold() { return ((bitField0_ & 0x00000002) != 0); } /** *
   * The success rate threshold used in the last interval when only locally originated failures were
   * taken into account and externally originated errors were treated as success.
   * This field should be interpreted only when
   * :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
   * is ``true``. The threshold is used to eject hosts based on their success rate.
   *
   * For more information, see the :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
   *
   * .. note::
   *
   *   This field may be omitted in any of the three following cases:
   *
   *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
   *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
   *      interval.
   *   3. Outlier detection is not enabled for this cluster.
   * 
* * .envoy.type.v3.Percent local_origin_success_rate_ejection_threshold = 5; * @return The localOriginSuccessRateEjectionThreshold. */ @java.lang.Override public io.envoyproxy.envoy.type.v3.Percent getLocalOriginSuccessRateEjectionThreshold() { return localOriginSuccessRateEjectionThreshold_ == null ? io.envoyproxy.envoy.type.v3.Percent.getDefaultInstance() : localOriginSuccessRateEjectionThreshold_; } /** *
   * The success rate threshold used in the last interval when only locally originated failures were
   * taken into account and externally originated errors were treated as success.
   * This field should be interpreted only when
   * :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
   * is ``true``. The threshold is used to eject hosts based on their success rate.
   *
   * For more information, see the :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
   *
   * .. note::
   *
   *   This field may be omitted in any of the three following cases:
   *
   *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
   *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
   *      interval.
   *   3. Outlier detection is not enabled for this cluster.
   * 
* * .envoy.type.v3.Percent local_origin_success_rate_ejection_threshold = 5; */ @java.lang.Override public io.envoyproxy.envoy.type.v3.PercentOrBuilder getLocalOriginSuccessRateEjectionThresholdOrBuilder() { return localOriginSuccessRateEjectionThreshold_ == null ? io.envoyproxy.envoy.type.v3.Percent.getDefaultInstance() : localOriginSuccessRateEjectionThreshold_; } public static final int CIRCUIT_BREAKERS_FIELD_NUMBER = 6; private io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers circuitBreakers_; /** *
   * :ref:`Circuit breaking <arch_overview_circuit_break>` settings of the cluster.
   * 
* * .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 6; * @return Whether the circuitBreakers field is set. */ @java.lang.Override public boolean hasCircuitBreakers() { return ((bitField0_ & 0x00000004) != 0); } /** *
   * :ref:`Circuit breaking <arch_overview_circuit_break>` settings of the cluster.
   * 
* * .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 6; * @return The circuitBreakers. */ @java.lang.Override public io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers getCircuitBreakers() { return circuitBreakers_ == null ? io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers.getDefaultInstance() : circuitBreakers_; } /** *
   * :ref:`Circuit breaking <arch_overview_circuit_break>` settings of the cluster.
   * 
* * .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 6; */ @java.lang.Override public io.envoyproxy.envoy.config.cluster.v3.CircuitBreakersOrBuilder getCircuitBreakersOrBuilder() { return circuitBreakers_ == null ? io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers.getDefaultInstance() : circuitBreakers_; } public static final int OBSERVABILITY_NAME_FIELD_NUMBER = 7; @SuppressWarnings("serial") private volatile java.lang.Object observabilityName_ = ""; /** *
   * Observability name of the cluster.
   * 
* * string observability_name = 7; * @return The observabilityName. */ @java.lang.Override public java.lang.String getObservabilityName() { java.lang.Object ref = observabilityName_; 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(); observabilityName_ = s; return s; } } /** *
   * Observability name of the cluster.
   * 
* * string observability_name = 7; * @return The bytes for observabilityName. */ @java.lang.Override public com.google.protobuf.ByteString getObservabilityNameBytes() { java.lang.Object ref = observabilityName_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); observabilityName_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int EDS_SERVICE_NAME_FIELD_NUMBER = 8; @SuppressWarnings("serial") private volatile java.lang.Object edsServiceName_ = ""; /** *
   * The :ref:`EDS service name <envoy_v3_api_field_config.cluster.v3.Cluster.EdsClusterConfig.service_name>` if the cluster is an EDS cluster.
   * 
* * string eds_service_name = 8; * @return The edsServiceName. */ @java.lang.Override public java.lang.String getEdsServiceName() { java.lang.Object ref = edsServiceName_; 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(); edsServiceName_ = s; return s; } } /** *
   * The :ref:`EDS service name <envoy_v3_api_field_config.cluster.v3.Cluster.EdsClusterConfig.service_name>` if the cluster is an EDS cluster.
   * 
* * string eds_service_name = 8; * @return The bytes for edsServiceName. */ @java.lang.Override public com.google.protobuf.ByteString getEdsServiceNameBytes() { java.lang.Object ref = edsServiceName_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); edsServiceName_ = 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 (addedViaApi_ != false) { output.writeBool(2, addedViaApi_); } if (((bitField0_ & 0x00000001) != 0)) { output.writeMessage(3, getSuccessRateEjectionThreshold()); } for (int i = 0; i < hostStatuses_.size(); i++) { output.writeMessage(4, hostStatuses_.get(i)); } if (((bitField0_ & 0x00000002) != 0)) { output.writeMessage(5, getLocalOriginSuccessRateEjectionThreshold()); } if (((bitField0_ & 0x00000004) != 0)) { output.writeMessage(6, getCircuitBreakers()); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(observabilityName_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 7, observabilityName_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(edsServiceName_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 8, edsServiceName_); } 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 (addedViaApi_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(2, addedViaApi_); } if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, getSuccessRateEjectionThreshold()); } for (int i = 0; i < hostStatuses_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, hostStatuses_.get(i)); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, getLocalOriginSuccessRateEjectionThreshold()); } if (((bitField0_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, getCircuitBreakers()); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(observabilityName_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, observabilityName_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(edsServiceName_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, edsServiceName_); } 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 io.envoyproxy.envoy.admin.v3.ClusterStatus)) { return super.equals(obj); } io.envoyproxy.envoy.admin.v3.ClusterStatus other = (io.envoyproxy.envoy.admin.v3.ClusterStatus) obj; if (!getName() .equals(other.getName())) return false; if (getAddedViaApi() != other.getAddedViaApi()) return false; if (hasSuccessRateEjectionThreshold() != other.hasSuccessRateEjectionThreshold()) return false; if (hasSuccessRateEjectionThreshold()) { if (!getSuccessRateEjectionThreshold() .equals(other.getSuccessRateEjectionThreshold())) return false; } if (!getHostStatusesList() .equals(other.getHostStatusesList())) return false; if (hasLocalOriginSuccessRateEjectionThreshold() != other.hasLocalOriginSuccessRateEjectionThreshold()) return false; if (hasLocalOriginSuccessRateEjectionThreshold()) { if (!getLocalOriginSuccessRateEjectionThreshold() .equals(other.getLocalOriginSuccessRateEjectionThreshold())) return false; } if (hasCircuitBreakers() != other.hasCircuitBreakers()) return false; if (hasCircuitBreakers()) { if (!getCircuitBreakers() .equals(other.getCircuitBreakers())) return false; } if (!getObservabilityName() .equals(other.getObservabilityName())) return false; if (!getEdsServiceName() .equals(other.getEdsServiceName())) 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(); hash = (37 * hash) + ADDED_VIA_API_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getAddedViaApi()); if (hasSuccessRateEjectionThreshold()) { hash = (37 * hash) + SUCCESS_RATE_EJECTION_THRESHOLD_FIELD_NUMBER; hash = (53 * hash) + getSuccessRateEjectionThreshold().hashCode(); } if (getHostStatusesCount() > 0) { hash = (37 * hash) + HOST_STATUSES_FIELD_NUMBER; hash = (53 * hash) + getHostStatusesList().hashCode(); } if (hasLocalOriginSuccessRateEjectionThreshold()) { hash = (37 * hash) + LOCAL_ORIGIN_SUCCESS_RATE_EJECTION_THRESHOLD_FIELD_NUMBER; hash = (53 * hash) + getLocalOriginSuccessRateEjectionThreshold().hashCode(); } if (hasCircuitBreakers()) { hash = (37 * hash) + CIRCUIT_BREAKERS_FIELD_NUMBER; hash = (53 * hash) + getCircuitBreakers().hashCode(); } hash = (37 * hash) + OBSERVABILITY_NAME_FIELD_NUMBER; hash = (53 * hash) + getObservabilityName().hashCode(); hash = (37 * hash) + EDS_SERVICE_NAME_FIELD_NUMBER; hash = (53 * hash) + getEdsServiceName().hashCode(); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static io.envoyproxy.envoy.admin.v3.ClusterStatus parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.admin.v3.ClusterStatus parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.admin.v3.ClusterStatus parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.admin.v3.ClusterStatus parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.admin.v3.ClusterStatus parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.admin.v3.ClusterStatus parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.admin.v3.ClusterStatus parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.admin.v3.ClusterStatus 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 io.envoyproxy.envoy.admin.v3.ClusterStatus parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static io.envoyproxy.envoy.admin.v3.ClusterStatus 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 io.envoyproxy.envoy.admin.v3.ClusterStatus parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.admin.v3.ClusterStatus 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(io.envoyproxy.envoy.admin.v3.ClusterStatus 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; } /** *
   * Details an individual cluster's current status.
   * [#next-free-field: 9]
   * 
* * Protobuf type {@code envoy.admin.v3.ClusterStatus} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:envoy.admin.v3.ClusterStatus) io.envoyproxy.envoy.admin.v3.ClusterStatusOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.admin.v3.ClustersProto.internal_static_envoy_admin_v3_ClusterStatus_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.admin.v3.ClustersProto.internal_static_envoy_admin_v3_ClusterStatus_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.admin.v3.ClusterStatus.class, io.envoyproxy.envoy.admin.v3.ClusterStatus.Builder.class); } // Construct using io.envoyproxy.envoy.admin.v3.ClusterStatus.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getSuccessRateEjectionThresholdFieldBuilder(); getHostStatusesFieldBuilder(); getLocalOriginSuccessRateEjectionThresholdFieldBuilder(); getCircuitBreakersFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; name_ = ""; addedViaApi_ = false; successRateEjectionThreshold_ = null; if (successRateEjectionThresholdBuilder_ != null) { successRateEjectionThresholdBuilder_.dispose(); successRateEjectionThresholdBuilder_ = null; } if (hostStatusesBuilder_ == null) { hostStatuses_ = java.util.Collections.emptyList(); } else { hostStatuses_ = null; hostStatusesBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000008); localOriginSuccessRateEjectionThreshold_ = null; if (localOriginSuccessRateEjectionThresholdBuilder_ != null) { localOriginSuccessRateEjectionThresholdBuilder_.dispose(); localOriginSuccessRateEjectionThresholdBuilder_ = null; } circuitBreakers_ = null; if (circuitBreakersBuilder_ != null) { circuitBreakersBuilder_.dispose(); circuitBreakersBuilder_ = null; } observabilityName_ = ""; edsServiceName_ = ""; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return io.envoyproxy.envoy.admin.v3.ClustersProto.internal_static_envoy_admin_v3_ClusterStatus_descriptor; } @java.lang.Override public io.envoyproxy.envoy.admin.v3.ClusterStatus getDefaultInstanceForType() { return io.envoyproxy.envoy.admin.v3.ClusterStatus.getDefaultInstance(); } @java.lang.Override public io.envoyproxy.envoy.admin.v3.ClusterStatus build() { io.envoyproxy.envoy.admin.v3.ClusterStatus result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.envoyproxy.envoy.admin.v3.ClusterStatus buildPartial() { io.envoyproxy.envoy.admin.v3.ClusterStatus result = new io.envoyproxy.envoy.admin.v3.ClusterStatus(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartialRepeatedFields(io.envoyproxy.envoy.admin.v3.ClusterStatus result) { if (hostStatusesBuilder_ == null) { if (((bitField0_ & 0x00000008) != 0)) { hostStatuses_ = java.util.Collections.unmodifiableList(hostStatuses_); bitField0_ = (bitField0_ & ~0x00000008); } result.hostStatuses_ = hostStatuses_; } else { result.hostStatuses_ = hostStatusesBuilder_.build(); } } private void buildPartial0(io.envoyproxy.envoy.admin.v3.ClusterStatus result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.name_ = name_; } if (((from_bitField0_ & 0x00000002) != 0)) { result.addedViaApi_ = addedViaApi_; } int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000004) != 0)) { result.successRateEjectionThreshold_ = successRateEjectionThresholdBuilder_ == null ? successRateEjectionThreshold_ : successRateEjectionThresholdBuilder_.build(); to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000010) != 0)) { result.localOriginSuccessRateEjectionThreshold_ = localOriginSuccessRateEjectionThresholdBuilder_ == null ? localOriginSuccessRateEjectionThreshold_ : localOriginSuccessRateEjectionThresholdBuilder_.build(); to_bitField0_ |= 0x00000002; } if (((from_bitField0_ & 0x00000020) != 0)) { result.circuitBreakers_ = circuitBreakersBuilder_ == null ? circuitBreakers_ : circuitBreakersBuilder_.build(); to_bitField0_ |= 0x00000004; } if (((from_bitField0_ & 0x00000040) != 0)) { result.observabilityName_ = observabilityName_; } if (((from_bitField0_ & 0x00000080) != 0)) { result.edsServiceName_ = edsServiceName_; } 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 io.envoyproxy.envoy.admin.v3.ClusterStatus) { return mergeFrom((io.envoyproxy.envoy.admin.v3.ClusterStatus)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.envoyproxy.envoy.admin.v3.ClusterStatus other) { if (other == io.envoyproxy.envoy.admin.v3.ClusterStatus.getDefaultInstance()) return this; if (!other.getName().isEmpty()) { name_ = other.name_; bitField0_ |= 0x00000001; onChanged(); } if (other.getAddedViaApi() != false) { setAddedViaApi(other.getAddedViaApi()); } if (other.hasSuccessRateEjectionThreshold()) { mergeSuccessRateEjectionThreshold(other.getSuccessRateEjectionThreshold()); } if (hostStatusesBuilder_ == null) { if (!other.hostStatuses_.isEmpty()) { if (hostStatuses_.isEmpty()) { hostStatuses_ = other.hostStatuses_; bitField0_ = (bitField0_ & ~0x00000008); } else { ensureHostStatusesIsMutable(); hostStatuses_.addAll(other.hostStatuses_); } onChanged(); } } else { if (!other.hostStatuses_.isEmpty()) { if (hostStatusesBuilder_.isEmpty()) { hostStatusesBuilder_.dispose(); hostStatusesBuilder_ = null; hostStatuses_ = other.hostStatuses_; bitField0_ = (bitField0_ & ~0x00000008); hostStatusesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getHostStatusesFieldBuilder() : null; } else { hostStatusesBuilder_.addAllMessages(other.hostStatuses_); } } } if (other.hasLocalOriginSuccessRateEjectionThreshold()) { mergeLocalOriginSuccessRateEjectionThreshold(other.getLocalOriginSuccessRateEjectionThreshold()); } if (other.hasCircuitBreakers()) { mergeCircuitBreakers(other.getCircuitBreakers()); } if (!other.getObservabilityName().isEmpty()) { observabilityName_ = other.observabilityName_; bitField0_ |= 0x00000040; onChanged(); } if (!other.getEdsServiceName().isEmpty()) { edsServiceName_ = other.edsServiceName_; bitField0_ |= 0x00000080; 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(); bitField0_ |= 0x00000001; break; } // case 10 case 16: { addedViaApi_ = input.readBool(); bitField0_ |= 0x00000002; break; } // case 16 case 26: { input.readMessage( getSuccessRateEjectionThresholdFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000004; break; } // case 26 case 34: { io.envoyproxy.envoy.admin.v3.HostStatus m = input.readMessage( io.envoyproxy.envoy.admin.v3.HostStatus.parser(), extensionRegistry); if (hostStatusesBuilder_ == null) { ensureHostStatusesIsMutable(); hostStatuses_.add(m); } else { hostStatusesBuilder_.addMessage(m); } break; } // case 34 case 42: { input.readMessage( getLocalOriginSuccessRateEjectionThresholdFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000010; break; } // case 42 case 50: { input.readMessage( getCircuitBreakersFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000020; break; } // case 50 case 58: { observabilityName_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000040; break; } // case 58 case 66: { edsServiceName_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000080; break; } // case 66 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_ = ""; /** *
     * Name of the cluster.
     * 
* * 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; } } /** *
     * Name of the cluster.
     * 
* * 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; } } /** *
     * Name of the cluster.
     * 
* * 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; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
     * Name of the cluster.
     * 
* * string name = 1; * @return This builder for chaining. */ public Builder clearName() { name_ = getDefaultInstance().getName(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** *
     * Name of the cluster.
     * 
* * 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; bitField0_ |= 0x00000001; onChanged(); return this; } private boolean addedViaApi_ ; /** *
     * Denotes whether this cluster was added via API or configured statically.
     * 
* * bool added_via_api = 2; * @return The addedViaApi. */ @java.lang.Override public boolean getAddedViaApi() { return addedViaApi_; } /** *
     * Denotes whether this cluster was added via API or configured statically.
     * 
* * bool added_via_api = 2; * @param value The addedViaApi to set. * @return This builder for chaining. */ public Builder setAddedViaApi(boolean value) { addedViaApi_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** *
     * Denotes whether this cluster was added via API or configured statically.
     * 
* * bool added_via_api = 2; * @return This builder for chaining. */ public Builder clearAddedViaApi() { bitField0_ = (bitField0_ & ~0x00000002); addedViaApi_ = false; onChanged(); return this; } private io.envoyproxy.envoy.type.v3.Percent successRateEjectionThreshold_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.type.v3.Percent, io.envoyproxy.envoy.type.v3.Percent.Builder, io.envoyproxy.envoy.type.v3.PercentOrBuilder> successRateEjectionThresholdBuilder_; /** *
     * The success rate threshold used in the last interval.
     *
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``false``, all errors: externally and locally generated were used to calculate the threshold.
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``true``, only externally generated errors were used to calculate the threshold.
     *
     * The threshold is used to eject hosts based on their success rate. For more information, see the
     * :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent success_rate_ejection_threshold = 3; * @return Whether the successRateEjectionThreshold field is set. */ public boolean hasSuccessRateEjectionThreshold() { return ((bitField0_ & 0x00000004) != 0); } /** *
     * The success rate threshold used in the last interval.
     *
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``false``, all errors: externally and locally generated were used to calculate the threshold.
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``true``, only externally generated errors were used to calculate the threshold.
     *
     * The threshold is used to eject hosts based on their success rate. For more information, see the
     * :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent success_rate_ejection_threshold = 3; * @return The successRateEjectionThreshold. */ public io.envoyproxy.envoy.type.v3.Percent getSuccessRateEjectionThreshold() { if (successRateEjectionThresholdBuilder_ == null) { return successRateEjectionThreshold_ == null ? io.envoyproxy.envoy.type.v3.Percent.getDefaultInstance() : successRateEjectionThreshold_; } else { return successRateEjectionThresholdBuilder_.getMessage(); } } /** *
     * The success rate threshold used in the last interval.
     *
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``false``, all errors: externally and locally generated were used to calculate the threshold.
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``true``, only externally generated errors were used to calculate the threshold.
     *
     * The threshold is used to eject hosts based on their success rate. For more information, see the
     * :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent success_rate_ejection_threshold = 3; */ public Builder setSuccessRateEjectionThreshold(io.envoyproxy.envoy.type.v3.Percent value) { if (successRateEjectionThresholdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } successRateEjectionThreshold_ = value; } else { successRateEjectionThresholdBuilder_.setMessage(value); } bitField0_ |= 0x00000004; onChanged(); return this; } /** *
     * The success rate threshold used in the last interval.
     *
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``false``, all errors: externally and locally generated were used to calculate the threshold.
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``true``, only externally generated errors were used to calculate the threshold.
     *
     * The threshold is used to eject hosts based on their success rate. For more information, see the
     * :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent success_rate_ejection_threshold = 3; */ public Builder setSuccessRateEjectionThreshold( io.envoyproxy.envoy.type.v3.Percent.Builder builderForValue) { if (successRateEjectionThresholdBuilder_ == null) { successRateEjectionThreshold_ = builderForValue.build(); } else { successRateEjectionThresholdBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000004; onChanged(); return this; } /** *
     * The success rate threshold used in the last interval.
     *
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``false``, all errors: externally and locally generated were used to calculate the threshold.
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``true``, only externally generated errors were used to calculate the threshold.
     *
     * The threshold is used to eject hosts based on their success rate. For more information, see the
     * :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent success_rate_ejection_threshold = 3; */ public Builder mergeSuccessRateEjectionThreshold(io.envoyproxy.envoy.type.v3.Percent value) { if (successRateEjectionThresholdBuilder_ == null) { if (((bitField0_ & 0x00000004) != 0) && successRateEjectionThreshold_ != null && successRateEjectionThreshold_ != io.envoyproxy.envoy.type.v3.Percent.getDefaultInstance()) { getSuccessRateEjectionThresholdBuilder().mergeFrom(value); } else { successRateEjectionThreshold_ = value; } } else { successRateEjectionThresholdBuilder_.mergeFrom(value); } if (successRateEjectionThreshold_ != null) { bitField0_ |= 0x00000004; onChanged(); } return this; } /** *
     * The success rate threshold used in the last interval.
     *
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``false``, all errors: externally and locally generated were used to calculate the threshold.
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``true``, only externally generated errors were used to calculate the threshold.
     *
     * The threshold is used to eject hosts based on their success rate. For more information, see the
     * :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent success_rate_ejection_threshold = 3; */ public Builder clearSuccessRateEjectionThreshold() { bitField0_ = (bitField0_ & ~0x00000004); successRateEjectionThreshold_ = null; if (successRateEjectionThresholdBuilder_ != null) { successRateEjectionThresholdBuilder_.dispose(); successRateEjectionThresholdBuilder_ = null; } onChanged(); return this; } /** *
     * The success rate threshold used in the last interval.
     *
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``false``, all errors: externally and locally generated were used to calculate the threshold.
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``true``, only externally generated errors were used to calculate the threshold.
     *
     * The threshold is used to eject hosts based on their success rate. For more information, see the
     * :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent success_rate_ejection_threshold = 3; */ public io.envoyproxy.envoy.type.v3.Percent.Builder getSuccessRateEjectionThresholdBuilder() { bitField0_ |= 0x00000004; onChanged(); return getSuccessRateEjectionThresholdFieldBuilder().getBuilder(); } /** *
     * The success rate threshold used in the last interval.
     *
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``false``, all errors: externally and locally generated were used to calculate the threshold.
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``true``, only externally generated errors were used to calculate the threshold.
     *
     * The threshold is used to eject hosts based on their success rate. For more information, see the
     * :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent success_rate_ejection_threshold = 3; */ public io.envoyproxy.envoy.type.v3.PercentOrBuilder getSuccessRateEjectionThresholdOrBuilder() { if (successRateEjectionThresholdBuilder_ != null) { return successRateEjectionThresholdBuilder_.getMessageOrBuilder(); } else { return successRateEjectionThreshold_ == null ? io.envoyproxy.envoy.type.v3.Percent.getDefaultInstance() : successRateEjectionThreshold_; } } /** *
     * The success rate threshold used in the last interval.
     *
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``false``, all errors: externally and locally generated were used to calculate the threshold.
     * * If :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     *   is ``true``, only externally generated errors were used to calculate the threshold.
     *
     * The threshold is used to eject hosts based on their success rate. For more information, see the
     * :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent success_rate_ejection_threshold = 3; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.type.v3.Percent, io.envoyproxy.envoy.type.v3.Percent.Builder, io.envoyproxy.envoy.type.v3.PercentOrBuilder> getSuccessRateEjectionThresholdFieldBuilder() { if (successRateEjectionThresholdBuilder_ == null) { successRateEjectionThresholdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.type.v3.Percent, io.envoyproxy.envoy.type.v3.Percent.Builder, io.envoyproxy.envoy.type.v3.PercentOrBuilder>( getSuccessRateEjectionThreshold(), getParentForChildren(), isClean()); successRateEjectionThreshold_ = null; } return successRateEjectionThresholdBuilder_; } private java.util.List hostStatuses_ = java.util.Collections.emptyList(); private void ensureHostStatusesIsMutable() { if (!((bitField0_ & 0x00000008) != 0)) { hostStatuses_ = new java.util.ArrayList(hostStatuses_); bitField0_ |= 0x00000008; } } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.admin.v3.HostStatus, io.envoyproxy.envoy.admin.v3.HostStatus.Builder, io.envoyproxy.envoy.admin.v3.HostStatusOrBuilder> hostStatusesBuilder_; /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public java.util.List getHostStatusesList() { if (hostStatusesBuilder_ == null) { return java.util.Collections.unmodifiableList(hostStatuses_); } else { return hostStatusesBuilder_.getMessageList(); } } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public int getHostStatusesCount() { if (hostStatusesBuilder_ == null) { return hostStatuses_.size(); } else { return hostStatusesBuilder_.getCount(); } } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public io.envoyproxy.envoy.admin.v3.HostStatus getHostStatuses(int index) { if (hostStatusesBuilder_ == null) { return hostStatuses_.get(index); } else { return hostStatusesBuilder_.getMessage(index); } } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public Builder setHostStatuses( int index, io.envoyproxy.envoy.admin.v3.HostStatus value) { if (hostStatusesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureHostStatusesIsMutable(); hostStatuses_.set(index, value); onChanged(); } else { hostStatusesBuilder_.setMessage(index, value); } return this; } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public Builder setHostStatuses( int index, io.envoyproxy.envoy.admin.v3.HostStatus.Builder builderForValue) { if (hostStatusesBuilder_ == null) { ensureHostStatusesIsMutable(); hostStatuses_.set(index, builderForValue.build()); onChanged(); } else { hostStatusesBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public Builder addHostStatuses(io.envoyproxy.envoy.admin.v3.HostStatus value) { if (hostStatusesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureHostStatusesIsMutable(); hostStatuses_.add(value); onChanged(); } else { hostStatusesBuilder_.addMessage(value); } return this; } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public Builder addHostStatuses( int index, io.envoyproxy.envoy.admin.v3.HostStatus value) { if (hostStatusesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureHostStatusesIsMutable(); hostStatuses_.add(index, value); onChanged(); } else { hostStatusesBuilder_.addMessage(index, value); } return this; } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public Builder addHostStatuses( io.envoyproxy.envoy.admin.v3.HostStatus.Builder builderForValue) { if (hostStatusesBuilder_ == null) { ensureHostStatusesIsMutable(); hostStatuses_.add(builderForValue.build()); onChanged(); } else { hostStatusesBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public Builder addHostStatuses( int index, io.envoyproxy.envoy.admin.v3.HostStatus.Builder builderForValue) { if (hostStatusesBuilder_ == null) { ensureHostStatusesIsMutable(); hostStatuses_.add(index, builderForValue.build()); onChanged(); } else { hostStatusesBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public Builder addAllHostStatuses( java.lang.Iterable values) { if (hostStatusesBuilder_ == null) { ensureHostStatusesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, hostStatuses_); onChanged(); } else { hostStatusesBuilder_.addAllMessages(values); } return this; } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public Builder clearHostStatuses() { if (hostStatusesBuilder_ == null) { hostStatuses_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000008); onChanged(); } else { hostStatusesBuilder_.clear(); } return this; } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public Builder removeHostStatuses(int index) { if (hostStatusesBuilder_ == null) { ensureHostStatusesIsMutable(); hostStatuses_.remove(index); onChanged(); } else { hostStatusesBuilder_.remove(index); } return this; } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public io.envoyproxy.envoy.admin.v3.HostStatus.Builder getHostStatusesBuilder( int index) { return getHostStatusesFieldBuilder().getBuilder(index); } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public io.envoyproxy.envoy.admin.v3.HostStatusOrBuilder getHostStatusesOrBuilder( int index) { if (hostStatusesBuilder_ == null) { return hostStatuses_.get(index); } else { return hostStatusesBuilder_.getMessageOrBuilder(index); } } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public java.util.List getHostStatusesOrBuilderList() { if (hostStatusesBuilder_ != null) { return hostStatusesBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(hostStatuses_); } } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public io.envoyproxy.envoy.admin.v3.HostStatus.Builder addHostStatusesBuilder() { return getHostStatusesFieldBuilder().addBuilder( io.envoyproxy.envoy.admin.v3.HostStatus.getDefaultInstance()); } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public io.envoyproxy.envoy.admin.v3.HostStatus.Builder addHostStatusesBuilder( int index) { return getHostStatusesFieldBuilder().addBuilder( index, io.envoyproxy.envoy.admin.v3.HostStatus.getDefaultInstance()); } /** *
     * Mapping from host address to the host's current status.
     * 
* * repeated .envoy.admin.v3.HostStatus host_statuses = 4; */ public java.util.List getHostStatusesBuilderList() { return getHostStatusesFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.admin.v3.HostStatus, io.envoyproxy.envoy.admin.v3.HostStatus.Builder, io.envoyproxy.envoy.admin.v3.HostStatusOrBuilder> getHostStatusesFieldBuilder() { if (hostStatusesBuilder_ == null) { hostStatusesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.admin.v3.HostStatus, io.envoyproxy.envoy.admin.v3.HostStatus.Builder, io.envoyproxy.envoy.admin.v3.HostStatusOrBuilder>( hostStatuses_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean()); hostStatuses_ = null; } return hostStatusesBuilder_; } private io.envoyproxy.envoy.type.v3.Percent localOriginSuccessRateEjectionThreshold_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.type.v3.Percent, io.envoyproxy.envoy.type.v3.Percent.Builder, io.envoyproxy.envoy.type.v3.PercentOrBuilder> localOriginSuccessRateEjectionThresholdBuilder_; /** *
     * The success rate threshold used in the last interval when only locally originated failures were
     * taken into account and externally originated errors were treated as success.
     * This field should be interpreted only when
     * :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     * is ``true``. The threshold is used to eject hosts based on their success rate.
     *
     * For more information, see the :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent local_origin_success_rate_ejection_threshold = 5; * @return Whether the localOriginSuccessRateEjectionThreshold field is set. */ public boolean hasLocalOriginSuccessRateEjectionThreshold() { return ((bitField0_ & 0x00000010) != 0); } /** *
     * The success rate threshold used in the last interval when only locally originated failures were
     * taken into account and externally originated errors were treated as success.
     * This field should be interpreted only when
     * :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     * is ``true``. The threshold is used to eject hosts based on their success rate.
     *
     * For more information, see the :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent local_origin_success_rate_ejection_threshold = 5; * @return The localOriginSuccessRateEjectionThreshold. */ public io.envoyproxy.envoy.type.v3.Percent getLocalOriginSuccessRateEjectionThreshold() { if (localOriginSuccessRateEjectionThresholdBuilder_ == null) { return localOriginSuccessRateEjectionThreshold_ == null ? io.envoyproxy.envoy.type.v3.Percent.getDefaultInstance() : localOriginSuccessRateEjectionThreshold_; } else { return localOriginSuccessRateEjectionThresholdBuilder_.getMessage(); } } /** *
     * The success rate threshold used in the last interval when only locally originated failures were
     * taken into account and externally originated errors were treated as success.
     * This field should be interpreted only when
     * :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     * is ``true``. The threshold is used to eject hosts based on their success rate.
     *
     * For more information, see the :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent local_origin_success_rate_ejection_threshold = 5; */ public Builder setLocalOriginSuccessRateEjectionThreshold(io.envoyproxy.envoy.type.v3.Percent value) { if (localOriginSuccessRateEjectionThresholdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } localOriginSuccessRateEjectionThreshold_ = value; } else { localOriginSuccessRateEjectionThresholdBuilder_.setMessage(value); } bitField0_ |= 0x00000010; onChanged(); return this; } /** *
     * The success rate threshold used in the last interval when only locally originated failures were
     * taken into account and externally originated errors were treated as success.
     * This field should be interpreted only when
     * :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     * is ``true``. The threshold is used to eject hosts based on their success rate.
     *
     * For more information, see the :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent local_origin_success_rate_ejection_threshold = 5; */ public Builder setLocalOriginSuccessRateEjectionThreshold( io.envoyproxy.envoy.type.v3.Percent.Builder builderForValue) { if (localOriginSuccessRateEjectionThresholdBuilder_ == null) { localOriginSuccessRateEjectionThreshold_ = builderForValue.build(); } else { localOriginSuccessRateEjectionThresholdBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000010; onChanged(); return this; } /** *
     * The success rate threshold used in the last interval when only locally originated failures were
     * taken into account and externally originated errors were treated as success.
     * This field should be interpreted only when
     * :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     * is ``true``. The threshold is used to eject hosts based on their success rate.
     *
     * For more information, see the :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent local_origin_success_rate_ejection_threshold = 5; */ public Builder mergeLocalOriginSuccessRateEjectionThreshold(io.envoyproxy.envoy.type.v3.Percent value) { if (localOriginSuccessRateEjectionThresholdBuilder_ == null) { if (((bitField0_ & 0x00000010) != 0) && localOriginSuccessRateEjectionThreshold_ != null && localOriginSuccessRateEjectionThreshold_ != io.envoyproxy.envoy.type.v3.Percent.getDefaultInstance()) { getLocalOriginSuccessRateEjectionThresholdBuilder().mergeFrom(value); } else { localOriginSuccessRateEjectionThreshold_ = value; } } else { localOriginSuccessRateEjectionThresholdBuilder_.mergeFrom(value); } if (localOriginSuccessRateEjectionThreshold_ != null) { bitField0_ |= 0x00000010; onChanged(); } return this; } /** *
     * The success rate threshold used in the last interval when only locally originated failures were
     * taken into account and externally originated errors were treated as success.
     * This field should be interpreted only when
     * :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     * is ``true``. The threshold is used to eject hosts based on their success rate.
     *
     * For more information, see the :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent local_origin_success_rate_ejection_threshold = 5; */ public Builder clearLocalOriginSuccessRateEjectionThreshold() { bitField0_ = (bitField0_ & ~0x00000010); localOriginSuccessRateEjectionThreshold_ = null; if (localOriginSuccessRateEjectionThresholdBuilder_ != null) { localOriginSuccessRateEjectionThresholdBuilder_.dispose(); localOriginSuccessRateEjectionThresholdBuilder_ = null; } onChanged(); return this; } /** *
     * The success rate threshold used in the last interval when only locally originated failures were
     * taken into account and externally originated errors were treated as success.
     * This field should be interpreted only when
     * :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     * is ``true``. The threshold is used to eject hosts based on their success rate.
     *
     * For more information, see the :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent local_origin_success_rate_ejection_threshold = 5; */ public io.envoyproxy.envoy.type.v3.Percent.Builder getLocalOriginSuccessRateEjectionThresholdBuilder() { bitField0_ |= 0x00000010; onChanged(); return getLocalOriginSuccessRateEjectionThresholdFieldBuilder().getBuilder(); } /** *
     * The success rate threshold used in the last interval when only locally originated failures were
     * taken into account and externally originated errors were treated as success.
     * This field should be interpreted only when
     * :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     * is ``true``. The threshold is used to eject hosts based on their success rate.
     *
     * For more information, see the :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent local_origin_success_rate_ejection_threshold = 5; */ public io.envoyproxy.envoy.type.v3.PercentOrBuilder getLocalOriginSuccessRateEjectionThresholdOrBuilder() { if (localOriginSuccessRateEjectionThresholdBuilder_ != null) { return localOriginSuccessRateEjectionThresholdBuilder_.getMessageOrBuilder(); } else { return localOriginSuccessRateEjectionThreshold_ == null ? io.envoyproxy.envoy.type.v3.Percent.getDefaultInstance() : localOriginSuccessRateEjectionThreshold_; } } /** *
     * The success rate threshold used in the last interval when only locally originated failures were
     * taken into account and externally originated errors were treated as success.
     * This field should be interpreted only when
     * :ref:`outlier_detection.split_external_local_origin_errors<envoy_v3_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
     * is ``true``. The threshold is used to eject hosts based on their success rate.
     *
     * For more information, see the :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation.
     *
     * .. note::
     *
     *   This field may be omitted in any of the three following cases:
     *
     *   1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection.
     *   2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that
     *      interval.
     *   3. Outlier detection is not enabled for this cluster.
     * 
* * .envoy.type.v3.Percent local_origin_success_rate_ejection_threshold = 5; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.type.v3.Percent, io.envoyproxy.envoy.type.v3.Percent.Builder, io.envoyproxy.envoy.type.v3.PercentOrBuilder> getLocalOriginSuccessRateEjectionThresholdFieldBuilder() { if (localOriginSuccessRateEjectionThresholdBuilder_ == null) { localOriginSuccessRateEjectionThresholdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.type.v3.Percent, io.envoyproxy.envoy.type.v3.Percent.Builder, io.envoyproxy.envoy.type.v3.PercentOrBuilder>( getLocalOriginSuccessRateEjectionThreshold(), getParentForChildren(), isClean()); localOriginSuccessRateEjectionThreshold_ = null; } return localOriginSuccessRateEjectionThresholdBuilder_; } private io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers circuitBreakers_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers, io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers.Builder, io.envoyproxy.envoy.config.cluster.v3.CircuitBreakersOrBuilder> circuitBreakersBuilder_; /** *
     * :ref:`Circuit breaking <arch_overview_circuit_break>` settings of the cluster.
     * 
* * .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 6; * @return Whether the circuitBreakers field is set. */ public boolean hasCircuitBreakers() { return ((bitField0_ & 0x00000020) != 0); } /** *
     * :ref:`Circuit breaking <arch_overview_circuit_break>` settings of the cluster.
     * 
* * .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 6; * @return The circuitBreakers. */ public io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers getCircuitBreakers() { if (circuitBreakersBuilder_ == null) { return circuitBreakers_ == null ? io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers.getDefaultInstance() : circuitBreakers_; } else { return circuitBreakersBuilder_.getMessage(); } } /** *
     * :ref:`Circuit breaking <arch_overview_circuit_break>` settings of the cluster.
     * 
* * .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 6; */ public Builder setCircuitBreakers(io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers value) { if (circuitBreakersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } circuitBreakers_ = value; } else { circuitBreakersBuilder_.setMessage(value); } bitField0_ |= 0x00000020; onChanged(); return this; } /** *
     * :ref:`Circuit breaking <arch_overview_circuit_break>` settings of the cluster.
     * 
* * .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 6; */ public Builder setCircuitBreakers( io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers.Builder builderForValue) { if (circuitBreakersBuilder_ == null) { circuitBreakers_ = builderForValue.build(); } else { circuitBreakersBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000020; onChanged(); return this; } /** *
     * :ref:`Circuit breaking <arch_overview_circuit_break>` settings of the cluster.
     * 
* * .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 6; */ public Builder mergeCircuitBreakers(io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers value) { if (circuitBreakersBuilder_ == null) { if (((bitField0_ & 0x00000020) != 0) && circuitBreakers_ != null && circuitBreakers_ != io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers.getDefaultInstance()) { getCircuitBreakersBuilder().mergeFrom(value); } else { circuitBreakers_ = value; } } else { circuitBreakersBuilder_.mergeFrom(value); } if (circuitBreakers_ != null) { bitField0_ |= 0x00000020; onChanged(); } return this; } /** *
     * :ref:`Circuit breaking <arch_overview_circuit_break>` settings of the cluster.
     * 
* * .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 6; */ public Builder clearCircuitBreakers() { bitField0_ = (bitField0_ & ~0x00000020); circuitBreakers_ = null; if (circuitBreakersBuilder_ != null) { circuitBreakersBuilder_.dispose(); circuitBreakersBuilder_ = null; } onChanged(); return this; } /** *
     * :ref:`Circuit breaking <arch_overview_circuit_break>` settings of the cluster.
     * 
* * .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 6; */ public io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers.Builder getCircuitBreakersBuilder() { bitField0_ |= 0x00000020; onChanged(); return getCircuitBreakersFieldBuilder().getBuilder(); } /** *
     * :ref:`Circuit breaking <arch_overview_circuit_break>` settings of the cluster.
     * 
* * .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 6; */ public io.envoyproxy.envoy.config.cluster.v3.CircuitBreakersOrBuilder getCircuitBreakersOrBuilder() { if (circuitBreakersBuilder_ != null) { return circuitBreakersBuilder_.getMessageOrBuilder(); } else { return circuitBreakers_ == null ? io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers.getDefaultInstance() : circuitBreakers_; } } /** *
     * :ref:`Circuit breaking <arch_overview_circuit_break>` settings of the cluster.
     * 
* * .envoy.config.cluster.v3.CircuitBreakers circuit_breakers = 6; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers, io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers.Builder, io.envoyproxy.envoy.config.cluster.v3.CircuitBreakersOrBuilder> getCircuitBreakersFieldBuilder() { if (circuitBreakersBuilder_ == null) { circuitBreakersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers, io.envoyproxy.envoy.config.cluster.v3.CircuitBreakers.Builder, io.envoyproxy.envoy.config.cluster.v3.CircuitBreakersOrBuilder>( getCircuitBreakers(), getParentForChildren(), isClean()); circuitBreakers_ = null; } return circuitBreakersBuilder_; } private java.lang.Object observabilityName_ = ""; /** *
     * Observability name of the cluster.
     * 
* * string observability_name = 7; * @return The observabilityName. */ public java.lang.String getObservabilityName() { java.lang.Object ref = observabilityName_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); observabilityName_ = s; return s; } else { return (java.lang.String) ref; } } /** *
     * Observability name of the cluster.
     * 
* * string observability_name = 7; * @return The bytes for observabilityName. */ public com.google.protobuf.ByteString getObservabilityNameBytes() { java.lang.Object ref = observabilityName_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); observabilityName_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
     * Observability name of the cluster.
     * 
* * string observability_name = 7; * @param value The observabilityName to set. * @return This builder for chaining. */ public Builder setObservabilityName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } observabilityName_ = value; bitField0_ |= 0x00000040; onChanged(); return this; } /** *
     * Observability name of the cluster.
     * 
* * string observability_name = 7; * @return This builder for chaining. */ public Builder clearObservabilityName() { observabilityName_ = getDefaultInstance().getObservabilityName(); bitField0_ = (bitField0_ & ~0x00000040); onChanged(); return this; } /** *
     * Observability name of the cluster.
     * 
* * string observability_name = 7; * @param value The bytes for observabilityName to set. * @return This builder for chaining. */ public Builder setObservabilityNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); observabilityName_ = value; bitField0_ |= 0x00000040; onChanged(); return this; } private java.lang.Object edsServiceName_ = ""; /** *
     * The :ref:`EDS service name <envoy_v3_api_field_config.cluster.v3.Cluster.EdsClusterConfig.service_name>` if the cluster is an EDS cluster.
     * 
* * string eds_service_name = 8; * @return The edsServiceName. */ public java.lang.String getEdsServiceName() { java.lang.Object ref = edsServiceName_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); edsServiceName_ = s; return s; } else { return (java.lang.String) ref; } } /** *
     * The :ref:`EDS service name <envoy_v3_api_field_config.cluster.v3.Cluster.EdsClusterConfig.service_name>` if the cluster is an EDS cluster.
     * 
* * string eds_service_name = 8; * @return The bytes for edsServiceName. */ public com.google.protobuf.ByteString getEdsServiceNameBytes() { java.lang.Object ref = edsServiceName_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); edsServiceName_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
     * The :ref:`EDS service name <envoy_v3_api_field_config.cluster.v3.Cluster.EdsClusterConfig.service_name>` if the cluster is an EDS cluster.
     * 
* * string eds_service_name = 8; * @param value The edsServiceName to set. * @return This builder for chaining. */ public Builder setEdsServiceName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } edsServiceName_ = value; bitField0_ |= 0x00000080; onChanged(); return this; } /** *
     * The :ref:`EDS service name <envoy_v3_api_field_config.cluster.v3.Cluster.EdsClusterConfig.service_name>` if the cluster is an EDS cluster.
     * 
* * string eds_service_name = 8; * @return This builder for chaining. */ public Builder clearEdsServiceName() { edsServiceName_ = getDefaultInstance().getEdsServiceName(); bitField0_ = (bitField0_ & ~0x00000080); onChanged(); return this; } /** *
     * The :ref:`EDS service name <envoy_v3_api_field_config.cluster.v3.Cluster.EdsClusterConfig.service_name>` if the cluster is an EDS cluster.
     * 
* * string eds_service_name = 8; * @param value The bytes for edsServiceName to set. * @return This builder for chaining. */ public Builder setEdsServiceNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); edsServiceName_ = value; bitField0_ |= 0x00000080; 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:envoy.admin.v3.ClusterStatus) } // @@protoc_insertion_point(class_scope:envoy.admin.v3.ClusterStatus) private static final io.envoyproxy.envoy.admin.v3.ClusterStatus DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new io.envoyproxy.envoy.admin.v3.ClusterStatus(); } public static io.envoyproxy.envoy.admin.v3.ClusterStatus getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public ClusterStatus 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 parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public io.envoyproxy.envoy.admin.v3.ClusterStatus getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy