Class ApiConfigSource

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, ApiConfigSourceOrBuilder, java.io.Serializable

    public final class ApiConfigSource
    extends com.google.protobuf.GeneratedMessage
    implements ApiConfigSourceOrBuilder
     API configuration source. This identifies the API type and cluster that Envoy
     will use to fetch an xDS API.
     [#next-free-field: 10]
     
    Protobuf type envoy.config.core.v3.ApiConfigSource
    See Also:
    Serialized Form
    • Field Detail

      • bitField0_

        private int bitField0_
      • apiType_

        private int apiType_
      • TRANSPORT_API_VERSION_FIELD_NUMBER

        public static final int TRANSPORT_API_VERSION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • transportApiVersion_

        private int transportApiVersion_
      • CLUSTER_NAMES_FIELD_NUMBER

        public static final int CLUSTER_NAMES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • clusterNames_

        private com.google.protobuf.LazyStringArrayList clusterNames_
      • GRPC_SERVICES_FIELD_NUMBER

        public static final int GRPC_SERVICES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • grpcServices_

        private java.util.List<GrpcService> grpcServices_
      • REFRESH_DELAY_FIELD_NUMBER

        public static final int REFRESH_DELAY_FIELD_NUMBER
        See Also:
        Constant Field Values
      • refreshDelay_

        private com.google.protobuf.Duration refreshDelay_
      • REQUEST_TIMEOUT_FIELD_NUMBER

        public static final int REQUEST_TIMEOUT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • requestTimeout_

        private com.google.protobuf.Duration requestTimeout_
      • RATE_LIMIT_SETTINGS_FIELD_NUMBER

        public static final int RATE_LIMIT_SETTINGS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SET_NODE_ON_FIRST_MESSAGE_ONLY_FIELD_NUMBER

        public static final int SET_NODE_ON_FIRST_MESSAGE_ONLY_FIELD_NUMBER
        See Also:
        Constant Field Values
      • setNodeOnFirstMessageOnly_

        private boolean setNodeOnFirstMessageOnly_
      • CONFIG_VALIDATORS_FIELD_NUMBER

        public static final int CONFIG_VALIDATORS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • memoizedIsInitialized

        private byte memoizedIsInitialized
      • PARSER

        private static final com.google.protobuf.Parser<ApiConfigSource> PARSER
    • Constructor Detail

      • ApiConfigSource

        private ApiConfigSource​(com.google.protobuf.GeneratedMessage.Builder<?> builder)
      • ApiConfigSource

        private ApiConfigSource()
    • Method Detail

      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
      • getApiTypeValue

        public int getApiTypeValue()
         API type (gRPC, REST, delta gRPC)
         
        .envoy.config.core.v3.ApiConfigSource.ApiType api_type = 1 [(.validate.rules) = { ... }
        Specified by:
        getApiTypeValue in interface ApiConfigSourceOrBuilder
        Returns:
        The enum numeric value on the wire for apiType.
      • getTransportApiVersionValue

        public int getTransportApiVersionValue()
         API version for xDS transport protocol. This describes the xDS gRPC/REST
         endpoint and version of [Delta]DiscoveryRequest/Response used on the wire.
         
        .envoy.config.core.v3.ApiVersion transport_api_version = 8 [(.validate.rules) = { ... }
        Specified by:
        getTransportApiVersionValue in interface ApiConfigSourceOrBuilder
        Returns:
        The enum numeric value on the wire for transportApiVersion.
      • getTransportApiVersion

        public ApiVersion getTransportApiVersion()
         API version for xDS transport protocol. This describes the xDS gRPC/REST
         endpoint and version of [Delta]DiscoveryRequest/Response used on the wire.
         
        .envoy.config.core.v3.ApiVersion transport_api_version = 8 [(.validate.rules) = { ... }
        Specified by:
        getTransportApiVersion in interface ApiConfigSourceOrBuilder
        Returns:
        The transportApiVersion.
      • getClusterNamesList

        public com.google.protobuf.ProtocolStringList getClusterNamesList()
         Cluster names should be used only with REST. If > 1
         cluster is defined, clusters will be cycled through if any kind of failure
         occurs.
        
         .. note::
        
         The cluster with name ``cluster_name`` must be statically defined and its
         type must not be ``EDS``.
         
        repeated string cluster_names = 2;
        Specified by:
        getClusterNamesList in interface ApiConfigSourceOrBuilder
        Returns:
        A list containing the clusterNames.
      • getClusterNamesCount

        public int getClusterNamesCount()
         Cluster names should be used only with REST. If > 1
         cluster is defined, clusters will be cycled through if any kind of failure
         occurs.
        
         .. note::
        
         The cluster with name ``cluster_name`` must be statically defined and its
         type must not be ``EDS``.
         
        repeated string cluster_names = 2;
        Specified by:
        getClusterNamesCount in interface ApiConfigSourceOrBuilder
        Returns:
        The count of clusterNames.
      • getClusterNames

        public java.lang.String getClusterNames​(int index)
         Cluster names should be used only with REST. If > 1
         cluster is defined, clusters will be cycled through if any kind of failure
         occurs.
        
         .. note::
        
         The cluster with name ``cluster_name`` must be statically defined and its
         type must not be ``EDS``.
         
        repeated string cluster_names = 2;
        Specified by:
        getClusterNames in interface ApiConfigSourceOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The clusterNames at the given index.
      • getClusterNamesBytes

        public com.google.protobuf.ByteString getClusterNamesBytes​(int index)
         Cluster names should be used only with REST. If > 1
         cluster is defined, clusters will be cycled through if any kind of failure
         occurs.
        
         .. note::
        
         The cluster with name ``cluster_name`` must be statically defined and its
         type must not be ``EDS``.
         
        repeated string cluster_names = 2;
        Specified by:
        getClusterNamesBytes in interface ApiConfigSourceOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the clusterNames at the given index.
      • getGrpcServicesList

        public java.util.List<GrpcService> getGrpcServicesList()
         Multiple gRPC services be provided for GRPC. If > 1 cluster is defined,
         services will be cycled through if any kind of failure occurs.
         
        repeated .envoy.config.core.v3.GrpcService grpc_services = 4;
        Specified by:
        getGrpcServicesList in interface ApiConfigSourceOrBuilder
      • getGrpcServicesOrBuilderList

        public java.util.List<? extends GrpcServiceOrBuilder> getGrpcServicesOrBuilderList()
         Multiple gRPC services be provided for GRPC. If > 1 cluster is defined,
         services will be cycled through if any kind of failure occurs.
         
        repeated .envoy.config.core.v3.GrpcService grpc_services = 4;
        Specified by:
        getGrpcServicesOrBuilderList in interface ApiConfigSourceOrBuilder
      • getGrpcServicesCount

        public int getGrpcServicesCount()
         Multiple gRPC services be provided for GRPC. If > 1 cluster is defined,
         services will be cycled through if any kind of failure occurs.
         
        repeated .envoy.config.core.v3.GrpcService grpc_services = 4;
        Specified by:
        getGrpcServicesCount in interface ApiConfigSourceOrBuilder
      • getGrpcServices

        public GrpcService getGrpcServices​(int index)
         Multiple gRPC services be provided for GRPC. If > 1 cluster is defined,
         services will be cycled through if any kind of failure occurs.
         
        repeated .envoy.config.core.v3.GrpcService grpc_services = 4;
        Specified by:
        getGrpcServices in interface ApiConfigSourceOrBuilder
      • getGrpcServicesOrBuilder

        public GrpcServiceOrBuilder getGrpcServicesOrBuilder​(int index)
         Multiple gRPC services be provided for GRPC. If > 1 cluster is defined,
         services will be cycled through if any kind of failure occurs.
         
        repeated .envoy.config.core.v3.GrpcService grpc_services = 4;
        Specified by:
        getGrpcServicesOrBuilder in interface ApiConfigSourceOrBuilder
      • hasRefreshDelay

        public boolean hasRefreshDelay()
         For REST APIs, the delay between successive polls.
         
        .google.protobuf.Duration refresh_delay = 3;
        Specified by:
        hasRefreshDelay in interface ApiConfigSourceOrBuilder
        Returns:
        Whether the refreshDelay field is set.
      • getRefreshDelay

        public com.google.protobuf.Duration getRefreshDelay()
         For REST APIs, the delay between successive polls.
         
        .google.protobuf.Duration refresh_delay = 3;
        Specified by:
        getRefreshDelay in interface ApiConfigSourceOrBuilder
        Returns:
        The refreshDelay.
      • getRefreshDelayOrBuilder

        public com.google.protobuf.DurationOrBuilder getRefreshDelayOrBuilder()
         For REST APIs, the delay between successive polls.
         
        .google.protobuf.Duration refresh_delay = 3;
        Specified by:
        getRefreshDelayOrBuilder in interface ApiConfigSourceOrBuilder
      • hasRequestTimeout

        public boolean hasRequestTimeout()
         For REST APIs, the request timeout. If not set, a default value of 1s will be used.
         
        .google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }
        Specified by:
        hasRequestTimeout in interface ApiConfigSourceOrBuilder
        Returns:
        Whether the requestTimeout field is set.
      • getRequestTimeout

        public com.google.protobuf.Duration getRequestTimeout()
         For REST APIs, the request timeout. If not set, a default value of 1s will be used.
         
        .google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }
        Specified by:
        getRequestTimeout in interface ApiConfigSourceOrBuilder
        Returns:
        The requestTimeout.
      • getRequestTimeoutOrBuilder

        public com.google.protobuf.DurationOrBuilder getRequestTimeoutOrBuilder()
         For REST APIs, the request timeout. If not set, a default value of 1s will be used.
         
        .google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }
        Specified by:
        getRequestTimeoutOrBuilder in interface ApiConfigSourceOrBuilder
      • hasRateLimitSettings

        public boolean hasRateLimitSettings()
         For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
         rate limited.
         
        .envoy.config.core.v3.RateLimitSettings rate_limit_settings = 6;
        Specified by:
        hasRateLimitSettings in interface ApiConfigSourceOrBuilder
        Returns:
        Whether the rateLimitSettings field is set.
      • getRateLimitSettings

        public RateLimitSettings getRateLimitSettings()
         For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
         rate limited.
         
        .envoy.config.core.v3.RateLimitSettings rate_limit_settings = 6;
        Specified by:
        getRateLimitSettings in interface ApiConfigSourceOrBuilder
        Returns:
        The rateLimitSettings.
      • getSetNodeOnFirstMessageOnly

        public boolean getSetNodeOnFirstMessageOnly()
         Skip the node identifier in subsequent discovery requests for streaming gRPC config types.
         
        bool set_node_on_first_message_only = 7;
        Specified by:
        getSetNodeOnFirstMessageOnly in interface ApiConfigSourceOrBuilder
        Returns:
        The setNodeOnFirstMessageOnly.
      • getConfigValidatorsList

        public java.util.List<TypedExtensionConfig> getConfigValidatorsList()
         A list of config validators that will be executed when a new update is
         received from the ApiConfigSource. Note that each validator handles a
         specific xDS service type, and only the validators corresponding to the
         type url (in ``:ref: DiscoveryResponse`` or ``:ref: DeltaDiscoveryResponse``)
         will be invoked.
         If the validator returns false or throws an exception, the config will be rejected by
         the client, and a NACK will be sent.
         [#extension-category: envoy.config.validators]
         
        repeated .envoy.config.core.v3.TypedExtensionConfig config_validators = 9;
        Specified by:
        getConfigValidatorsList in interface ApiConfigSourceOrBuilder
      • getConfigValidatorsOrBuilderList

        public java.util.List<? extends TypedExtensionConfigOrBuilder> getConfigValidatorsOrBuilderList()
         A list of config validators that will be executed when a new update is
         received from the ApiConfigSource. Note that each validator handles a
         specific xDS service type, and only the validators corresponding to the
         type url (in ``:ref: DiscoveryResponse`` or ``:ref: DeltaDiscoveryResponse``)
         will be invoked.
         If the validator returns false or throws an exception, the config will be rejected by
         the client, and a NACK will be sent.
         [#extension-category: envoy.config.validators]
         
        repeated .envoy.config.core.v3.TypedExtensionConfig config_validators = 9;
        Specified by:
        getConfigValidatorsOrBuilderList in interface ApiConfigSourceOrBuilder
      • getConfigValidatorsCount

        public int getConfigValidatorsCount()
         A list of config validators that will be executed when a new update is
         received from the ApiConfigSource. Note that each validator handles a
         specific xDS service type, and only the validators corresponding to the
         type url (in ``:ref: DiscoveryResponse`` or ``:ref: DeltaDiscoveryResponse``)
         will be invoked.
         If the validator returns false or throws an exception, the config will be rejected by
         the client, and a NACK will be sent.
         [#extension-category: envoy.config.validators]
         
        repeated .envoy.config.core.v3.TypedExtensionConfig config_validators = 9;
        Specified by:
        getConfigValidatorsCount in interface ApiConfigSourceOrBuilder
      • getConfigValidators

        public TypedExtensionConfig getConfigValidators​(int index)
         A list of config validators that will be executed when a new update is
         received from the ApiConfigSource. Note that each validator handles a
         specific xDS service type, and only the validators corresponding to the
         type url (in ``:ref: DiscoveryResponse`` or ``:ref: DeltaDiscoveryResponse``)
         will be invoked.
         If the validator returns false or throws an exception, the config will be rejected by
         the client, and a NACK will be sent.
         [#extension-category: envoy.config.validators]
         
        repeated .envoy.config.core.v3.TypedExtensionConfig config_validators = 9;
        Specified by:
        getConfigValidators in interface ApiConfigSourceOrBuilder
      • getConfigValidatorsOrBuilder

        public TypedExtensionConfigOrBuilder getConfigValidatorsOrBuilder​(int index)
         A list of config validators that will be executed when a new update is
         received from the ApiConfigSource. Note that each validator handles a
         specific xDS service type, and only the validators corresponding to the
         type url (in ``:ref: DiscoveryResponse`` or ``:ref: DeltaDiscoveryResponse``)
         will be invoked.
         If the validator returns false or throws an exception, the config will be rejected by
         the client, and a NACK will be sent.
         [#extension-category: envoy.config.validators]
         
        repeated .envoy.config.core.v3.TypedExtensionConfig config_validators = 9;
        Specified by:
        getConfigValidatorsOrBuilder in interface ApiConfigSourceOrBuilder
      • isInitialized

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

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

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

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

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

        public static ApiConfigSource parseFrom​(java.nio.ByteBuffer data)
                                         throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

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

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

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

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

        public static ApiConfigSource parseFrom​(java.io.InputStream input)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static ApiConfigSource parseFrom​(java.io.InputStream input,
                                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static ApiConfigSource parseDelimitedFrom​(java.io.InputStream input)
                                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static ApiConfigSource parseDelimitedFrom​(java.io.InputStream input,
                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static ApiConfigSource parseFrom​(com.google.protobuf.CodedInputStream input)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static ApiConfigSource parseFrom​(com.google.protobuf.CodedInputStream input,
                                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • newBuilderForType

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

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

        protected ApiConfigSource.Builder newBuilderForType​(com.google.protobuf.AbstractMessage.BuilderParent parent)
        Overrides:
        newBuilderForType in class com.google.protobuf.AbstractMessage
      • parser

        public static com.google.protobuf.Parser<ApiConfigSource> parser()
      • getParserForType

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

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