Interface ConfigProducer

All Superinterfaces:
com.yahoo.config.ConfigInstance.Producer
All Known Subinterfaces:
ConfigProducerRoot, Service
All Known Implementing Classes:
AbstractConfigProducer, AbstractConfigProducerRoot, AbstractService, AccessLogComponent, Admin, ApplicationConfigProducerRoot, ApplicationContainer, ApplicationContainerCluster, BlockFeedGlobalEndpointsFilter, Chain, ChainedComponent, Chains, Client, CloudSecretStore, ClusterControllerCluster, ClusterControllerComponent, ClusterControllerConfig, ClusterControllerConfigurer, ClusterControllerContainer, ClusterControllerContainerCluster, Component, ComponentGroup, ConfigProducerGroup, ConfigProxy, ConfigSentinel, Configserver, ConfigserverCluster, ConfiguredDirectSslProvider, ConfiguredFilebasedSslProvider, ConnectionLogComponent, ConnectorFactory, Container, ContainerCluster, ContainerThreadpool, ContentCluster, ContentNode, ContentSearchCluster, CustomSslProvider, DefaultSslProvider, DispatcherComponent, Distributor, DistributorCluster, DocprocChain, DocprocChains, DocumentDatabase, DocumentProcessor, DummyPersistence, FederationSearcher, FileDistributionConfigProducer, FileDistributionConfigProvider, FileStatusHandlerComponent, Filter, FilterChains, FilterConfigProvider, GenericProvider, GenericTarget, Handler, Handler.DefaultHandlerThreadpool, Host, HostedSslConnectorFactory, HostSystem, Http, HttpFilterChain, IdentityProvider, IndexedSearchCluster, IndexedSearchCluster.MultipleDocumentDatabasesConfigProducer, IndexingDocprocChain, IndexingProcessor, JettyHttpServer, JettyHttpServer.FilterBindingsProviderComponent, LocalProvider, Logd, LogForwarder, Logserver, LogserverContainer, LogserverContainerCluster, MbusClient, MetricsProxyContainer, MetricsProxyContainerCluster, MockRoot, ModelConfigProvider, PersistenceEngine, ProcessingChain, ProcessingChains, ProcessingHandler, Processor, ProtonProvider, Provider, SearchChain, SearchChains, SearchCluster, Searcher, SearchNode, SimpleComponent, SimpleConfigProducer, Slobrok, Source, SslProvider, StorageCluster, StorageNode, StreamingSearchCluster, TransactionLogServer, Tuning, VespaModel

public interface ConfigProducer extends com.yahoo.config.ConfigInstance.Producer
Interface that should be implemented by all config producing modules in the vespa model.
Author:
gjoranv
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    addUserConfig(com.yahoo.config.ConfigInstance.Builder builder)
    Adds user config override from this ConfigProducer to the existing builder
    boolean
    cascadeConfig(com.yahoo.config.ConfigInstance.Builder builder)
    Build config from this and all parent ConfigProducers, such that the root node's config will be added first, and this ConfigProducer's config last in the returned builder.
    void
    Dump the three of config producers to the specified stream.
    Returns this ConfigProducer's children (only 1st level)
    Returns the configId of this ConfigProducer.
    Returns a List of all Services that are descendants to this ConfigProducer
    Returns the user configs of this
    Returns the one and only HostSystem of the root node
    void
    check constraints depending on the state of the vespamodel graph.
  • Method Details

    • getConfigId

      String getConfigId()
      Returns the configId of this ConfigProducer.
    • hostSystem

      HostSystem hostSystem()
      Returns the one and only HostSystem of the root node
    • getUserConfigs

      UserConfigRepo getUserConfigs()
      Returns the user configs of this
    • getChildren

      Map<String,? extends ConfigProducer> getChildren()
      Returns this ConfigProducer's children (only 1st level)
    • getDescendantServices

      List<Service> getDescendantServices()
      Returns a List of all Services that are descendants to this ConfigProducer
    • dump

      void dump(PrintStream out)
      Dump the three of config producers to the specified stream.
      Parameters:
      out - The stream to print to, e.g. System.out
    • cascadeConfig

      boolean cascadeConfig(com.yahoo.config.ConfigInstance.Builder builder)
      Build config from this and all parent ConfigProducers, such that the root node's config will be added first, and this ConfigProducer's config last in the returned builder.
      Parameters:
      builder - The builder implemented by the concrete ConfigInstance class
      Returns:
      true if a model config producer was found, so config was applied
    • addUserConfig

      boolean addUserConfig(com.yahoo.config.ConfigInstance.Builder builder)
      Adds user config override from this ConfigProducer to the existing builder
      Parameters:
      builder - The ConfigBuilder to add user config overrides.
      Returns:
      true if overrides were added, false if not.
    • validate

      void validate() throws Exception
      check constraints depending on the state of the vespamodel graph. When overriding, you must invoke super.
      Throws:
      Exception