Class ApiKeyAuthPerRoute.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<ApiKeyAuthPerRoute.Builder>
io.envoyproxy.envoy.extensions.filters.http.api_key_auth.v3.ApiKeyAuthPerRoute.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, ApiKeyAuthPerRouteOrBuilder, Cloneable
Enclosing class:
ApiKeyAuthPerRoute

public static final class ApiKeyAuthPerRoute.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<ApiKeyAuthPerRoute.Builder> implements ApiKeyAuthPerRouteOrBuilder
 API key auth configuration of per route or per virtual host or per route configuration.
 
Protobuf type envoy.extensions.filters.http.api_key_auth.v3.ApiKeyAuthPerRoute
  • Method Details

    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<ApiKeyAuthPerRoute.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessageV3.Builder<ApiKeyAuthPerRoute.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<ApiKeyAuthPerRoute.Builder>
    • getDefaultInstanceForType

      public ApiKeyAuthPerRoute getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      public ApiKeyAuthPerRoute build()
      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public ApiKeyAuthPerRoute buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • clone

      Specified by:
      clone in interface com.google.protobuf.Message.Builder
      Specified by:
      clone in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clone in class com.google.protobuf.GeneratedMessageV3.Builder<ApiKeyAuthPerRoute.Builder>
    • setField

      public ApiKeyAuthPerRoute.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      setField in interface com.google.protobuf.Message.Builder
      Overrides:
      setField in class com.google.protobuf.GeneratedMessageV3.Builder<ApiKeyAuthPerRoute.Builder>
    • clearField

      public ApiKeyAuthPerRoute.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
      Specified by:
      clearField in interface com.google.protobuf.Message.Builder
      Overrides:
      clearField in class com.google.protobuf.GeneratedMessageV3.Builder<ApiKeyAuthPerRoute.Builder>
    • clearOneof

      public ApiKeyAuthPerRoute.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
      Specified by:
      clearOneof in interface com.google.protobuf.Message.Builder
      Overrides:
      clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<ApiKeyAuthPerRoute.Builder>
    • setRepeatedField

      public ApiKeyAuthPerRoute.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
      Specified by:
      setRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<ApiKeyAuthPerRoute.Builder>
    • addRepeatedField

      public ApiKeyAuthPerRoute.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      addRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<ApiKeyAuthPerRoute.Builder>
    • mergeFrom

      public ApiKeyAuthPerRoute.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<ApiKeyAuthPerRoute.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<ApiKeyAuthPerRoute.Builder>
    • mergeFrom

      public ApiKeyAuthPerRoute.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<ApiKeyAuthPerRoute.Builder>
      Throws:
      IOException
    • getCredentialsList

      public List<Credential> getCredentialsList()
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
      Specified by:
      getCredentialsList in interface ApiKeyAuthPerRouteOrBuilder
    • getCredentialsCount

      public int getCredentialsCount()
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
      Specified by:
      getCredentialsCount in interface ApiKeyAuthPerRouteOrBuilder
    • getCredentials

      public Credential getCredentials(int index)
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
      Specified by:
      getCredentials in interface ApiKeyAuthPerRouteOrBuilder
    • setCredentials

      public ApiKeyAuthPerRoute.Builder setCredentials(int index, Credential value)
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
    • setCredentials

      public ApiKeyAuthPerRoute.Builder setCredentials(int index, Credential.Builder builderForValue)
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
    • addCredentials

      public ApiKeyAuthPerRoute.Builder addCredentials(Credential value)
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
    • addCredentials

      public ApiKeyAuthPerRoute.Builder addCredentials(int index, Credential value)
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
    • addCredentials

      public ApiKeyAuthPerRoute.Builder addCredentials(Credential.Builder builderForValue)
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
    • addCredentials

      public ApiKeyAuthPerRoute.Builder addCredentials(int index, Credential.Builder builderForValue)
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
    • addAllCredentials

      public ApiKeyAuthPerRoute.Builder addAllCredentials(Iterable<? extends Credential> values)
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
    • clearCredentials

      public ApiKeyAuthPerRoute.Builder clearCredentials()
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
    • removeCredentials

      public ApiKeyAuthPerRoute.Builder removeCredentials(int index)
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
    • getCredentialsBuilder

      public Credential.Builder getCredentialsBuilder(int index)
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
    • getCredentialsOrBuilder

      public CredentialOrBuilder getCredentialsOrBuilder(int index)
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
      Specified by:
      getCredentialsOrBuilder in interface ApiKeyAuthPerRouteOrBuilder
    • getCredentialsOrBuilderList

      public List<? extends CredentialOrBuilder> getCredentialsOrBuilderList()
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
      Specified by:
      getCredentialsOrBuilderList in interface ApiKeyAuthPerRouteOrBuilder
    • addCredentialsBuilder

      public Credential.Builder addCredentialsBuilder()
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
    • addCredentialsBuilder

      public Credential.Builder addCredentialsBuilder(int index)
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
    • getCredentialsBuilderList

      public List<Credential.Builder> getCredentialsBuilderList()
       The credentials that are used to authenticate the clients. If this field is non-empty, then the
       credentials in the filter level configuration will be ignored and the credentials in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.Credential credentials = 1 [(.udpa.annotations.sensitive) = true];
    • getKeySourcesList

      public List<KeySource> getKeySourcesList()
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
      Specified by:
      getKeySourcesList in interface ApiKeyAuthPerRouteOrBuilder
    • getKeySourcesCount

      public int getKeySourcesCount()
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
      Specified by:
      getKeySourcesCount in interface ApiKeyAuthPerRouteOrBuilder
    • getKeySources

      public KeySource getKeySources(int index)
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
      Specified by:
      getKeySources in interface ApiKeyAuthPerRouteOrBuilder
    • setKeySources

      public ApiKeyAuthPerRoute.Builder setKeySources(int index, KeySource value)
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
    • setKeySources

      public ApiKeyAuthPerRoute.Builder setKeySources(int index, KeySource.Builder builderForValue)
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
    • addKeySources

      public ApiKeyAuthPerRoute.Builder addKeySources(KeySource value)
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
    • addKeySources

      public ApiKeyAuthPerRoute.Builder addKeySources(int index, KeySource value)
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
    • addKeySources

      public ApiKeyAuthPerRoute.Builder addKeySources(KeySource.Builder builderForValue)
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
    • addKeySources

      public ApiKeyAuthPerRoute.Builder addKeySources(int index, KeySource.Builder builderForValue)
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
    • addAllKeySources

      public ApiKeyAuthPerRoute.Builder addAllKeySources(Iterable<? extends KeySource> values)
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
    • clearKeySources

      public ApiKeyAuthPerRoute.Builder clearKeySources()
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
    • removeKeySources

      public ApiKeyAuthPerRoute.Builder removeKeySources(int index)
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
    • getKeySourcesBuilder

      public KeySource.Builder getKeySourcesBuilder(int index)
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
    • getKeySourcesOrBuilder

      public KeySourceOrBuilder getKeySourcesOrBuilder(int index)
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
      Specified by:
      getKeySourcesOrBuilder in interface ApiKeyAuthPerRouteOrBuilder
    • getKeySourcesOrBuilderList

      public List<? extends KeySourceOrBuilder> getKeySourcesOrBuilderList()
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
      Specified by:
      getKeySourcesOrBuilderList in interface ApiKeyAuthPerRouteOrBuilder
    • addKeySourcesBuilder

      public KeySource.Builder addKeySourcesBuilder()
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
    • addKeySourcesBuilder

      public KeySource.Builder addKeySourcesBuilder(int index)
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
    • getKeySourcesBuilderList

      public List<KeySource.Builder> getKeySourcesBuilderList()
       The key sources to fetch the key from the coming request. If this field is non-empty, then the
       key sources in the filter level configuration will be ignored and the key sources in this
       configuration will be used.
       
      repeated .envoy.extensions.filters.http.api_key_auth.v3.KeySource key_sources = 2;
    • getAllowedClientsList

      public com.google.protobuf.ProtocolStringList getAllowedClientsList()
       A list of clients that are allowed to access the route or vhost. The clients listed here
       should be subset of the clients listed in the ``credentials`` to provide authorization control
       after the authentication is successful. If the list is empty, then all authenticated clients
       are allowed. This provides very limited but simple authorization. If more complex authorization
       is required, then use the :ref:`HTTP RBAC filter <config_http_filters_rbac>` instead.
      
       .. note::
         Setting this field and ``credentials`` at the same configuration entry is not an error but
         also makes no much sense because they provide similar functionality. Please only use
         one of them at same configuration entry except for the case that you want to share the same
         credentials list across multiple routes but still use different allowed clients for each
         route.
       
      repeated string allowed_clients = 3;
      Specified by:
      getAllowedClientsList in interface ApiKeyAuthPerRouteOrBuilder
      Returns:
      A list containing the allowedClients.
    • getAllowedClientsCount

      public int getAllowedClientsCount()
       A list of clients that are allowed to access the route or vhost. The clients listed here
       should be subset of the clients listed in the ``credentials`` to provide authorization control
       after the authentication is successful. If the list is empty, then all authenticated clients
       are allowed. This provides very limited but simple authorization. If more complex authorization
       is required, then use the :ref:`HTTP RBAC filter <config_http_filters_rbac>` instead.
      
       .. note::
         Setting this field and ``credentials`` at the same configuration entry is not an error but
         also makes no much sense because they provide similar functionality. Please only use
         one of them at same configuration entry except for the case that you want to share the same
         credentials list across multiple routes but still use different allowed clients for each
         route.
       
      repeated string allowed_clients = 3;
      Specified by:
      getAllowedClientsCount in interface ApiKeyAuthPerRouteOrBuilder
      Returns:
      The count of allowedClients.
    • getAllowedClients

      public String getAllowedClients(int index)
       A list of clients that are allowed to access the route or vhost. The clients listed here
       should be subset of the clients listed in the ``credentials`` to provide authorization control
       after the authentication is successful. If the list is empty, then all authenticated clients
       are allowed. This provides very limited but simple authorization. If more complex authorization
       is required, then use the :ref:`HTTP RBAC filter <config_http_filters_rbac>` instead.
      
       .. note::
         Setting this field and ``credentials`` at the same configuration entry is not an error but
         also makes no much sense because they provide similar functionality. Please only use
         one of them at same configuration entry except for the case that you want to share the same
         credentials list across multiple routes but still use different allowed clients for each
         route.
       
      repeated string allowed_clients = 3;
      Specified by:
      getAllowedClients in interface ApiKeyAuthPerRouteOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The allowedClients at the given index.
    • getAllowedClientsBytes

      public com.google.protobuf.ByteString getAllowedClientsBytes(int index)
       A list of clients that are allowed to access the route or vhost. The clients listed here
       should be subset of the clients listed in the ``credentials`` to provide authorization control
       after the authentication is successful. If the list is empty, then all authenticated clients
       are allowed. This provides very limited but simple authorization. If more complex authorization
       is required, then use the :ref:`HTTP RBAC filter <config_http_filters_rbac>` instead.
      
       .. note::
         Setting this field and ``credentials`` at the same configuration entry is not an error but
         also makes no much sense because they provide similar functionality. Please only use
         one of them at same configuration entry except for the case that you want to share the same
         credentials list across multiple routes but still use different allowed clients for each
         route.
       
      repeated string allowed_clients = 3;
      Specified by:
      getAllowedClientsBytes in interface ApiKeyAuthPerRouteOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the allowedClients at the given index.
    • setAllowedClients

      public ApiKeyAuthPerRoute.Builder setAllowedClients(int index, String value)
       A list of clients that are allowed to access the route or vhost. The clients listed here
       should be subset of the clients listed in the ``credentials`` to provide authorization control
       after the authentication is successful. If the list is empty, then all authenticated clients
       are allowed. This provides very limited but simple authorization. If more complex authorization
       is required, then use the :ref:`HTTP RBAC filter <config_http_filters_rbac>` instead.
      
       .. note::
         Setting this field and ``credentials`` at the same configuration entry is not an error but
         also makes no much sense because they provide similar functionality. Please only use
         one of them at same configuration entry except for the case that you want to share the same
         credentials list across multiple routes but still use different allowed clients for each
         route.
       
      repeated string allowed_clients = 3;
      Parameters:
      index - The index to set the value at.
      value - The allowedClients to set.
      Returns:
      This builder for chaining.
    • addAllowedClients

      public ApiKeyAuthPerRoute.Builder addAllowedClients(String value)
       A list of clients that are allowed to access the route or vhost. The clients listed here
       should be subset of the clients listed in the ``credentials`` to provide authorization control
       after the authentication is successful. If the list is empty, then all authenticated clients
       are allowed. This provides very limited but simple authorization. If more complex authorization
       is required, then use the :ref:`HTTP RBAC filter <config_http_filters_rbac>` instead.
      
       .. note::
         Setting this field and ``credentials`` at the same configuration entry is not an error but
         also makes no much sense because they provide similar functionality. Please only use
         one of them at same configuration entry except for the case that you want to share the same
         credentials list across multiple routes but still use different allowed clients for each
         route.
       
      repeated string allowed_clients = 3;
      Parameters:
      value - The allowedClients to add.
      Returns:
      This builder for chaining.
    • addAllAllowedClients

      public ApiKeyAuthPerRoute.Builder addAllAllowedClients(Iterable<String> values)
       A list of clients that are allowed to access the route or vhost. The clients listed here
       should be subset of the clients listed in the ``credentials`` to provide authorization control
       after the authentication is successful. If the list is empty, then all authenticated clients
       are allowed. This provides very limited but simple authorization. If more complex authorization
       is required, then use the :ref:`HTTP RBAC filter <config_http_filters_rbac>` instead.
      
       .. note::
         Setting this field and ``credentials`` at the same configuration entry is not an error but
         also makes no much sense because they provide similar functionality. Please only use
         one of them at same configuration entry except for the case that you want to share the same
         credentials list across multiple routes but still use different allowed clients for each
         route.
       
      repeated string allowed_clients = 3;
      Parameters:
      values - The allowedClients to add.
      Returns:
      This builder for chaining.
    • clearAllowedClients

      public ApiKeyAuthPerRoute.Builder clearAllowedClients()
       A list of clients that are allowed to access the route or vhost. The clients listed here
       should be subset of the clients listed in the ``credentials`` to provide authorization control
       after the authentication is successful. If the list is empty, then all authenticated clients
       are allowed. This provides very limited but simple authorization. If more complex authorization
       is required, then use the :ref:`HTTP RBAC filter <config_http_filters_rbac>` instead.
      
       .. note::
         Setting this field and ``credentials`` at the same configuration entry is not an error but
         also makes no much sense because they provide similar functionality. Please only use
         one of them at same configuration entry except for the case that you want to share the same
         credentials list across multiple routes but still use different allowed clients for each
         route.
       
      repeated string allowed_clients = 3;
      Returns:
      This builder for chaining.
    • addAllowedClientsBytes

      public ApiKeyAuthPerRoute.Builder addAllowedClientsBytes(com.google.protobuf.ByteString value)
       A list of clients that are allowed to access the route or vhost. The clients listed here
       should be subset of the clients listed in the ``credentials`` to provide authorization control
       after the authentication is successful. If the list is empty, then all authenticated clients
       are allowed. This provides very limited but simple authorization. If more complex authorization
       is required, then use the :ref:`HTTP RBAC filter <config_http_filters_rbac>` instead.
      
       .. note::
         Setting this field and ``credentials`` at the same configuration entry is not an error but
         also makes no much sense because they provide similar functionality. Please only use
         one of them at same configuration entry except for the case that you want to share the same
         credentials list across multiple routes but still use different allowed clients for each
         route.
       
      repeated string allowed_clients = 3;
      Parameters:
      value - The bytes of the allowedClients to add.
      Returns:
      This builder for chaining.
    • hasForwarding

      public boolean hasForwarding()
       Optional configuration to control what information should be propagated to upstream services.
       If this field is non-empty, then the forwarding information in the filter level configuration
       will be ignored and the forwarding in this configuration will be used.
       
      .envoy.extensions.filters.http.api_key_auth.v3.Forwarding forwarding = 4;
      Specified by:
      hasForwarding in interface ApiKeyAuthPerRouteOrBuilder
      Returns:
      Whether the forwarding field is set.
    • getForwarding

      public Forwarding getForwarding()
       Optional configuration to control what information should be propagated to upstream services.
       If this field is non-empty, then the forwarding information in the filter level configuration
       will be ignored and the forwarding in this configuration will be used.
       
      .envoy.extensions.filters.http.api_key_auth.v3.Forwarding forwarding = 4;
      Specified by:
      getForwarding in interface ApiKeyAuthPerRouteOrBuilder
      Returns:
      The forwarding.
    • setForwarding

      public ApiKeyAuthPerRoute.Builder setForwarding(Forwarding value)
       Optional configuration to control what information should be propagated to upstream services.
       If this field is non-empty, then the forwarding information in the filter level configuration
       will be ignored and the forwarding in this configuration will be used.
       
      .envoy.extensions.filters.http.api_key_auth.v3.Forwarding forwarding = 4;
    • setForwarding

      public ApiKeyAuthPerRoute.Builder setForwarding(Forwarding.Builder builderForValue)
       Optional configuration to control what information should be propagated to upstream services.
       If this field is non-empty, then the forwarding information in the filter level configuration
       will be ignored and the forwarding in this configuration will be used.
       
      .envoy.extensions.filters.http.api_key_auth.v3.Forwarding forwarding = 4;
    • mergeForwarding

      public ApiKeyAuthPerRoute.Builder mergeForwarding(Forwarding value)
       Optional configuration to control what information should be propagated to upstream services.
       If this field is non-empty, then the forwarding information in the filter level configuration
       will be ignored and the forwarding in this configuration will be used.
       
      .envoy.extensions.filters.http.api_key_auth.v3.Forwarding forwarding = 4;
    • clearForwarding

      public ApiKeyAuthPerRoute.Builder clearForwarding()
       Optional configuration to control what information should be propagated to upstream services.
       If this field is non-empty, then the forwarding information in the filter level configuration
       will be ignored and the forwarding in this configuration will be used.
       
      .envoy.extensions.filters.http.api_key_auth.v3.Forwarding forwarding = 4;
    • getForwardingBuilder

      public Forwarding.Builder getForwardingBuilder()
       Optional configuration to control what information should be propagated to upstream services.
       If this field is non-empty, then the forwarding information in the filter level configuration
       will be ignored and the forwarding in this configuration will be used.
       
      .envoy.extensions.filters.http.api_key_auth.v3.Forwarding forwarding = 4;
    • getForwardingOrBuilder

      public ForwardingOrBuilder getForwardingOrBuilder()
       Optional configuration to control what information should be propagated to upstream services.
       If this field is non-empty, then the forwarding information in the filter level configuration
       will be ignored and the forwarding in this configuration will be used.
       
      .envoy.extensions.filters.http.api_key_auth.v3.Forwarding forwarding = 4;
      Specified by:
      getForwardingOrBuilder in interface ApiKeyAuthPerRouteOrBuilder
    • setUnknownFields

      public final ApiKeyAuthPerRoute.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      setUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<ApiKeyAuthPerRoute.Builder>
    • mergeUnknownFields

      public final ApiKeyAuthPerRoute.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      mergeUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<ApiKeyAuthPerRoute.Builder>