Class PathConfigSource.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, PathConfigSourceOrBuilder, java.lang.Cloneable
    Enclosing class:
    PathConfigSource

    public static final class PathConfigSource.Builder
    extends com.google.protobuf.GeneratedMessage.Builder<PathConfigSource.Builder>
    implements PathConfigSourceOrBuilder
     Local filesystem path configuration source.
     
    Protobuf type envoy.config.core.v3.PathConfigSource
    • Constructor Detail

      • Builder

        private Builder()
      • Builder

        private Builder​(com.google.protobuf.AbstractMessage.BuilderParent parent)
    • 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.Builder<PathConfigSource.Builder>
      • maybeForceBuilderInitialization

        private void maybeForceBuilderInitialization()
      • clear

        public PathConfigSource.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.GeneratedMessage.Builder<PathConfigSource.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.GeneratedMessage.Builder<PathConfigSource.Builder>
      • getDefaultInstanceForType

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

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

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

        public PathConfigSource.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<PathConfigSource.Builder>
      • isInitialized

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

        public PathConfigSource.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                           throws java.io.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<PathConfigSource.Builder>
        Throws:
        java.io.IOException
      • getPath

        public java.lang.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.
      • setPath

        public PathConfigSource.Builder setPath​(java.lang.String value)
         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) = { ... }
        Parameters:
        value - The path to set.
        Returns:
        This builder for chaining.
      • clearPath

        public PathConfigSource.Builder clearPath()
         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) = { ... }
        Returns:
        This builder for chaining.
      • setPathBytes

        public PathConfigSource.Builder setPathBytes​(com.google.protobuf.ByteString value)
         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) = { ... }
        Parameters:
        value - The bytes for path to set.
        Returns:
        This builder for chaining.
      • 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.
      • setWatchedDirectory

        public PathConfigSource.Builder setWatchedDirectory​(WatchedDirectory value)
         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;
      • setWatchedDirectory

        public PathConfigSource.Builder setWatchedDirectory​(WatchedDirectory.Builder builderForValue)
         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;
      • mergeWatchedDirectory

        public PathConfigSource.Builder mergeWatchedDirectory​(WatchedDirectory value)
         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;
      • clearWatchedDirectory

        public PathConfigSource.Builder clearWatchedDirectory()
         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;
      • getWatchedDirectoryBuilder

        public WatchedDirectory.Builder getWatchedDirectoryBuilder()
         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;
      • 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
      • getWatchedDirectoryFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<WatchedDirectory,​WatchedDirectory.Builder,​WatchedDirectoryOrBuilder> getWatchedDirectoryFieldBuilder()
         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;