Class PathConfigSource

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, PathConfigSourceOrBuilder, Serializable

    public final class PathConfigSource
    extends com.google.protobuf.GeneratedMessageV3
    implements PathConfigSourceOrBuilder
     Local filesystem path configuration source.
     
    Protobuf type envoy.config.core.v3.PathConfigSource
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  PathConfigSource.Builder
      Local filesystem path configuration source.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,​BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,​BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int PATH_FIELD_NUMBER  
      static int WATCHED_DIRECTORY_FIELD_NUMBER  
      • Fields inherited from class com.google.protobuf.GeneratedMessageV3

        alwaysUseFieldBuilders, unknownFields
      • Fields inherited from class com.google.protobuf.AbstractMessage

        memoizedSize
      • Fields inherited from class com.google.protobuf.AbstractMessageLite

        memoizedHashCode
    • Field Detail

      • WATCHED_DIRECTORY_FIELD_NUMBER

        public static final int WATCHED_DIRECTORY_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • 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
      • getPath

        public String getPath()
         Path on the filesystem to source and watch for configuration updates.
         When sourcing configuration for a :ref:`secret <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.Secret>`,
         the certificate and key files are also watched for updates.
         .. note::
          The path to the source must exist at config load time.
         .. note::
           If ``watched_directory`` is *not* configured, Envoy will watch the file path for *moves*.
           This is because in general only moves are atomic. The same method of swapping files as is
           demonstrated in the :ref:`runtime documentation <config_runtime_symbolic_link_swap>` can be
           used here also. If ``watched_directory`` is configured, no watch will be placed directly on
           this path. Instead, the configured ``watched_directory`` will be used to trigger reloads of
           this path. This is required in certain deployment scenarios. See below for more information.
         
        string path = 1 [(.validate.rules) = { ... }
        Specified by:
        getPath in interface PathConfigSourceOrBuilder
        Returns:
        The path.
      • getPathBytes

        public com.google.protobuf.ByteString getPathBytes()
         Path on the filesystem to source and watch for configuration updates.
         When sourcing configuration for a :ref:`secret <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.Secret>`,
         the certificate and key files are also watched for updates.
         .. note::
          The path to the source must exist at config load time.
         .. note::
           If ``watched_directory`` is *not* configured, Envoy will watch the file path for *moves*.
           This is because in general only moves are atomic. The same method of swapping files as is
           demonstrated in the :ref:`runtime documentation <config_runtime_symbolic_link_swap>` can be
           used here also. If ``watched_directory`` is configured, no watch will be placed directly on
           this path. Instead, the configured ``watched_directory`` will be used to trigger reloads of
           this path. This is required in certain deployment scenarios. See below for more information.
         
        string path = 1 [(.validate.rules) = { ... }
        Specified by:
        getPathBytes in interface PathConfigSourceOrBuilder
        Returns:
        The bytes for path.
      • hasWatchedDirectory

        public boolean hasWatchedDirectory()
         If configured, this directory will be watched for *moves*. When an entry in this directory is
         moved to, the ``path`` will be reloaded. This is required in certain deployment scenarios.
         Specifically, if trying to load an xDS resource using a
         `Kubernetes ConfigMap <https://kubernetes.io/docs/concepts/configuration/configmap/>`_, the
         following configuration might be used:
         1. Store xds.yaml inside a ConfigMap.
         2. Mount the ConfigMap to ``/config_map/xds``
         3. Configure path ``/config_map/xds/xds.yaml``
         4. Configure watched directory ``/config_map/xds``
         The above configuration will ensure that Envoy watches the owning directory for moves which is
         required due to how Kubernetes manages ConfigMap symbolic links during atomic updates.
         
        .envoy.config.core.v3.WatchedDirectory watched_directory = 2;
        Specified by:
        hasWatchedDirectory in interface PathConfigSourceOrBuilder
        Returns:
        Whether the watchedDirectory field is set.
      • getWatchedDirectory

        public WatchedDirectory getWatchedDirectory()
         If configured, this directory will be watched for *moves*. When an entry in this directory is
         moved to, the ``path`` will be reloaded. This is required in certain deployment scenarios.
         Specifically, if trying to load an xDS resource using a
         `Kubernetes ConfigMap <https://kubernetes.io/docs/concepts/configuration/configmap/>`_, the
         following configuration might be used:
         1. Store xds.yaml inside a ConfigMap.
         2. Mount the ConfigMap to ``/config_map/xds``
         3. Configure path ``/config_map/xds/xds.yaml``
         4. Configure watched directory ``/config_map/xds``
         The above configuration will ensure that Envoy watches the owning directory for moves which is
         required due to how Kubernetes manages ConfigMap symbolic links during atomic updates.
         
        .envoy.config.core.v3.WatchedDirectory watched_directory = 2;
        Specified by:
        getWatchedDirectory in interface PathConfigSourceOrBuilder
        Returns:
        The watchedDirectory.
      • getWatchedDirectoryOrBuilder

        public WatchedDirectoryOrBuilder getWatchedDirectoryOrBuilder()
         If configured, this directory will be watched for *moves*. When an entry in this directory is
         moved to, the ``path`` will be reloaded. This is required in certain deployment scenarios.
         Specifically, if trying to load an xDS resource using a
         `Kubernetes ConfigMap <https://kubernetes.io/docs/concepts/configuration/configmap/>`_, the
         following configuration might be used:
         1. Store xds.yaml inside a ConfigMap.
         2. Mount the ConfigMap to ``/config_map/xds``
         3. Configure path ``/config_map/xds/xds.yaml``
         4. Configure watched directory ``/config_map/xds``
         The above configuration will ensure that Envoy watches the owning directory for moves which is
         required due to how Kubernetes manages ConfigMap symbolic links during atomic updates.
         
        .envoy.config.core.v3.WatchedDirectory watched_directory = 2;
        Specified by:
        getWatchedDirectoryOrBuilder in interface PathConfigSourceOrBuilder
      • isInitialized

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

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

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

        public boolean equals​(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 PathConfigSource parseFrom​(ByteBuffer data)
                                          throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

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

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

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

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

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

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

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

        protected PathConfigSource.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<PathConfigSource> 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.GeneratedMessageV3
      • getDefaultInstanceForType

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