Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: networking/v1alpha3/sidecar.proto
package istio.networking.v1alpha3;
public final class SidecarOuterClass {
private SidecarOuterClass() {}
public static void registerAllExtensions(
com.google.protobuf.ExtensionRegistryLite registry) {
}
public static void registerAllExtensions(
com.google.protobuf.ExtensionRegistry registry) {
registerAllExtensions(
(com.google.protobuf.ExtensionRegistryLite) registry);
}
/**
*
* `CaptureMode` describes how traffic to a listener is expected to be
* captured. Applicable only when the listener is bound to an IP.
*
* The default capture mode defined by the environment.
*
*
* DEFAULT = 0;
*/
DEFAULT(0),
/**
*
* Capture traffic using IPtables redirection.
*
*
* IPTABLES = 1;
*/
IPTABLES(1),
/**
*
* No traffic capture. When used in an egress listener, the application is
* expected to explicitly communicate with the listener port or Unix
* domain socket. When used in an ingress listener, care needs to be taken
* to ensure that the listener port is not in use by other processes on
* the host.
*
* The default capture mode defined by the environment.
*
*
* DEFAULT = 0;
*/
public static final int DEFAULT_VALUE = 0;
/**
*
* Capture traffic using IPtables redirection.
*
*
* IPTABLES = 1;
*/
public static final int IPTABLES_VALUE = 1;
/**
*
* No traffic capture. When used in an egress listener, the application is
* expected to explicitly communicate with the listener port or Unix
* domain socket. When used in an ingress listener, care needs to be taken
* to ensure that the listener port is not in use by other processes on
* the host.
*
*
* NONE = 2;
*/
public static final int NONE_VALUE = 2;
public final int getNumber() {
if (this == UNRECOGNIZED) {
throw new java.lang.IllegalArgumentException(
"Can't get the number of an unknown enum value.");
}
return value;
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
* @deprecated Use {@link #forNumber(int)} instead.
*/
@java.lang.Deprecated
public static CaptureMode valueOf(int value) {
return forNumber(value);
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
*/
public static CaptureMode forNumber(int value) {
switch (value) {
case 0: return DEFAULT;
case 1: return IPTABLES;
case 2: return NONE;
default: return null;
}
}
public static com.google.protobuf.Internal.EnumLiteMap
internalGetValueMap() {
return internalValueMap;
}
private static final com.google.protobuf.Internal.EnumLiteMap<
CaptureMode> internalValueMap =
new com.google.protobuf.Internal.EnumLiteMap() {
public CaptureMode findValueByNumber(int number) {
return CaptureMode.forNumber(number);
}
};
public final com.google.protobuf.Descriptors.EnumValueDescriptor
getValueDescriptor() {
if (this == UNRECOGNIZED) {
throw new java.lang.IllegalStateException(
"Can't get the descriptor of an unrecognized enum value.");
}
return getDescriptor().getValues().get(ordinal());
}
public final com.google.protobuf.Descriptors.EnumDescriptor
getDescriptorForType() {
return getDescriptor();
}
public static final com.google.protobuf.Descriptors.EnumDescriptor
getDescriptor() {
return istio.networking.v1alpha3.SidecarOuterClass.getDescriptor().getEnumTypes().get(0);
}
private static final CaptureMode[] VALUES = values();
public static CaptureMode valueOf(
com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
if (desc.getType() != getDescriptor()) {
throw new java.lang.IllegalArgumentException(
"EnumValueDescriptor is not for this type.");
}
if (desc.getIndex() == -1) {
return UNRECOGNIZED;
}
return VALUES[desc.getIndex()];
}
private final int value;
private CaptureMode(int value) {
this.value = value;
}
// @@protoc_insertion_point(enum_scope:istio.networking.v1alpha3.CaptureMode)
}
public interface SidecarOrBuilder extends
// @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.Sidecar)
com.google.protobuf.MessageOrBuilder {
/**
*
* Criteria used to select the specific set of pods/VMs on which this
* `Sidecar` configuration should be applied. If omitted, the `Sidecar`
* configuration will be applied to all workload instances in the same namespace.
*
*
* .istio.networking.v1alpha3.WorkloadSelector workload_selector = 1;
* @return Whether the workloadSelector field is set.
*/
boolean hasWorkloadSelector();
/**
*
* Criteria used to select the specific set of pods/VMs on which this
* `Sidecar` configuration should be applied. If omitted, the `Sidecar`
* configuration will be applied to all workload instances in the same namespace.
*
* Criteria used to select the specific set of pods/VMs on which this
* `Sidecar` configuration should be applied. If omitted, the `Sidecar`
* configuration will be applied to all workload instances in the same namespace.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Configuration for the outbound traffic policy. If your
* application uses one or more external services that are not known
* apriori, setting the policy to `ALLOW_ANY` will cause the
* sidecars to route any unknown traffic originating from the
* application to its requested destination. If not specified,
* inherits the system detected defaults from the namespace-wide or
* the global default Sidecar.
*
*
* .istio.networking.v1alpha3.OutboundTrafficPolicy outbound_traffic_policy = 4;
* @return Whether the outboundTrafficPolicy field is set.
*/
boolean hasOutboundTrafficPolicy();
/**
*
* Configuration for the outbound traffic policy. If your
* application uses one or more external services that are not known
* apriori, setting the policy to `ALLOW_ANY` will cause the
* sidecars to route any unknown traffic originating from the
* application to its requested destination. If not specified,
* inherits the system detected defaults from the namespace-wide or
* the global default Sidecar.
*
* Configuration for the outbound traffic policy. If your
* application uses one or more external services that are not known
* apriori, setting the policy to `ALLOW_ANY` will cause the
* sidecars to route any unknown traffic originating from the
* application to its requested destination. If not specified,
* inherits the system detected defaults from the namespace-wide or
* the global default Sidecar.
*
* `Sidecar` describes the configuration of the sidecar proxy that mediates
* inbound and outbound communication of the workload instance to which it is
* attached.
* <!-- crd generation tags
* +cue-gen:Sidecar:groupName:networking.istio.io
* +cue-gen:Sidecar:version:v1alpha3
* +cue-gen:Sidecar:storageVersion
* +cue-gen:Sidecar:annotations:helm.sh/resource-policy=keep
* +cue-gen:Sidecar:labels:app=istio-pilot,chart=istio,heritage=Tiller,release=istio
* +cue-gen:Sidecar:subresource:status
* +cue-gen:Sidecar:scope:Namespaced
* +cue-gen:Sidecar:resource:categories=istio-io,networking-istio-io
* +cue-gen:Sidecar:preserveUnknownFields:false
* -->
* <!-- go code generation tags
* +kubetype-gen
* +kubetype-gen:groupVersion=networking.istio.io/v1alpha3
* +genclient
* +k8s:deepcopy-gen=true
* -->
*
*
* Protobuf type {@code istio.networking.v1alpha3.Sidecar}
*/
public static final class Sidecar extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.Sidecar)
SidecarOrBuilder {
private static final long serialVersionUID = 0L;
// Use Sidecar.newBuilder() to construct.
private Sidecar(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private Sidecar() {
ingress_ = java.util.Collections.emptyList();
egress_ = java.util.Collections.emptyList();
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(
UnusedPrivateParameter unused) {
return new Sidecar();
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private Sidecar(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
this();
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
case 10: {
istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector.Builder subBuilder = null;
if (workloadSelector_ != null) {
subBuilder = workloadSelector_.toBuilder();
}
workloadSelector_ = input.readMessage(istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(workloadSelector_);
workloadSelector_ = subBuilder.buildPartial();
}
break;
}
case 18: {
if (!((mutable_bitField0_ & 0x00000001) != 0)) {
ingress_ = new java.util.ArrayList();
mutable_bitField0_ |= 0x00000001;
}
ingress_.add(
input.readMessage(istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener.parser(), extensionRegistry));
break;
}
case 26: {
if (!((mutable_bitField0_ & 0x00000002) != 0)) {
egress_ = new java.util.ArrayList();
mutable_bitField0_ |= 0x00000002;
}
egress_.add(
input.readMessage(istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener.parser(), extensionRegistry));
break;
}
case 34: {
istio.networking.v1alpha3.SidecarOuterClass.OutboundTrafficPolicy.Builder subBuilder = null;
if (outboundTrafficPolicy_ != null) {
subBuilder = outboundTrafficPolicy_.toBuilder();
}
outboundTrafficPolicy_ = input.readMessage(istio.networking.v1alpha3.SidecarOuterClass.OutboundTrafficPolicy.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(outboundTrafficPolicy_);
outboundTrafficPolicy_ = subBuilder.buildPartial();
}
break;
}
default: {
if (!parseUnknownField(
input, unknownFields, extensionRegistry, tag)) {
done = true;
}
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e).setUnfinishedMessage(this);
} finally {
if (((mutable_bitField0_ & 0x00000001) != 0)) {
ingress_ = java.util.Collections.unmodifiableList(ingress_);
}
if (((mutable_bitField0_ & 0x00000002) != 0)) {
egress_ = java.util.Collections.unmodifiableList(egress_);
}
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_Sidecar_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_Sidecar_fieldAccessorTable
.ensureFieldAccessorsInitialized(
istio.networking.v1alpha3.SidecarOuterClass.Sidecar.class, istio.networking.v1alpha3.SidecarOuterClass.Sidecar.Builder.class);
}
public static final int WORKLOAD_SELECTOR_FIELD_NUMBER = 1;
private istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector workloadSelector_;
/**
*
* Criteria used to select the specific set of pods/VMs on which this
* `Sidecar` configuration should be applied. If omitted, the `Sidecar`
* configuration will be applied to all workload instances in the same namespace.
*
*
* .istio.networking.v1alpha3.WorkloadSelector workload_selector = 1;
* @return Whether the workloadSelector field is set.
*/
@java.lang.Override
public boolean hasWorkloadSelector() {
return workloadSelector_ != null;
}
/**
*
* Criteria used to select the specific set of pods/VMs on which this
* `Sidecar` configuration should be applied. If omitted, the `Sidecar`
* configuration will be applied to all workload instances in the same namespace.
*
* Criteria used to select the specific set of pods/VMs on which this
* `Sidecar` configuration should be applied. If omitted, the `Sidecar`
* configuration will be applied to all workload instances in the same namespace.
*
*
* .istio.networking.v1alpha3.WorkloadSelector workload_selector = 1;
*/
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelectorOrBuilder getWorkloadSelectorOrBuilder() {
return getWorkloadSelector();
}
public static final int INGRESS_FIELD_NUMBER = 2;
private java.util.List ingress_;
/**
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
*
* repeated .istio.networking.v1alpha3.IstioIngressListener ingress = 2;
*/
@java.lang.Override
public int getIngressCount() {
return ingress_.size();
}
/**
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
*
* repeated .istio.networking.v1alpha3.IstioIngressListener ingress = 2;
*/
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListenerOrBuilder getIngressOrBuilder(
int index) {
return ingress_.get(index);
}
public static final int EGRESS_FIELD_NUMBER = 3;
private java.util.List egress_;
/**
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
*
* repeated .istio.networking.v1alpha3.IstioEgressListener egress = 3;
*/
@java.lang.Override
public int getEgressCount() {
return egress_.size();
}
/**
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
*
* repeated .istio.networking.v1alpha3.IstioEgressListener egress = 3;
*/
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListenerOrBuilder getEgressOrBuilder(
int index) {
return egress_.get(index);
}
public static final int OUTBOUND_TRAFFIC_POLICY_FIELD_NUMBER = 4;
private istio.networking.v1alpha3.SidecarOuterClass.OutboundTrafficPolicy outboundTrafficPolicy_;
/**
*
* Configuration for the outbound traffic policy. If your
* application uses one or more external services that are not known
* apriori, setting the policy to `ALLOW_ANY` will cause the
* sidecars to route any unknown traffic originating from the
* application to its requested destination. If not specified,
* inherits the system detected defaults from the namespace-wide or
* the global default Sidecar.
*
*
* .istio.networking.v1alpha3.OutboundTrafficPolicy outbound_traffic_policy = 4;
* @return Whether the outboundTrafficPolicy field is set.
*/
@java.lang.Override
public boolean hasOutboundTrafficPolicy() {
return outboundTrafficPolicy_ != null;
}
/**
*
* Configuration for the outbound traffic policy. If your
* application uses one or more external services that are not known
* apriori, setting the policy to `ALLOW_ANY` will cause the
* sidecars to route any unknown traffic originating from the
* application to its requested destination. If not specified,
* inherits the system detected defaults from the namespace-wide or
* the global default Sidecar.
*
* Configuration for the outbound traffic policy. If your
* application uses one or more external services that are not known
* apriori, setting the policy to `ALLOW_ANY` will cause the
* sidecars to route any unknown traffic originating from the
* application to its requested destination. If not specified,
* inherits the system detected defaults from the namespace-wide or
* the global default Sidecar.
*
*
* .istio.networking.v1alpha3.OutboundTrafficPolicy outbound_traffic_policy = 4;
*/
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.OutboundTrafficPolicyOrBuilder getOutboundTrafficPolicyOrBuilder() {
return getOutboundTrafficPolicy();
}
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 (workloadSelector_ != null) {
output.writeMessage(1, getWorkloadSelector());
}
for (int i = 0; i < ingress_.size(); i++) {
output.writeMessage(2, ingress_.get(i));
}
for (int i = 0; i < egress_.size(); i++) {
output.writeMessage(3, egress_.get(i));
}
if (outboundTrafficPolicy_ != null) {
output.writeMessage(4, getOutboundTrafficPolicy());
}
unknownFields.writeTo(output);
}
@java.lang.Override
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
if (workloadSelector_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(1, getWorkloadSelector());
}
for (int i = 0; i < ingress_.size(); i++) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(2, ingress_.get(i));
}
for (int i = 0; i < egress_.size(); i++) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(3, egress_.get(i));
}
if (outboundTrafficPolicy_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(4, getOutboundTrafficPolicy());
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
}
@java.lang.Override
public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof istio.networking.v1alpha3.SidecarOuterClass.Sidecar)) {
return super.equals(obj);
}
istio.networking.v1alpha3.SidecarOuterClass.Sidecar other = (istio.networking.v1alpha3.SidecarOuterClass.Sidecar) obj;
if (hasWorkloadSelector() != other.hasWorkloadSelector()) return false;
if (hasWorkloadSelector()) {
if (!getWorkloadSelector()
.equals(other.getWorkloadSelector())) return false;
}
if (!getIngressList()
.equals(other.getIngressList())) return false;
if (!getEgressList()
.equals(other.getEgressList())) return false;
if (hasOutboundTrafficPolicy() != other.hasOutboundTrafficPolicy()) return false;
if (hasOutboundTrafficPolicy()) {
if (!getOutboundTrafficPolicy()
.equals(other.getOutboundTrafficPolicy())) return false;
}
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
if (hasWorkloadSelector()) {
hash = (37 * hash) + WORKLOAD_SELECTOR_FIELD_NUMBER;
hash = (53 * hash) + getWorkloadSelector().hashCode();
}
if (getIngressCount() > 0) {
hash = (37 * hash) + INGRESS_FIELD_NUMBER;
hash = (53 * hash) + getIngressList().hashCode();
}
if (getEgressCount() > 0) {
hash = (37 * hash) + EGRESS_FIELD_NUMBER;
hash = (53 * hash) + getEgressList().hashCode();
}
if (hasOutboundTrafficPolicy()) {
hash = (37 * hash) + OUTBOUND_TRAFFIC_POLICY_FIELD_NUMBER;
hash = (53 * hash) + getOutboundTrafficPolicy().hashCode();
}
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
}
public static istio.networking.v1alpha3.SidecarOuterClass.Sidecar parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static istio.networking.v1alpha3.SidecarOuterClass.Sidecar parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static istio.networking.v1alpha3.SidecarOuterClass.Sidecar parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static istio.networking.v1alpha3.SidecarOuterClass.Sidecar parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static istio.networking.v1alpha3.SidecarOuterClass.Sidecar parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static istio.networking.v1alpha3.SidecarOuterClass.Sidecar parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static istio.networking.v1alpha3.SidecarOuterClass.Sidecar parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static istio.networking.v1alpha3.SidecarOuterClass.Sidecar 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 istio.networking.v1alpha3.SidecarOuterClass.Sidecar parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
public static istio.networking.v1alpha3.SidecarOuterClass.Sidecar 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 istio.networking.v1alpha3.SidecarOuterClass.Sidecar parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static istio.networking.v1alpha3.SidecarOuterClass.Sidecar 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(istio.networking.v1alpha3.SidecarOuterClass.Sidecar 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;
}
/**
*
* `Sidecar` describes the configuration of the sidecar proxy that mediates
* inbound and outbound communication of the workload instance to which it is
* attached.
* <!-- crd generation tags
* +cue-gen:Sidecar:groupName:networking.istio.io
* +cue-gen:Sidecar:version:v1alpha3
* +cue-gen:Sidecar:storageVersion
* +cue-gen:Sidecar:annotations:helm.sh/resource-policy=keep
* +cue-gen:Sidecar:labels:app=istio-pilot,chart=istio,heritage=Tiller,release=istio
* +cue-gen:Sidecar:subresource:status
* +cue-gen:Sidecar:scope:Namespaced
* +cue-gen:Sidecar:resource:categories=istio-io,networking-istio-io
* +cue-gen:Sidecar:preserveUnknownFields:false
* -->
* <!-- go code generation tags
* +kubetype-gen
* +kubetype-gen:groupVersion=networking.istio.io/v1alpha3
* +genclient
* +k8s:deepcopy-gen=true
* -->
*
* Criteria used to select the specific set of pods/VMs on which this
* `Sidecar` configuration should be applied. If omitted, the `Sidecar`
* configuration will be applied to all workload instances in the same namespace.
*
*
* .istio.networking.v1alpha3.WorkloadSelector workload_selector = 1;
* @return Whether the workloadSelector field is set.
*/
public boolean hasWorkloadSelector() {
return workloadSelectorBuilder_ != null || workloadSelector_ != null;
}
/**
*
* Criteria used to select the specific set of pods/VMs on which this
* `Sidecar` configuration should be applied. If omitted, the `Sidecar`
* configuration will be applied to all workload instances in the same namespace.
*
* Criteria used to select the specific set of pods/VMs on which this
* `Sidecar` configuration should be applied. If omitted, the `Sidecar`
* configuration will be applied to all workload instances in the same namespace.
*
*
* .istio.networking.v1alpha3.WorkloadSelector workload_selector = 1;
*/
public Builder setWorkloadSelector(istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector value) {
if (workloadSelectorBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
workloadSelector_ = value;
onChanged();
} else {
workloadSelectorBuilder_.setMessage(value);
}
return this;
}
/**
*
* Criteria used to select the specific set of pods/VMs on which this
* `Sidecar` configuration should be applied. If omitted, the `Sidecar`
* configuration will be applied to all workload instances in the same namespace.
*
* Criteria used to select the specific set of pods/VMs on which this
* `Sidecar` configuration should be applied. If omitted, the `Sidecar`
* configuration will be applied to all workload instances in the same namespace.
*
* Criteria used to select the specific set of pods/VMs on which this
* `Sidecar` configuration should be applied. If omitted, the `Sidecar`
* configuration will be applied to all workload instances in the same namespace.
*
* Criteria used to select the specific set of pods/VMs on which this
* `Sidecar` configuration should be applied. If omitted, the `Sidecar`
* configuration will be applied to all workload instances in the same namespace.
*
* Criteria used to select the specific set of pods/VMs on which this
* `Sidecar` configuration should be applied. If omitted, the `Sidecar`
* configuration will be applied to all workload instances in the same namespace.
*
* Criteria used to select the specific set of pods/VMs on which this
* `Sidecar` configuration should be applied. If omitted, the `Sidecar`
* configuration will be applied to all workload instances in the same namespace.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
*
* repeated .istio.networking.v1alpha3.IstioIngressListener ingress = 2;
*/
public int getIngressCount() {
if (ingressBuilder_ == null) {
return ingress_.size();
} else {
return ingressBuilder_.getCount();
}
}
/**
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
*
* repeated .istio.networking.v1alpha3.IstioIngressListener ingress = 2;
*/
public Builder setIngress(
int index, istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener value) {
if (ingressBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureIngressIsMutable();
ingress_.set(index, value);
onChanged();
} else {
ingressBuilder_.setMessage(index, value);
}
return this;
}
/**
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
*
* repeated .istio.networking.v1alpha3.IstioIngressListener ingress = 2;
*/
public Builder addIngress(istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener value) {
if (ingressBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureIngressIsMutable();
ingress_.add(value);
onChanged();
} else {
ingressBuilder_.addMessage(value);
}
return this;
}
/**
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
*
* repeated .istio.networking.v1alpha3.IstioIngressListener ingress = 2;
*/
public Builder addIngress(
int index, istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener value) {
if (ingressBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureIngressIsMutable();
ingress_.add(index, value);
onChanged();
} else {
ingressBuilder_.addMessage(index, value);
}
return this;
}
/**
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
*
* repeated .istio.networking.v1alpha3.IstioIngressListener ingress = 2;
*/
public istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener.Builder getIngressBuilder(
int index) {
return getIngressFieldBuilder().getBuilder(index);
}
/**
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
*
* repeated .istio.networking.v1alpha3.IstioIngressListener ingress = 2;
*/
public istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListenerOrBuilder getIngressOrBuilder(
int index) {
if (ingressBuilder_ == null) {
return ingress_.get(index); } else {
return ingressBuilder_.getMessageOrBuilder(index);
}
}
/**
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Ingress specifies the configuration of the sidecar for processing
* inbound traffic to the attached workload instance. If omitted, Istio will
* automatically configure the sidecar based on the information about the workload
* obtained from the orchestration platform (e.g., exposed ports, services,
* etc.). If specified, inbound ports are configured if and only if the
* workload instance is associated with a service.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
*
* repeated .istio.networking.v1alpha3.IstioEgressListener egress = 3;
*/
public int getEgressCount() {
if (egressBuilder_ == null) {
return egress_.size();
} else {
return egressBuilder_.getCount();
}
}
/**
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
*
* repeated .istio.networking.v1alpha3.IstioEgressListener egress = 3;
*/
public Builder setEgress(
int index, istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener value) {
if (egressBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureEgressIsMutable();
egress_.set(index, value);
onChanged();
} else {
egressBuilder_.setMessage(index, value);
}
return this;
}
/**
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
*
* repeated .istio.networking.v1alpha3.IstioEgressListener egress = 3;
*/
public Builder addEgress(istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener value) {
if (egressBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureEgressIsMutable();
egress_.add(value);
onChanged();
} else {
egressBuilder_.addMessage(value);
}
return this;
}
/**
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
*
* repeated .istio.networking.v1alpha3.IstioEgressListener egress = 3;
*/
public Builder addEgress(
int index, istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener value) {
if (egressBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureEgressIsMutable();
egress_.add(index, value);
onChanged();
} else {
egressBuilder_.addMessage(index, value);
}
return this;
}
/**
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
*
* repeated .istio.networking.v1alpha3.IstioEgressListener egress = 3;
*/
public istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener.Builder getEgressBuilder(
int index) {
return getEgressFieldBuilder().getBuilder(index);
}
/**
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
*
* repeated .istio.networking.v1alpha3.IstioEgressListener egress = 3;
*/
public istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListenerOrBuilder getEgressOrBuilder(
int index) {
if (egressBuilder_ == null) {
return egress_.get(index); } else {
return egressBuilder_.getMessageOrBuilder(index);
}
}
/**
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Egress specifies the configuration of the sidecar for processing
* outbound traffic from the attached workload instance to other
* services in the mesh. If not specified, inherits the system
* detected defaults from the namespace-wide or the global default Sidecar.
*
* Configuration for the outbound traffic policy. If your
* application uses one or more external services that are not known
* apriori, setting the policy to `ALLOW_ANY` will cause the
* sidecars to route any unknown traffic originating from the
* application to its requested destination. If not specified,
* inherits the system detected defaults from the namespace-wide or
* the global default Sidecar.
*
*
* .istio.networking.v1alpha3.OutboundTrafficPolicy outbound_traffic_policy = 4;
* @return Whether the outboundTrafficPolicy field is set.
*/
public boolean hasOutboundTrafficPolicy() {
return outboundTrafficPolicyBuilder_ != null || outboundTrafficPolicy_ != null;
}
/**
*
* Configuration for the outbound traffic policy. If your
* application uses one or more external services that are not known
* apriori, setting the policy to `ALLOW_ANY` will cause the
* sidecars to route any unknown traffic originating from the
* application to its requested destination. If not specified,
* inherits the system detected defaults from the namespace-wide or
* the global default Sidecar.
*
* Configuration for the outbound traffic policy. If your
* application uses one or more external services that are not known
* apriori, setting the policy to `ALLOW_ANY` will cause the
* sidecars to route any unknown traffic originating from the
* application to its requested destination. If not specified,
* inherits the system detected defaults from the namespace-wide or
* the global default Sidecar.
*
*
* .istio.networking.v1alpha3.OutboundTrafficPolicy outbound_traffic_policy = 4;
*/
public Builder setOutboundTrafficPolicy(istio.networking.v1alpha3.SidecarOuterClass.OutboundTrafficPolicy value) {
if (outboundTrafficPolicyBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
outboundTrafficPolicy_ = value;
onChanged();
} else {
outboundTrafficPolicyBuilder_.setMessage(value);
}
return this;
}
/**
*
* Configuration for the outbound traffic policy. If your
* application uses one or more external services that are not known
* apriori, setting the policy to `ALLOW_ANY` will cause the
* sidecars to route any unknown traffic originating from the
* application to its requested destination. If not specified,
* inherits the system detected defaults from the namespace-wide or
* the global default Sidecar.
*
* Configuration for the outbound traffic policy. If your
* application uses one or more external services that are not known
* apriori, setting the policy to `ALLOW_ANY` will cause the
* sidecars to route any unknown traffic originating from the
* application to its requested destination. If not specified,
* inherits the system detected defaults from the namespace-wide or
* the global default Sidecar.
*
* Configuration for the outbound traffic policy. If your
* application uses one or more external services that are not known
* apriori, setting the policy to `ALLOW_ANY` will cause the
* sidecars to route any unknown traffic originating from the
* application to its requested destination. If not specified,
* inherits the system detected defaults from the namespace-wide or
* the global default Sidecar.
*
* Configuration for the outbound traffic policy. If your
* application uses one or more external services that are not known
* apriori, setting the policy to `ALLOW_ANY` will cause the
* sidecars to route any unknown traffic originating from the
* application to its requested destination. If not specified,
* inherits the system detected defaults from the namespace-wide or
* the global default Sidecar.
*
* Configuration for the outbound traffic policy. If your
* application uses one or more external services that are not known
* apriori, setting the policy to `ALLOW_ANY` will cause the
* sidecars to route any unknown traffic originating from the
* application to its requested destination. If not specified,
* inherits the system detected defaults from the namespace-wide or
* the global default Sidecar.
*
* Configuration for the outbound traffic policy. If your
* application uses one or more external services that are not known
* apriori, setting the policy to `ALLOW_ANY` will cause the
* sidecars to route any unknown traffic originating from the
* application to its requested destination. If not specified,
* inherits the system detected defaults from the namespace-wide or
* the global default Sidecar.
*
*
* .istio.networking.v1alpha3.OutboundTrafficPolicy outbound_traffic_policy = 4;
*/
private com.google.protobuf.SingleFieldBuilderV3<
istio.networking.v1alpha3.SidecarOuterClass.OutboundTrafficPolicy, istio.networking.v1alpha3.SidecarOuterClass.OutboundTrafficPolicy.Builder, istio.networking.v1alpha3.SidecarOuterClass.OutboundTrafficPolicyOrBuilder>
getOutboundTrafficPolicyFieldBuilder() {
if (outboundTrafficPolicyBuilder_ == null) {
outboundTrafficPolicyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
istio.networking.v1alpha3.SidecarOuterClass.OutboundTrafficPolicy, istio.networking.v1alpha3.SidecarOuterClass.OutboundTrafficPolicy.Builder, istio.networking.v1alpha3.SidecarOuterClass.OutboundTrafficPolicyOrBuilder>(
getOutboundTrafficPolicy(),
getParentForChildren(),
isClean());
outboundTrafficPolicy_ = null;
}
return outboundTrafficPolicyBuilder_;
}
@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:istio.networking.v1alpha3.Sidecar)
}
// @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.Sidecar)
private static final istio.networking.v1alpha3.SidecarOuterClass.Sidecar DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new istio.networking.v1alpha3.SidecarOuterClass.Sidecar();
}
public static istio.networking.v1alpha3.SidecarOuterClass.Sidecar getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser
PARSER = new com.google.protobuf.AbstractParser() {
@java.lang.Override
public Sidecar parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new Sidecar(input, extensionRegistry);
}
};
public static com.google.protobuf.Parser parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser getParserForType() {
return PARSER;
}
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.Sidecar getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
public interface IstioIngressListenerOrBuilder extends
// @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.IstioIngressListener)
com.google.protobuf.MessageOrBuilder {
/**
*
* The port associated with the listener.
*
*
* .istio.networking.v1alpha3.Port port = 1 [(.google.api.field_behavior) = REQUIRED];
* @return Whether the port field is set.
*/
boolean hasPort();
/**
*
* The port associated with the listener.
*
*
* .istio.networking.v1alpha3.Port port = 1 [(.google.api.field_behavior) = REQUIRED];
* @return The port.
*/
istio.networking.v1alpha3.GatewayOuterClass.Port getPort();
/**
*
* The IP to which the listener should be bound. Must be in the
* format `x.x.x.x`. Unix domain socket addresses are not allowed in
* the bind field for ingress listeners. If omitted, Istio will
* automatically configure the defaults based on imported services
* and the workload instances to which this configuration is applied
* to.
*
* The IP to which the listener should be bound. Must be in the
* format `x.x.x.x`. Unix domain socket addresses are not allowed in
* the bind field for ingress listeners. If omitted, Istio will
* automatically configure the defaults based on imported services
* and the workload instances to which this configuration is applied
* to.
*
*
* string bind = 2;
* @return The bytes for bind.
*/
com.google.protobuf.ByteString
getBindBytes();
/**
*
* The captureMode option dictates how traffic to the listener is
* expected to be captured (or not).
*
*
* .istio.networking.v1alpha3.CaptureMode capture_mode = 3;
* @return The enum numeric value on the wire for captureMode.
*/
int getCaptureModeValue();
/**
*
* The captureMode option dictates how traffic to the listener is
* expected to be captured (or not).
*
* The IP endpoint or Unix domain socket to which
* traffic should be forwarded to. This configuration can be used to
* redirect traffic arriving at the bind `IP:Port` on the sidecar to a `localhost:port`
* or Unix domain socket where the application workload instance is listening for
* connections. Arbitrary IPs are not supported. Format should be one of `127.0.0.1:PORT`, `0.0.0.0:PORT`
* (which will forward to the instance IP), or `unix:///path/to/socket`
*
* The IP endpoint or Unix domain socket to which
* traffic should be forwarded to. This configuration can be used to
* redirect traffic arriving at the bind `IP:Port` on the sidecar to a `localhost:port`
* or Unix domain socket where the application workload instance is listening for
* connections. Arbitrary IPs are not supported. Format should be one of `127.0.0.1:PORT`, `0.0.0.0:PORT`
* (which will forward to the instance IP), or `unix:///path/to/socket`
*
* `IstioIngressListener` specifies the properties of an inbound
* traffic listener on the sidecar proxy attached to a workload instance.
*
*
* Protobuf type {@code istio.networking.v1alpha3.IstioIngressListener}
*/
public static final class IstioIngressListener extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.IstioIngressListener)
IstioIngressListenerOrBuilder {
private static final long serialVersionUID = 0L;
// Use IstioIngressListener.newBuilder() to construct.
private IstioIngressListener(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private IstioIngressListener() {
bind_ = "";
captureMode_ = 0;
defaultEndpoint_ = "";
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(
UnusedPrivateParameter unused) {
return new IstioIngressListener();
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private IstioIngressListener(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
this();
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
case 10: {
istio.networking.v1alpha3.GatewayOuterClass.Port.Builder subBuilder = null;
if (port_ != null) {
subBuilder = port_.toBuilder();
}
port_ = input.readMessage(istio.networking.v1alpha3.GatewayOuterClass.Port.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(port_);
port_ = subBuilder.buildPartial();
}
break;
}
case 18: {
java.lang.String s = input.readStringRequireUtf8();
bind_ = s;
break;
}
case 24: {
int rawValue = input.readEnum();
captureMode_ = rawValue;
break;
}
case 34: {
java.lang.String s = input.readStringRequireUtf8();
defaultEndpoint_ = s;
break;
}
default: {
if (!parseUnknownField(
input, unknownFields, extensionRegistry, tag)) {
done = true;
}
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e).setUnfinishedMessage(this);
} finally {
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_IstioIngressListener_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_IstioIngressListener_fieldAccessorTable
.ensureFieldAccessorsInitialized(
istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener.class, istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener.Builder.class);
}
public static final int PORT_FIELD_NUMBER = 1;
private istio.networking.v1alpha3.GatewayOuterClass.Port port_;
/**
*
* The port associated with the listener.
*
*
* .istio.networking.v1alpha3.Port port = 1 [(.google.api.field_behavior) = REQUIRED];
* @return Whether the port field is set.
*/
@java.lang.Override
public boolean hasPort() {
return port_ != null;
}
/**
*
* The port associated with the listener.
*
*
* .istio.networking.v1alpha3.Port port = 1 [(.google.api.field_behavior) = REQUIRED];
* @return The port.
*/
@java.lang.Override
public istio.networking.v1alpha3.GatewayOuterClass.Port getPort() {
return port_ == null ? istio.networking.v1alpha3.GatewayOuterClass.Port.getDefaultInstance() : port_;
}
/**
*
* The port associated with the listener.
*
*
* .istio.networking.v1alpha3.Port port = 1 [(.google.api.field_behavior) = REQUIRED];
*/
@java.lang.Override
public istio.networking.v1alpha3.GatewayOuterClass.PortOrBuilder getPortOrBuilder() {
return getPort();
}
public static final int BIND_FIELD_NUMBER = 2;
private volatile java.lang.Object bind_;
/**
*
* The IP to which the listener should be bound. Must be in the
* format `x.x.x.x`. Unix domain socket addresses are not allowed in
* the bind field for ingress listeners. If omitted, Istio will
* automatically configure the defaults based on imported services
* and the workload instances to which this configuration is applied
* to.
*
* The IP to which the listener should be bound. Must be in the
* format `x.x.x.x`. Unix domain socket addresses are not allowed in
* the bind field for ingress listeners. If omitted, Istio will
* automatically configure the defaults based on imported services
* and the workload instances to which this configuration is applied
* to.
*
*
* string bind = 2;
* @return The bytes for bind.
*/
@java.lang.Override
public com.google.protobuf.ByteString
getBindBytes() {
java.lang.Object ref = bind_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
bind_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int CAPTURE_MODE_FIELD_NUMBER = 3;
private int captureMode_;
/**
*
* The captureMode option dictates how traffic to the listener is
* expected to be captured (or not).
*
*
* .istio.networking.v1alpha3.CaptureMode capture_mode = 3;
* @return The enum numeric value on the wire for captureMode.
*/
@java.lang.Override public int getCaptureModeValue() {
return captureMode_;
}
/**
*
* The captureMode option dictates how traffic to the listener is
* expected to be captured (or not).
*
*
* .istio.networking.v1alpha3.CaptureMode capture_mode = 3;
* @return The captureMode.
*/
@java.lang.Override public istio.networking.v1alpha3.SidecarOuterClass.CaptureMode getCaptureMode() {
@SuppressWarnings("deprecation")
istio.networking.v1alpha3.SidecarOuterClass.CaptureMode result = istio.networking.v1alpha3.SidecarOuterClass.CaptureMode.valueOf(captureMode_);
return result == null ? istio.networking.v1alpha3.SidecarOuterClass.CaptureMode.UNRECOGNIZED : result;
}
public static final int DEFAULT_ENDPOINT_FIELD_NUMBER = 4;
private volatile java.lang.Object defaultEndpoint_;
/**
*
* The IP endpoint or Unix domain socket to which
* traffic should be forwarded to. This configuration can be used to
* redirect traffic arriving at the bind `IP:Port` on the sidecar to a `localhost:port`
* or Unix domain socket where the application workload instance is listening for
* connections. Arbitrary IPs are not supported. Format should be one of `127.0.0.1:PORT`, `0.0.0.0:PORT`
* (which will forward to the instance IP), or `unix:///path/to/socket`
*
* The IP endpoint or Unix domain socket to which
* traffic should be forwarded to. This configuration can be used to
* redirect traffic arriving at the bind `IP:Port` on the sidecar to a `localhost:port`
* or Unix domain socket where the application workload instance is listening for
* connections. Arbitrary IPs are not supported. Format should be one of `127.0.0.1:PORT`, `0.0.0.0:PORT`
* (which will forward to the instance IP), or `unix:///path/to/socket`
*
*
* string default_endpoint = 4 [(.google.api.field_behavior) = REQUIRED];
* @return The bytes for defaultEndpoint.
*/
@java.lang.Override
public com.google.protobuf.ByteString
getDefaultEndpointBytes() {
java.lang.Object ref = defaultEndpoint_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
defaultEndpoint_ = 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 (port_ != null) {
output.writeMessage(1, getPort());
}
if (!getBindBytes().isEmpty()) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 2, bind_);
}
if (captureMode_ != istio.networking.v1alpha3.SidecarOuterClass.CaptureMode.DEFAULT.getNumber()) {
output.writeEnum(3, captureMode_);
}
if (!getDefaultEndpointBytes().isEmpty()) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 4, defaultEndpoint_);
}
unknownFields.writeTo(output);
}
@java.lang.Override
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
if (port_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(1, getPort());
}
if (!getBindBytes().isEmpty()) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, bind_);
}
if (captureMode_ != istio.networking.v1alpha3.SidecarOuterClass.CaptureMode.DEFAULT.getNumber()) {
size += com.google.protobuf.CodedOutputStream
.computeEnumSize(3, captureMode_);
}
if (!getDefaultEndpointBytes().isEmpty()) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, defaultEndpoint_);
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
}
@java.lang.Override
public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener)) {
return super.equals(obj);
}
istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener other = (istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener) obj;
if (hasPort() != other.hasPort()) return false;
if (hasPort()) {
if (!getPort()
.equals(other.getPort())) return false;
}
if (!getBind()
.equals(other.getBind())) return false;
if (captureMode_ != other.captureMode_) return false;
if (!getDefaultEndpoint()
.equals(other.getDefaultEndpoint())) return false;
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
if (hasPort()) {
hash = (37 * hash) + PORT_FIELD_NUMBER;
hash = (53 * hash) + getPort().hashCode();
}
hash = (37 * hash) + BIND_FIELD_NUMBER;
hash = (53 * hash) + getBind().hashCode();
hash = (37 * hash) + CAPTURE_MODE_FIELD_NUMBER;
hash = (53 * hash) + captureMode_;
hash = (37 * hash) + DEFAULT_ENDPOINT_FIELD_NUMBER;
hash = (53 * hash) + getDefaultEndpoint().hashCode();
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener 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 istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener 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 istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener 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(istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener 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;
}
/**
*
* `IstioIngressListener` specifies the properties of an inbound
* traffic listener on the sidecar proxy attached to a workload instance.
*
*
* Protobuf type {@code istio.networking.v1alpha3.IstioIngressListener}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageV3.Builder implements
// @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.IstioIngressListener)
istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListenerOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_IstioIngressListener_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_IstioIngressListener_fieldAccessorTable
.ensureFieldAccessorsInitialized(
istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener.class, istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener.Builder.class);
}
// Construct using istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessageV3
.alwaysUseFieldBuilders) {
}
}
@java.lang.Override
public Builder clear() {
super.clear();
if (portBuilder_ == null) {
port_ = null;
} else {
port_ = null;
portBuilder_ = null;
}
bind_ = "";
captureMode_ = 0;
defaultEndpoint_ = "";
return this;
}
@java.lang.Override
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_IstioIngressListener_descriptor;
}
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener getDefaultInstanceForType() {
return istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener.getDefaultInstance();
}
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener build() {
istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener buildPartial() {
istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener result = new istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener(this);
if (portBuilder_ == null) {
result.port_ = port_;
} else {
result.port_ = portBuilder_.build();
}
result.bind_ = bind_;
result.captureMode_ = captureMode_;
result.defaultEndpoint_ = defaultEndpoint_;
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 istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener) {
return mergeFrom((istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener other) {
if (other == istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener.getDefaultInstance()) return this;
if (other.hasPort()) {
mergePort(other.getPort());
}
if (!other.getBind().isEmpty()) {
bind_ = other.bind_;
onChanged();
}
if (other.captureMode_ != 0) {
setCaptureModeValue(other.getCaptureModeValue());
}
if (!other.getDefaultEndpoint().isEmpty()) {
defaultEndpoint_ = other.defaultEndpoint_;
onChanged();
}
this.mergeUnknownFields(other.unknownFields);
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 {
istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener) e.getUnfinishedMessage();
throw e.unwrapIOException();
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private istio.networking.v1alpha3.GatewayOuterClass.Port port_;
private com.google.protobuf.SingleFieldBuilderV3<
istio.networking.v1alpha3.GatewayOuterClass.Port, istio.networking.v1alpha3.GatewayOuterClass.Port.Builder, istio.networking.v1alpha3.GatewayOuterClass.PortOrBuilder> portBuilder_;
/**
*
* The port associated with the listener.
*
*
* .istio.networking.v1alpha3.Port port = 1 [(.google.api.field_behavior) = REQUIRED];
* @return Whether the port field is set.
*/
public boolean hasPort() {
return portBuilder_ != null || port_ != null;
}
/**
*
* The port associated with the listener.
*
*
* .istio.networking.v1alpha3.Port port = 1 [(.google.api.field_behavior) = REQUIRED];
* @return The port.
*/
public istio.networking.v1alpha3.GatewayOuterClass.Port getPort() {
if (portBuilder_ == null) {
return port_ == null ? istio.networking.v1alpha3.GatewayOuterClass.Port.getDefaultInstance() : port_;
} else {
return portBuilder_.getMessage();
}
}
/**
*
* The port associated with the listener.
*
*
* .istio.networking.v1alpha3.Port port = 1 [(.google.api.field_behavior) = REQUIRED];
*/
public Builder setPort(istio.networking.v1alpha3.GatewayOuterClass.Port value) {
if (portBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
port_ = value;
onChanged();
} else {
portBuilder_.setMessage(value);
}
return this;
}
/**
*
* The IP to which the listener should be bound. Must be in the
* format `x.x.x.x`. Unix domain socket addresses are not allowed in
* the bind field for ingress listeners. If omitted, Istio will
* automatically configure the defaults based on imported services
* and the workload instances to which this configuration is applied
* to.
*
* The IP to which the listener should be bound. Must be in the
* format `x.x.x.x`. Unix domain socket addresses are not allowed in
* the bind field for ingress listeners. If omitted, Istio will
* automatically configure the defaults based on imported services
* and the workload instances to which this configuration is applied
* to.
*
*
* string bind = 2;
* @return The bytes for bind.
*/
public com.google.protobuf.ByteString
getBindBytes() {
java.lang.Object ref = bind_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
bind_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
*
* The IP to which the listener should be bound. Must be in the
* format `x.x.x.x`. Unix domain socket addresses are not allowed in
* the bind field for ingress listeners. If omitted, Istio will
* automatically configure the defaults based on imported services
* and the workload instances to which this configuration is applied
* to.
*
*
* string bind = 2;
* @param value The bind to set.
* @return This builder for chaining.
*/
public Builder setBind(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
bind_ = value;
onChanged();
return this;
}
/**
*
* The IP to which the listener should be bound. Must be in the
* format `x.x.x.x`. Unix domain socket addresses are not allowed in
* the bind field for ingress listeners. If omitted, Istio will
* automatically configure the defaults based on imported services
* and the workload instances to which this configuration is applied
* to.
*
*
* string bind = 2;
* @return This builder for chaining.
*/
public Builder clearBind() {
bind_ = getDefaultInstance().getBind();
onChanged();
return this;
}
/**
*
* The IP to which the listener should be bound. Must be in the
* format `x.x.x.x`. Unix domain socket addresses are not allowed in
* the bind field for ingress listeners. If omitted, Istio will
* automatically configure the defaults based on imported services
* and the workload instances to which this configuration is applied
* to.
*
*
* string bind = 2;
* @param value The bytes for bind to set.
* @return This builder for chaining.
*/
public Builder setBindBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
bind_ = value;
onChanged();
return this;
}
private int captureMode_ = 0;
/**
*
* The captureMode option dictates how traffic to the listener is
* expected to be captured (or not).
*
*
* .istio.networking.v1alpha3.CaptureMode capture_mode = 3;
* @return The enum numeric value on the wire for captureMode.
*/
@java.lang.Override public int getCaptureModeValue() {
return captureMode_;
}
/**
*
* The captureMode option dictates how traffic to the listener is
* expected to be captured (or not).
*
*
* .istio.networking.v1alpha3.CaptureMode capture_mode = 3;
* @param value The enum numeric value on the wire for captureMode to set.
* @return This builder for chaining.
*/
public Builder setCaptureModeValue(int value) {
captureMode_ = value;
onChanged();
return this;
}
/**
*
* The captureMode option dictates how traffic to the listener is
* expected to be captured (or not).
*
*
* .istio.networking.v1alpha3.CaptureMode capture_mode = 3;
* @return The captureMode.
*/
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.CaptureMode getCaptureMode() {
@SuppressWarnings("deprecation")
istio.networking.v1alpha3.SidecarOuterClass.CaptureMode result = istio.networking.v1alpha3.SidecarOuterClass.CaptureMode.valueOf(captureMode_);
return result == null ? istio.networking.v1alpha3.SidecarOuterClass.CaptureMode.UNRECOGNIZED : result;
}
/**
*
* The captureMode option dictates how traffic to the listener is
* expected to be captured (or not).
*
*
* .istio.networking.v1alpha3.CaptureMode capture_mode = 3;
* @param value The captureMode to set.
* @return This builder for chaining.
*/
public Builder setCaptureMode(istio.networking.v1alpha3.SidecarOuterClass.CaptureMode value) {
if (value == null) {
throw new NullPointerException();
}
captureMode_ = value.getNumber();
onChanged();
return this;
}
/**
*
* The captureMode option dictates how traffic to the listener is
* expected to be captured (or not).
*
* The IP endpoint or Unix domain socket to which
* traffic should be forwarded to. This configuration can be used to
* redirect traffic arriving at the bind `IP:Port` on the sidecar to a `localhost:port`
* or Unix domain socket where the application workload instance is listening for
* connections. Arbitrary IPs are not supported. Format should be one of `127.0.0.1:PORT`, `0.0.0.0:PORT`
* (which will forward to the instance IP), or `unix:///path/to/socket`
*
* The IP endpoint or Unix domain socket to which
* traffic should be forwarded to. This configuration can be used to
* redirect traffic arriving at the bind `IP:Port` on the sidecar to a `localhost:port`
* or Unix domain socket where the application workload instance is listening for
* connections. Arbitrary IPs are not supported. Format should be one of `127.0.0.1:PORT`, `0.0.0.0:PORT`
* (which will forward to the instance IP), or `unix:///path/to/socket`
*
*
* string default_endpoint = 4 [(.google.api.field_behavior) = REQUIRED];
* @return The bytes for defaultEndpoint.
*/
public com.google.protobuf.ByteString
getDefaultEndpointBytes() {
java.lang.Object ref = defaultEndpoint_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
defaultEndpoint_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
*
* The IP endpoint or Unix domain socket to which
* traffic should be forwarded to. This configuration can be used to
* redirect traffic arriving at the bind `IP:Port` on the sidecar to a `localhost:port`
* or Unix domain socket where the application workload instance is listening for
* connections. Arbitrary IPs are not supported. Format should be one of `127.0.0.1:PORT`, `0.0.0.0:PORT`
* (which will forward to the instance IP), or `unix:///path/to/socket`
*
*
* string default_endpoint = 4 [(.google.api.field_behavior) = REQUIRED];
* @param value The defaultEndpoint to set.
* @return This builder for chaining.
*/
public Builder setDefaultEndpoint(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
defaultEndpoint_ = value;
onChanged();
return this;
}
/**
*
* The IP endpoint or Unix domain socket to which
* traffic should be forwarded to. This configuration can be used to
* redirect traffic arriving at the bind `IP:Port` on the sidecar to a `localhost:port`
* or Unix domain socket where the application workload instance is listening for
* connections. Arbitrary IPs are not supported. Format should be one of `127.0.0.1:PORT`, `0.0.0.0:PORT`
* (which will forward to the instance IP), or `unix:///path/to/socket`
*
*
* string default_endpoint = 4 [(.google.api.field_behavior) = REQUIRED];
* @return This builder for chaining.
*/
public Builder clearDefaultEndpoint() {
defaultEndpoint_ = getDefaultInstance().getDefaultEndpoint();
onChanged();
return this;
}
/**
*
* The IP endpoint or Unix domain socket to which
* traffic should be forwarded to. This configuration can be used to
* redirect traffic arriving at the bind `IP:Port` on the sidecar to a `localhost:port`
* or Unix domain socket where the application workload instance is listening for
* connections. Arbitrary IPs are not supported. Format should be one of `127.0.0.1:PORT`, `0.0.0.0:PORT`
* (which will forward to the instance IP), or `unix:///path/to/socket`
*
*
* string default_endpoint = 4 [(.google.api.field_behavior) = REQUIRED];
* @param value The bytes for defaultEndpoint to set.
* @return This builder for chaining.
*/
public Builder setDefaultEndpointBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
defaultEndpoint_ = 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:istio.networking.v1alpha3.IstioIngressListener)
}
// @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.IstioIngressListener)
private static final istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener();
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser
PARSER = new com.google.protobuf.AbstractParser() {
@java.lang.Override
public IstioIngressListener parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new IstioIngressListener(input, extensionRegistry);
}
};
public static com.google.protobuf.Parser parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser getParserForType() {
return PARSER;
}
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.IstioIngressListener getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
public interface IstioEgressListenerOrBuilder extends
// @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.IstioEgressListener)
com.google.protobuf.MessageOrBuilder {
/**
*
* The port associated with the listener. If using Unix domain socket,
* use 0 as the port number, with a valid protocol. The port if
* specified, will be used as the default destination port associated
* with the imported hosts. If the port is omitted, Istio will infer the
* listener ports based on the imported hosts. Note that when multiple
* egress listeners are specified, where one or more listeners have
* specific ports while others have no port, the hosts exposed on a
* listener port will be based on the listener with the most specific
* port.
*
*
* .istio.networking.v1alpha3.Port port = 1;
* @return Whether the port field is set.
*/
boolean hasPort();
/**
*
* The port associated with the listener. If using Unix domain socket,
* use 0 as the port number, with a valid protocol. The port if
* specified, will be used as the default destination port associated
* with the imported hosts. If the port is omitted, Istio will infer the
* listener ports based on the imported hosts. Note that when multiple
* egress listeners are specified, where one or more listeners have
* specific ports while others have no port, the hosts exposed on a
* listener port will be based on the listener with the most specific
* port.
*
*
* .istio.networking.v1alpha3.Port port = 1;
* @return The port.
*/
istio.networking.v1alpha3.GatewayOuterClass.Port getPort();
/**
*
* The port associated with the listener. If using Unix domain socket,
* use 0 as the port number, with a valid protocol. The port if
* specified, will be used as the default destination port associated
* with the imported hosts. If the port is omitted, Istio will infer the
* listener ports based on the imported hosts. Note that when multiple
* egress listeners are specified, where one or more listeners have
* specific ports while others have no port, the hosts exposed on a
* listener port will be based on the listener with the most specific
* port.
*
* The IP or the Unix domain socket to which the listener should be bound
* to. Port MUST be specified if bind is not empty. Format: `x.x.x.x` or
* `unix:///path/to/uds` or `unix://@foobar` (Linux abstract namespace). If
* omitted, Istio will automatically configure the defaults based on imported
* services, the workload instances to which this configuration is applied to and
* the captureMode. If captureMode is `NONE`, bind will default to
* 127.0.0.1.
*
* The IP or the Unix domain socket to which the listener should be bound
* to. Port MUST be specified if bind is not empty. Format: `x.x.x.x` or
* `unix:///path/to/uds` or `unix://@foobar` (Linux abstract namespace). If
* omitted, Istio will automatically configure the defaults based on imported
* services, the workload instances to which this configuration is applied to and
* the captureMode. If captureMode is `NONE`, bind will default to
* 127.0.0.1.
*
*
* string bind = 2;
* @return The bytes for bind.
*/
com.google.protobuf.ByteString
getBindBytes();
/**
*
* When the bind address is an IP, the captureMode option dictates
* how traffic to the listener is expected to be captured (or not).
* captureMode must be DEFAULT or `NONE` for Unix domain socket binds.
*
*
* .istio.networking.v1alpha3.CaptureMode capture_mode = 3;
* @return The enum numeric value on the wire for captureMode.
*/
int getCaptureModeValue();
/**
*
* When the bind address is an IP, the captureMode option dictates
* how traffic to the listener is expected to be captured (or not).
* captureMode must be DEFAULT or `NONE` for Unix domain socket binds.
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
*
* repeated string hosts = 4 [(.google.api.field_behavior) = REQUIRED];
* @return A list containing the hosts.
*/
java.util.List
getHostsList();
/**
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
*
* repeated string hosts = 4 [(.google.api.field_behavior) = REQUIRED];
* @return The count of hosts.
*/
int getHostsCount();
/**
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
*
* repeated string hosts = 4 [(.google.api.field_behavior) = REQUIRED];
* @param index The index of the element to return.
* @return The hosts at the given index.
*/
java.lang.String getHosts(int index);
/**
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
*
* repeated string hosts = 4 [(.google.api.field_behavior) = REQUIRED];
* @param index The index of the value to return.
* @return The bytes of the hosts at the given index.
*/
com.google.protobuf.ByteString
getHostsBytes(int index);
}
/**
*
* `IstioEgressListener` specifies the properties of an outbound traffic
* listener on the sidecar proxy attached to a workload instance.
*
*
* Protobuf type {@code istio.networking.v1alpha3.IstioEgressListener}
*/
public static final class IstioEgressListener extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.IstioEgressListener)
IstioEgressListenerOrBuilder {
private static final long serialVersionUID = 0L;
// Use IstioEgressListener.newBuilder() to construct.
private IstioEgressListener(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private IstioEgressListener() {
bind_ = "";
captureMode_ = 0;
hosts_ = com.google.protobuf.LazyStringArrayList.EMPTY;
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(
UnusedPrivateParameter unused) {
return new IstioEgressListener();
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private IstioEgressListener(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
this();
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
case 10: {
istio.networking.v1alpha3.GatewayOuterClass.Port.Builder subBuilder = null;
if (port_ != null) {
subBuilder = port_.toBuilder();
}
port_ = input.readMessage(istio.networking.v1alpha3.GatewayOuterClass.Port.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(port_);
port_ = subBuilder.buildPartial();
}
break;
}
case 18: {
java.lang.String s = input.readStringRequireUtf8();
bind_ = s;
break;
}
case 24: {
int rawValue = input.readEnum();
captureMode_ = rawValue;
break;
}
case 34: {
java.lang.String s = input.readStringRequireUtf8();
if (!((mutable_bitField0_ & 0x00000001) != 0)) {
hosts_ = new com.google.protobuf.LazyStringArrayList();
mutable_bitField0_ |= 0x00000001;
}
hosts_.add(s);
break;
}
default: {
if (!parseUnknownField(
input, unknownFields, extensionRegistry, tag)) {
done = true;
}
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e).setUnfinishedMessage(this);
} finally {
if (((mutable_bitField0_ & 0x00000001) != 0)) {
hosts_ = hosts_.getUnmodifiableView();
}
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_IstioEgressListener_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_IstioEgressListener_fieldAccessorTable
.ensureFieldAccessorsInitialized(
istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener.class, istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener.Builder.class);
}
public static final int PORT_FIELD_NUMBER = 1;
private istio.networking.v1alpha3.GatewayOuterClass.Port port_;
/**
*
* The port associated with the listener. If using Unix domain socket,
* use 0 as the port number, with a valid protocol. The port if
* specified, will be used as the default destination port associated
* with the imported hosts. If the port is omitted, Istio will infer the
* listener ports based on the imported hosts. Note that when multiple
* egress listeners are specified, where one or more listeners have
* specific ports while others have no port, the hosts exposed on a
* listener port will be based on the listener with the most specific
* port.
*
*
* .istio.networking.v1alpha3.Port port = 1;
* @return Whether the port field is set.
*/
@java.lang.Override
public boolean hasPort() {
return port_ != null;
}
/**
*
* The port associated with the listener. If using Unix domain socket,
* use 0 as the port number, with a valid protocol. The port if
* specified, will be used as the default destination port associated
* with the imported hosts. If the port is omitted, Istio will infer the
* listener ports based on the imported hosts. Note that when multiple
* egress listeners are specified, where one or more listeners have
* specific ports while others have no port, the hosts exposed on a
* listener port will be based on the listener with the most specific
* port.
*
*
* .istio.networking.v1alpha3.Port port = 1;
* @return The port.
*/
@java.lang.Override
public istio.networking.v1alpha3.GatewayOuterClass.Port getPort() {
return port_ == null ? istio.networking.v1alpha3.GatewayOuterClass.Port.getDefaultInstance() : port_;
}
/**
*
* The port associated with the listener. If using Unix domain socket,
* use 0 as the port number, with a valid protocol. The port if
* specified, will be used as the default destination port associated
* with the imported hosts. If the port is omitted, Istio will infer the
* listener ports based on the imported hosts. Note that when multiple
* egress listeners are specified, where one or more listeners have
* specific ports while others have no port, the hosts exposed on a
* listener port will be based on the listener with the most specific
* port.
*
*
* .istio.networking.v1alpha3.Port port = 1;
*/
@java.lang.Override
public istio.networking.v1alpha3.GatewayOuterClass.PortOrBuilder getPortOrBuilder() {
return getPort();
}
public static final int BIND_FIELD_NUMBER = 2;
private volatile java.lang.Object bind_;
/**
*
* The IP or the Unix domain socket to which the listener should be bound
* to. Port MUST be specified if bind is not empty. Format: `x.x.x.x` or
* `unix:///path/to/uds` or `unix://@foobar` (Linux abstract namespace). If
* omitted, Istio will automatically configure the defaults based on imported
* services, the workload instances to which this configuration is applied to and
* the captureMode. If captureMode is `NONE`, bind will default to
* 127.0.0.1.
*
* The IP or the Unix domain socket to which the listener should be bound
* to. Port MUST be specified if bind is not empty. Format: `x.x.x.x` or
* `unix:///path/to/uds` or `unix://@foobar` (Linux abstract namespace). If
* omitted, Istio will automatically configure the defaults based on imported
* services, the workload instances to which this configuration is applied to and
* the captureMode. If captureMode is `NONE`, bind will default to
* 127.0.0.1.
*
*
* string bind = 2;
* @return The bytes for bind.
*/
@java.lang.Override
public com.google.protobuf.ByteString
getBindBytes() {
java.lang.Object ref = bind_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
bind_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int CAPTURE_MODE_FIELD_NUMBER = 3;
private int captureMode_;
/**
*
* When the bind address is an IP, the captureMode option dictates
* how traffic to the listener is expected to be captured (or not).
* captureMode must be DEFAULT or `NONE` for Unix domain socket binds.
*
*
* .istio.networking.v1alpha3.CaptureMode capture_mode = 3;
* @return The enum numeric value on the wire for captureMode.
*/
@java.lang.Override public int getCaptureModeValue() {
return captureMode_;
}
/**
*
* When the bind address is an IP, the captureMode option dictates
* how traffic to the listener is expected to be captured (or not).
* captureMode must be DEFAULT or `NONE` for Unix domain socket binds.
*
*
* .istio.networking.v1alpha3.CaptureMode capture_mode = 3;
* @return The captureMode.
*/
@java.lang.Override public istio.networking.v1alpha3.SidecarOuterClass.CaptureMode getCaptureMode() {
@SuppressWarnings("deprecation")
istio.networking.v1alpha3.SidecarOuterClass.CaptureMode result = istio.networking.v1alpha3.SidecarOuterClass.CaptureMode.valueOf(captureMode_);
return result == null ? istio.networking.v1alpha3.SidecarOuterClass.CaptureMode.UNRECOGNIZED : result;
}
public static final int HOSTS_FIELD_NUMBER = 4;
private com.google.protobuf.LazyStringList hosts_;
/**
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
*
* repeated string hosts = 4 [(.google.api.field_behavior) = REQUIRED];
* @return A list containing the hosts.
*/
public com.google.protobuf.ProtocolStringList
getHostsList() {
return hosts_;
}
/**
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
*
* repeated string hosts = 4 [(.google.api.field_behavior) = REQUIRED];
* @return The count of hosts.
*/
public int getHostsCount() {
return hosts_.size();
}
/**
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
*
* repeated string hosts = 4 [(.google.api.field_behavior) = REQUIRED];
* @param index The index of the element to return.
* @return The hosts at the given index.
*/
public java.lang.String getHosts(int index) {
return hosts_.get(index);
}
/**
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
*
* repeated string hosts = 4 [(.google.api.field_behavior) = REQUIRED];
* @param index The index of the value to return.
* @return The bytes of the hosts at the given index.
*/
public com.google.protobuf.ByteString
getHostsBytes(int index) {
return hosts_.getByteString(index);
}
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 (port_ != null) {
output.writeMessage(1, getPort());
}
if (!getBindBytes().isEmpty()) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 2, bind_);
}
if (captureMode_ != istio.networking.v1alpha3.SidecarOuterClass.CaptureMode.DEFAULT.getNumber()) {
output.writeEnum(3, captureMode_);
}
for (int i = 0; i < hosts_.size(); i++) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 4, hosts_.getRaw(i));
}
unknownFields.writeTo(output);
}
@java.lang.Override
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
if (port_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(1, getPort());
}
if (!getBindBytes().isEmpty()) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, bind_);
}
if (captureMode_ != istio.networking.v1alpha3.SidecarOuterClass.CaptureMode.DEFAULT.getNumber()) {
size += com.google.protobuf.CodedOutputStream
.computeEnumSize(3, captureMode_);
}
{
int dataSize = 0;
for (int i = 0; i < hosts_.size(); i++) {
dataSize += computeStringSizeNoTag(hosts_.getRaw(i));
}
size += dataSize;
size += 1 * getHostsList().size();
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
}
@java.lang.Override
public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener)) {
return super.equals(obj);
}
istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener other = (istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener) obj;
if (hasPort() != other.hasPort()) return false;
if (hasPort()) {
if (!getPort()
.equals(other.getPort())) return false;
}
if (!getBind()
.equals(other.getBind())) return false;
if (captureMode_ != other.captureMode_) return false;
if (!getHostsList()
.equals(other.getHostsList())) return false;
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
if (hasPort()) {
hash = (37 * hash) + PORT_FIELD_NUMBER;
hash = (53 * hash) + getPort().hashCode();
}
hash = (37 * hash) + BIND_FIELD_NUMBER;
hash = (53 * hash) + getBind().hashCode();
hash = (37 * hash) + CAPTURE_MODE_FIELD_NUMBER;
hash = (53 * hash) + captureMode_;
if (getHostsCount() > 0) {
hash = (37 * hash) + HOSTS_FIELD_NUMBER;
hash = (53 * hash) + getHostsList().hashCode();
}
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener 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 istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener 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 istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener 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(istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener 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;
}
/**
*
* `IstioEgressListener` specifies the properties of an outbound traffic
* listener on the sidecar proxy attached to a workload instance.
*
*
* Protobuf type {@code istio.networking.v1alpha3.IstioEgressListener}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageV3.Builder implements
// @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.IstioEgressListener)
istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListenerOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_IstioEgressListener_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_IstioEgressListener_fieldAccessorTable
.ensureFieldAccessorsInitialized(
istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener.class, istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener.Builder.class);
}
// Construct using istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessageV3
.alwaysUseFieldBuilders) {
}
}
@java.lang.Override
public Builder clear() {
super.clear();
if (portBuilder_ == null) {
port_ = null;
} else {
port_ = null;
portBuilder_ = null;
}
bind_ = "";
captureMode_ = 0;
hosts_ = com.google.protobuf.LazyStringArrayList.EMPTY;
bitField0_ = (bitField0_ & ~0x00000001);
return this;
}
@java.lang.Override
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_IstioEgressListener_descriptor;
}
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener getDefaultInstanceForType() {
return istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener.getDefaultInstance();
}
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener build() {
istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener buildPartial() {
istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener result = new istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener(this);
int from_bitField0_ = bitField0_;
if (portBuilder_ == null) {
result.port_ = port_;
} else {
result.port_ = portBuilder_.build();
}
result.bind_ = bind_;
result.captureMode_ = captureMode_;
if (((bitField0_ & 0x00000001) != 0)) {
hosts_ = hosts_.getUnmodifiableView();
bitField0_ = (bitField0_ & ~0x00000001);
}
result.hosts_ = hosts_;
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 istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener) {
return mergeFrom((istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener other) {
if (other == istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener.getDefaultInstance()) return this;
if (other.hasPort()) {
mergePort(other.getPort());
}
if (!other.getBind().isEmpty()) {
bind_ = other.bind_;
onChanged();
}
if (other.captureMode_ != 0) {
setCaptureModeValue(other.getCaptureModeValue());
}
if (!other.hosts_.isEmpty()) {
if (hosts_.isEmpty()) {
hosts_ = other.hosts_;
bitField0_ = (bitField0_ & ~0x00000001);
} else {
ensureHostsIsMutable();
hosts_.addAll(other.hosts_);
}
onChanged();
}
this.mergeUnknownFields(other.unknownFields);
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 {
istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener) e.getUnfinishedMessage();
throw e.unwrapIOException();
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private int bitField0_;
private istio.networking.v1alpha3.GatewayOuterClass.Port port_;
private com.google.protobuf.SingleFieldBuilderV3<
istio.networking.v1alpha3.GatewayOuterClass.Port, istio.networking.v1alpha3.GatewayOuterClass.Port.Builder, istio.networking.v1alpha3.GatewayOuterClass.PortOrBuilder> portBuilder_;
/**
*
* The port associated with the listener. If using Unix domain socket,
* use 0 as the port number, with a valid protocol. The port if
* specified, will be used as the default destination port associated
* with the imported hosts. If the port is omitted, Istio will infer the
* listener ports based on the imported hosts. Note that when multiple
* egress listeners are specified, where one or more listeners have
* specific ports while others have no port, the hosts exposed on a
* listener port will be based on the listener with the most specific
* port.
*
*
* .istio.networking.v1alpha3.Port port = 1;
* @return Whether the port field is set.
*/
public boolean hasPort() {
return portBuilder_ != null || port_ != null;
}
/**
*
* The port associated with the listener. If using Unix domain socket,
* use 0 as the port number, with a valid protocol. The port if
* specified, will be used as the default destination port associated
* with the imported hosts. If the port is omitted, Istio will infer the
* listener ports based on the imported hosts. Note that when multiple
* egress listeners are specified, where one or more listeners have
* specific ports while others have no port, the hosts exposed on a
* listener port will be based on the listener with the most specific
* port.
*
*
* .istio.networking.v1alpha3.Port port = 1;
* @return The port.
*/
public istio.networking.v1alpha3.GatewayOuterClass.Port getPort() {
if (portBuilder_ == null) {
return port_ == null ? istio.networking.v1alpha3.GatewayOuterClass.Port.getDefaultInstance() : port_;
} else {
return portBuilder_.getMessage();
}
}
/**
*
* The port associated with the listener. If using Unix domain socket,
* use 0 as the port number, with a valid protocol. The port if
* specified, will be used as the default destination port associated
* with the imported hosts. If the port is omitted, Istio will infer the
* listener ports based on the imported hosts. Note that when multiple
* egress listeners are specified, where one or more listeners have
* specific ports while others have no port, the hosts exposed on a
* listener port will be based on the listener with the most specific
* port.
*
*
* .istio.networking.v1alpha3.Port port = 1;
*/
public Builder setPort(istio.networking.v1alpha3.GatewayOuterClass.Port value) {
if (portBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
port_ = value;
onChanged();
} else {
portBuilder_.setMessage(value);
}
return this;
}
/**
*
* The port associated with the listener. If using Unix domain socket,
* use 0 as the port number, with a valid protocol. The port if
* specified, will be used as the default destination port associated
* with the imported hosts. If the port is omitted, Istio will infer the
* listener ports based on the imported hosts. Note that when multiple
* egress listeners are specified, where one or more listeners have
* specific ports while others have no port, the hosts exposed on a
* listener port will be based on the listener with the most specific
* port.
*
* The port associated with the listener. If using Unix domain socket,
* use 0 as the port number, with a valid protocol. The port if
* specified, will be used as the default destination port associated
* with the imported hosts. If the port is omitted, Istio will infer the
* listener ports based on the imported hosts. Note that when multiple
* egress listeners are specified, where one or more listeners have
* specific ports while others have no port, the hosts exposed on a
* listener port will be based on the listener with the most specific
* port.
*
* The port associated with the listener. If using Unix domain socket,
* use 0 as the port number, with a valid protocol. The port if
* specified, will be used as the default destination port associated
* with the imported hosts. If the port is omitted, Istio will infer the
* listener ports based on the imported hosts. Note that when multiple
* egress listeners are specified, where one or more listeners have
* specific ports while others have no port, the hosts exposed on a
* listener port will be based on the listener with the most specific
* port.
*
* The port associated with the listener. If using Unix domain socket,
* use 0 as the port number, with a valid protocol. The port if
* specified, will be used as the default destination port associated
* with the imported hosts. If the port is omitted, Istio will infer the
* listener ports based on the imported hosts. Note that when multiple
* egress listeners are specified, where one or more listeners have
* specific ports while others have no port, the hosts exposed on a
* listener port will be based on the listener with the most specific
* port.
*
*
* .istio.networking.v1alpha3.Port port = 1;
*/
public istio.networking.v1alpha3.GatewayOuterClass.Port.Builder getPortBuilder() {
onChanged();
return getPortFieldBuilder().getBuilder();
}
/**
*
* The port associated with the listener. If using Unix domain socket,
* use 0 as the port number, with a valid protocol. The port if
* specified, will be used as the default destination port associated
* with the imported hosts. If the port is omitted, Istio will infer the
* listener ports based on the imported hosts. Note that when multiple
* egress listeners are specified, where one or more listeners have
* specific ports while others have no port, the hosts exposed on a
* listener port will be based on the listener with the most specific
* port.
*
* The port associated with the listener. If using Unix domain socket,
* use 0 as the port number, with a valid protocol. The port if
* specified, will be used as the default destination port associated
* with the imported hosts. If the port is omitted, Istio will infer the
* listener ports based on the imported hosts. Note that when multiple
* egress listeners are specified, where one or more listeners have
* specific ports while others have no port, the hosts exposed on a
* listener port will be based on the listener with the most specific
* port.
*
* The IP or the Unix domain socket to which the listener should be bound
* to. Port MUST be specified if bind is not empty. Format: `x.x.x.x` or
* `unix:///path/to/uds` or `unix://@foobar` (Linux abstract namespace). If
* omitted, Istio will automatically configure the defaults based on imported
* services, the workload instances to which this configuration is applied to and
* the captureMode. If captureMode is `NONE`, bind will default to
* 127.0.0.1.
*
* The IP or the Unix domain socket to which the listener should be bound
* to. Port MUST be specified if bind is not empty. Format: `x.x.x.x` or
* `unix:///path/to/uds` or `unix://@foobar` (Linux abstract namespace). If
* omitted, Istio will automatically configure the defaults based on imported
* services, the workload instances to which this configuration is applied to and
* the captureMode. If captureMode is `NONE`, bind will default to
* 127.0.0.1.
*
*
* string bind = 2;
* @return The bytes for bind.
*/
public com.google.protobuf.ByteString
getBindBytes() {
java.lang.Object ref = bind_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
bind_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
*
* The IP or the Unix domain socket to which the listener should be bound
* to. Port MUST be specified if bind is not empty. Format: `x.x.x.x` or
* `unix:///path/to/uds` or `unix://@foobar` (Linux abstract namespace). If
* omitted, Istio will automatically configure the defaults based on imported
* services, the workload instances to which this configuration is applied to and
* the captureMode. If captureMode is `NONE`, bind will default to
* 127.0.0.1.
*
*
* string bind = 2;
* @param value The bind to set.
* @return This builder for chaining.
*/
public Builder setBind(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
bind_ = value;
onChanged();
return this;
}
/**
*
* The IP or the Unix domain socket to which the listener should be bound
* to. Port MUST be specified if bind is not empty. Format: `x.x.x.x` or
* `unix:///path/to/uds` or `unix://@foobar` (Linux abstract namespace). If
* omitted, Istio will automatically configure the defaults based on imported
* services, the workload instances to which this configuration is applied to and
* the captureMode. If captureMode is `NONE`, bind will default to
* 127.0.0.1.
*
*
* string bind = 2;
* @return This builder for chaining.
*/
public Builder clearBind() {
bind_ = getDefaultInstance().getBind();
onChanged();
return this;
}
/**
*
* The IP or the Unix domain socket to which the listener should be bound
* to. Port MUST be specified if bind is not empty. Format: `x.x.x.x` or
* `unix:///path/to/uds` or `unix://@foobar` (Linux abstract namespace). If
* omitted, Istio will automatically configure the defaults based on imported
* services, the workload instances to which this configuration is applied to and
* the captureMode. If captureMode is `NONE`, bind will default to
* 127.0.0.1.
*
*
* string bind = 2;
* @param value The bytes for bind to set.
* @return This builder for chaining.
*/
public Builder setBindBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
bind_ = value;
onChanged();
return this;
}
private int captureMode_ = 0;
/**
*
* When the bind address is an IP, the captureMode option dictates
* how traffic to the listener is expected to be captured (or not).
* captureMode must be DEFAULT or `NONE` for Unix domain socket binds.
*
*
* .istio.networking.v1alpha3.CaptureMode capture_mode = 3;
* @return The enum numeric value on the wire for captureMode.
*/
@java.lang.Override public int getCaptureModeValue() {
return captureMode_;
}
/**
*
* When the bind address is an IP, the captureMode option dictates
* how traffic to the listener is expected to be captured (or not).
* captureMode must be DEFAULT or `NONE` for Unix domain socket binds.
*
*
* .istio.networking.v1alpha3.CaptureMode capture_mode = 3;
* @param value The enum numeric value on the wire for captureMode to set.
* @return This builder for chaining.
*/
public Builder setCaptureModeValue(int value) {
captureMode_ = value;
onChanged();
return this;
}
/**
*
* When the bind address is an IP, the captureMode option dictates
* how traffic to the listener is expected to be captured (or not).
* captureMode must be DEFAULT or `NONE` for Unix domain socket binds.
*
*
* .istio.networking.v1alpha3.CaptureMode capture_mode = 3;
* @return The captureMode.
*/
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.CaptureMode getCaptureMode() {
@SuppressWarnings("deprecation")
istio.networking.v1alpha3.SidecarOuterClass.CaptureMode result = istio.networking.v1alpha3.SidecarOuterClass.CaptureMode.valueOf(captureMode_);
return result == null ? istio.networking.v1alpha3.SidecarOuterClass.CaptureMode.UNRECOGNIZED : result;
}
/**
*
* When the bind address is an IP, the captureMode option dictates
* how traffic to the listener is expected to be captured (or not).
* captureMode must be DEFAULT or `NONE` for Unix domain socket binds.
*
*
* .istio.networking.v1alpha3.CaptureMode capture_mode = 3;
* @param value The captureMode to set.
* @return This builder for chaining.
*/
public Builder setCaptureMode(istio.networking.v1alpha3.SidecarOuterClass.CaptureMode value) {
if (value == null) {
throw new NullPointerException();
}
captureMode_ = value.getNumber();
onChanged();
return this;
}
/**
*
* When the bind address is an IP, the captureMode option dictates
* how traffic to the listener is expected to be captured (or not).
* captureMode must be DEFAULT or `NONE` for Unix domain socket binds.
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
*
* repeated string hosts = 4 [(.google.api.field_behavior) = REQUIRED];
* @return A list containing the hosts.
*/
public com.google.protobuf.ProtocolStringList
getHostsList() {
return hosts_.getUnmodifiableView();
}
/**
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
*
* repeated string hosts = 4 [(.google.api.field_behavior) = REQUIRED];
* @return The count of hosts.
*/
public int getHostsCount() {
return hosts_.size();
}
/**
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
*
* repeated string hosts = 4 [(.google.api.field_behavior) = REQUIRED];
* @param index The index of the element to return.
* @return The hosts at the given index.
*/
public java.lang.String getHosts(int index) {
return hosts_.get(index);
}
/**
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
*
* repeated string hosts = 4 [(.google.api.field_behavior) = REQUIRED];
* @param index The index of the value to return.
* @return The bytes of the hosts at the given index.
*/
public com.google.protobuf.ByteString
getHostsBytes(int index) {
return hosts_.getByteString(index);
}
/**
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
*
* repeated string hosts = 4 [(.google.api.field_behavior) = REQUIRED];
* @param index The index to set the value at.
* @param value The hosts to set.
* @return This builder for chaining.
*/
public Builder setHosts(
int index, java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureHostsIsMutable();
hosts_.set(index, value);
onChanged();
return this;
}
/**
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
*
* repeated string hosts = 4 [(.google.api.field_behavior) = REQUIRED];
* @param value The hosts to add.
* @return This builder for chaining.
*/
public Builder addHosts(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureHostsIsMutable();
hosts_.add(value);
onChanged();
return this;
}
/**
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
*
* repeated string hosts = 4 [(.google.api.field_behavior) = REQUIRED];
* @param values The hosts to add.
* @return This builder for chaining.
*/
public Builder addAllHosts(
java.lang.Iterable values) {
ensureHostsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(
values, hosts_);
onChanged();
return this;
}
/**
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
* One or more service hosts exposed by the listener
* in `namespace/dnsName` format. Services in the specified namespace
* matching `dnsName` will be exposed.
* The corresponding service can be a service in the service registry
* (e.g., a Kubernetes or cloud foundry service) or a service specified
* using a `ServiceEntry` or `VirtualService` configuration. Any
* associated `DestinationRule` in the same namespace will also be used.
* The `dnsName` should be specified using FQDN format, optionally including
* a wildcard character in the left-most component (e.g., `prod/*.example.com`).
* Set the `dnsName` to `*` to select all services from the specified namespace
* (e.g., `prod/*`).
* The `namespace` can be set to `*`, `.`, or `~`, representing any, the current,
* or no namespace, respectively. For example, `*/foo.example.com` selects the
* service from any available namespace while `./foo.example.com` only selects
* the service from the namespace of the sidecar. If a host is set to `*/*`,
* Istio will configure the sidecar to be able to reach every service in the
* mesh that is exported to the sidecar's namespace. The value `~/*` can be used
* to completely trim the configuration for sidecars that simply receive traffic
* and respond, but make no outbound connections of their own.
* NOTE: Only services and configuration artifacts exported to the sidecar's
* namespace (e.g., `exportTo` value of `*`) can be referenced.
* Private configurations (e.g., `exportTo` set to `.`) will
* not be available. Refer to the `exportTo` setting in `VirtualService`,
* `DestinationRule`, and `ServiceEntry` configurations for details.
* **WARNING:** The list of egress hosts in a `Sidecar` must also include
* the Mixer control plane services if they are enabled. Envoy will not
* be able to reach them otherwise. For example, add host
* `istio-system/istio-telemetry.istio-system.svc.cluster.local` if telemetry
* is enabled, `istio-system/istio-policy.istio-system.svc.cluster.local` if
* policy is enabled, or add `istio-system/*` to allow all services in the
* `istio-system` namespace. This requirement is temporary and will be removed
* in a future Istio release.
*
*
* repeated string hosts = 4 [(.google.api.field_behavior) = REQUIRED];
* @param value The bytes of the hosts to add.
* @return This builder for chaining.
*/
public Builder addHostsBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
ensureHostsIsMutable();
hosts_.add(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:istio.networking.v1alpha3.IstioEgressListener)
}
// @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.IstioEgressListener)
private static final istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener();
}
public static istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser
PARSER = new com.google.protobuf.AbstractParser() {
@java.lang.Override
public IstioEgressListener parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new IstioEgressListener(input, extensionRegistry);
}
};
public static com.google.protobuf.Parser parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser getParserForType() {
return PARSER;
}
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.IstioEgressListener getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
public interface WorkloadSelectorOrBuilder extends
// @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.WorkloadSelector)
com.google.protobuf.MessageOrBuilder {
/**
*
* One or more labels that indicate a specific set of pods/VMs
* on which the configuration should be applied. The scope of
* label search is restricted to the configuration namespace in which the
* the resource is present.
*
* One or more labels that indicate a specific set of pods/VMs
* on which the configuration should be applied. The scope of
* label search is restricted to the configuration namespace in which the
* the resource is present.
*
* One or more labels that indicate a specific set of pods/VMs
* on which the configuration should be applied. The scope of
* label search is restricted to the configuration namespace in which the
* the resource is present.
*
* One or more labels that indicate a specific set of pods/VMs
* on which the configuration should be applied. The scope of
* label search is restricted to the configuration namespace in which the
* the resource is present.
*
* One or more labels that indicate a specific set of pods/VMs
* on which the configuration should be applied. The scope of
* label search is restricted to the configuration namespace in which the
* the resource is present.
*
* `WorkloadSelector` specifies the criteria used to determine if the
* `Gateway`, `Sidecar`, or `EnvoyFilter` or `ServiceEntry`
* configuration can be applied to a proxy. The matching criteria
* includes the metadata associated with a proxy, workload instance
* info such as labels attached to the pod/VM, or any other info that
* the proxy provides to Istio during the initial handshake. If
* multiple conditions are specified, all conditions need to match in
* order for the workload instance to be selected. Currently, only
* label based selection mechanism is supported.
*
*
* Protobuf type {@code istio.networking.v1alpha3.WorkloadSelector}
*/
public static final class WorkloadSelector extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:istio.networking.v1alpha3.WorkloadSelector)
WorkloadSelectorOrBuilder {
private static final long serialVersionUID = 0L;
// Use WorkloadSelector.newBuilder() to construct.
private WorkloadSelector(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private WorkloadSelector() {
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(
UnusedPrivateParameter unused) {
return new WorkloadSelector();
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private WorkloadSelector(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
this();
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
case 10: {
if (!((mutable_bitField0_ & 0x00000001) != 0)) {
labels_ = com.google.protobuf.MapField.newMapField(
LabelsDefaultEntryHolder.defaultEntry);
mutable_bitField0_ |= 0x00000001;
}
com.google.protobuf.MapEntry
labels__ = input.readMessage(
LabelsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
labels_.getMutableMap().put(
labels__.getKey(), labels__.getValue());
break;
}
default: {
if (!parseUnknownField(
input, unknownFields, extensionRegistry, tag)) {
done = true;
}
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e).setUnfinishedMessage(this);
} finally {
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_WorkloadSelector_descriptor;
}
@SuppressWarnings({"rawtypes"})
@java.lang.Override
protected com.google.protobuf.MapField internalGetMapField(
int number) {
switch (number) {
case 1:
return internalGetLabels();
default:
throw new RuntimeException(
"Invalid map field number: " + number);
}
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_WorkloadSelector_fieldAccessorTable
.ensureFieldAccessorsInitialized(
istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector.class, istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector.Builder.class);
}
public static final int LABELS_FIELD_NUMBER = 1;
private static final class LabelsDefaultEntryHolder {
static final com.google.protobuf.MapEntry<
java.lang.String, java.lang.String> defaultEntry =
com.google.protobuf.MapEntry
.newDefaultInstance(
istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_WorkloadSelector_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
internalGetLabels() {
if (labels_ == null) {
return com.google.protobuf.MapField.emptyMapField(
LabelsDefaultEntryHolder.defaultEntry);
}
return labels_;
}
public int getLabelsCount() {
return internalGetLabels().getMap().size();
}
/**
*
* One or more labels that indicate a specific set of pods/VMs
* on which the configuration should be applied. The scope of
* label search is restricted to the configuration namespace in which the
* the resource is present.
*
*
* map<string, string> labels = 1 [(.google.api.field_behavior) = REQUIRED];
*/
@java.lang.Override
public boolean containsLabels(
java.lang.String key) {
if (key == null) { throw new java.lang.NullPointerException(); }
return internalGetLabels().getMap().containsKey(key);
}
/**
* Use {@link #getLabelsMap()} instead.
*/
@java.lang.Override
@java.lang.Deprecated
public java.util.Map getLabels() {
return getLabelsMap();
}
/**
*
* One or more labels that indicate a specific set of pods/VMs
* on which the configuration should be applied. The scope of
* label search is restricted to the configuration namespace in which the
* the resource is present.
*
* One or more labels that indicate a specific set of pods/VMs
* on which the configuration should be applied. The scope of
* label search is restricted to the configuration namespace in which the
* the resource is present.
*
* One or more labels that indicate a specific set of pods/VMs
* on which the configuration should be applied. The scope of
* label search is restricted to the configuration namespace in which the
* the resource is present.
*
*
* map<string, string> labels = 1 [(.google.api.field_behavior) = REQUIRED];
*/
@java.lang.Override
public java.lang.String getLabelsOrThrow(
java.lang.String key) {
if (key == null) { throw new java.lang.NullPointerException(); }
java.util.Map map =
internalGetLabels().getMap();
if (!map.containsKey(key)) {
throw new java.lang.IllegalArgumentException();
}
return map.get(key);
}
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 {
com.google.protobuf.GeneratedMessageV3
.serializeStringMapTo(
output,
internalGetLabels(),
LabelsDefaultEntryHolder.defaultEntry,
1);
unknownFields.writeTo(output);
}
@java.lang.Override
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
for (java.util.Map.Entry entry
: internalGetLabels().getMap().entrySet()) {
com.google.protobuf.MapEntry
labels__ = LabelsDefaultEntryHolder.defaultEntry.newBuilderForType()
.setKey(entry.getKey())
.setValue(entry.getValue())
.build();
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(1, labels__);
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
}
@java.lang.Override
public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector)) {
return super.equals(obj);
}
istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector other = (istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector) obj;
if (!internalGetLabels().equals(
other.internalGetLabels())) return false;
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
if (!internalGetLabels().getMap().isEmpty()) {
hash = (37 * hash) + LABELS_FIELD_NUMBER;
hash = (53 * hash) + internalGetLabels().hashCode();
}
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
}
public static istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector 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 istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
public static istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector 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 istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector 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(istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector 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;
}
/**
*
* `WorkloadSelector` specifies the criteria used to determine if the
* `Gateway`, `Sidecar`, or `EnvoyFilter` or `ServiceEntry`
* configuration can be applied to a proxy. The matching criteria
* includes the metadata associated with a proxy, workload instance
* info such as labels attached to the pod/VM, or any other info that
* the proxy provides to Istio during the initial handshake. If
* multiple conditions are specified, all conditions need to match in
* order for the workload instance to be selected. Currently, only
* label based selection mechanism is supported.
*
*
* Protobuf type {@code istio.networking.v1alpha3.WorkloadSelector}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageV3.Builder implements
// @@protoc_insertion_point(builder_implements:istio.networking.v1alpha3.WorkloadSelector)
istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelectorOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_WorkloadSelector_descriptor;
}
@SuppressWarnings({"rawtypes"})
protected com.google.protobuf.MapField internalGetMapField(
int number) {
switch (number) {
case 1:
return internalGetLabels();
default:
throw new RuntimeException(
"Invalid map field number: " + number);
}
}
@SuppressWarnings({"rawtypes"})
protected com.google.protobuf.MapField internalGetMutableMapField(
int number) {
switch (number) {
case 1:
return internalGetMutableLabels();
default:
throw new RuntimeException(
"Invalid map field number: " + number);
}
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_WorkloadSelector_fieldAccessorTable
.ensureFieldAccessorsInitialized(
istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector.class, istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector.Builder.class);
}
// Construct using istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessageV3
.alwaysUseFieldBuilders) {
}
}
@java.lang.Override
public Builder clear() {
super.clear();
internalGetMutableLabels().clear();
return this;
}
@java.lang.Override
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return istio.networking.v1alpha3.SidecarOuterClass.internal_static_istio_networking_v1alpha3_WorkloadSelector_descriptor;
}
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector getDefaultInstanceForType() {
return istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector.getDefaultInstance();
}
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector build() {
istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector buildPartial() {
istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector result = new istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector(this);
int from_bitField0_ = bitField0_;
result.labels_ = internalGetLabels();
result.labels_.makeImmutable();
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 istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector) {
return mergeFrom((istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector other) {
if (other == istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector.getDefaultInstance()) return this;
internalGetMutableLabels().mergeFrom(
other.internalGetLabels());
this.mergeUnknownFields(other.unknownFields);
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 {
istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector) e.getUnfinishedMessage();
throw e.unwrapIOException();
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private int bitField0_;
private com.google.protobuf.MapField<
java.lang.String, java.lang.String> labels_;
private com.google.protobuf.MapField
internalGetLabels() {
if (labels_ == null) {
return com.google.protobuf.MapField.emptyMapField(
LabelsDefaultEntryHolder.defaultEntry);
}
return labels_;
}
private com.google.protobuf.MapField
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();
}
/**
*
* One or more labels that indicate a specific set of pods/VMs
* on which the configuration should be applied. The scope of
* label search is restricted to the configuration namespace in which the
* the resource is present.
*
*
* map<string, string> labels = 1 [(.google.api.field_behavior) = REQUIRED];
*/
@java.lang.Override
public boolean containsLabels(
java.lang.String key) {
if (key == null) { throw new java.lang.NullPointerException(); }
return internalGetLabels().getMap().containsKey(key);
}
/**
* Use {@link #getLabelsMap()} instead.
*/
@java.lang.Override
@java.lang.Deprecated
public java.util.Map getLabels() {
return getLabelsMap();
}
/**
*
* One or more labels that indicate a specific set of pods/VMs
* on which the configuration should be applied. The scope of
* label search is restricted to the configuration namespace in which the
* the resource is present.
*
* One or more labels that indicate a specific set of pods/VMs
* on which the configuration should be applied. The scope of
* label search is restricted to the configuration namespace in which the
* the resource is present.
*
* One or more labels that indicate a specific set of pods/VMs
* on which the configuration should be applied. The scope of
* label search is restricted to the configuration namespace in which the
* the resource is present.
*
*
* map<string, string> labels = 1 [(.google.api.field_behavior) = REQUIRED];
*/
@java.lang.Override
public java.lang.String getLabelsOrThrow(
java.lang.String key) {
if (key == null) { throw new java.lang.NullPointerException(); }
java.util.Map map =
internalGetLabels().getMap();
if (!map.containsKey(key)) {
throw new java.lang.IllegalArgumentException();
}
return map.get(key);
}
public Builder clearLabels() {
internalGetMutableLabels().getMutableMap()
.clear();
return this;
}
/**
*
* One or more labels that indicate a specific set of pods/VMs
* on which the configuration should be applied. The scope of
* label search is restricted to the configuration namespace in which the
* the resource is present.
*
*
* map<string, string> labels = 1 [(.google.api.field_behavior) = REQUIRED];
*/
public Builder removeLabels(
java.lang.String key) {
if (key == null) { throw new java.lang.NullPointerException(); }
internalGetMutableLabels().getMutableMap()
.remove(key);
return this;
}
/**
* Use alternate mutation accessors instead.
*/
@java.lang.Deprecated
public java.util.Map
getMutableLabels() {
return internalGetMutableLabels().getMutableMap();
}
/**
*
* One or more labels that indicate a specific set of pods/VMs
* on which the configuration should be applied. The scope of
* label search is restricted to the configuration namespace in which the
* the resource is present.
*
*
* map<string, string> labels = 1 [(.google.api.field_behavior) = REQUIRED];
*/
public Builder putLabels(
java.lang.String key,
java.lang.String value) {
if (key == null) { throw new java.lang.NullPointerException(); }
if (value == null) { throw new java.lang.NullPointerException(); }
internalGetMutableLabels().getMutableMap()
.put(key, value);
return this;
}
/**
*
* One or more labels that indicate a specific set of pods/VMs
* on which the configuration should be applied. The scope of
* label search is restricted to the configuration namespace in which the
* the resource is present.
*
*
* map<string, string> labels = 1 [(.google.api.field_behavior) = REQUIRED];
*/
public Builder putAllLabels(
java.util.Map values) {
internalGetMutableLabels().getMutableMap()
.putAll(values);
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:istio.networking.v1alpha3.WorkloadSelector)
}
// @@protoc_insertion_point(class_scope:istio.networking.v1alpha3.WorkloadSelector)
private static final istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector();
}
public static istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser
PARSER = new com.google.protobuf.AbstractParser() {
@java.lang.Override
public WorkloadSelector parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new WorkloadSelector(input, extensionRegistry);
}
};
public static com.google.protobuf.Parser parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser getParserForType() {
return PARSER;
}
@java.lang.Override
public istio.networking.v1alpha3.SidecarOuterClass.WorkloadSelector getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
public interface OutboundTrafficPolicyOrBuilder extends
// @@protoc_insertion_point(interface_extends:istio.networking.v1alpha3.OutboundTrafficPolicy)
com.google.protobuf.MessageOrBuilder {
/**
* .istio.networking.v1alpha3.OutboundTrafficPolicy.Mode mode = 1;
* @return The enum numeric value on the wire for mode.
*/
int getModeValue();
/**
* .istio.networking.v1alpha3.OutboundTrafficPolicy.Mode mode = 1;
* @return The mode.
*/
istio.networking.v1alpha3.SidecarOuterClass.OutboundTrafficPolicy.Mode getMode();
/**
*