Class ApplicationConfigProducerRoot

All Implemented Interfaces:
com.yahoo.cloud.config.ApplicationIdConfig.Producer, com.yahoo.cloud.config.ClusterListConfig.Producer, com.yahoo.cloud.config.log.LogdConfig.Producer, com.yahoo.cloud.config.ModelConfig.Producer, com.yahoo.cloud.config.SlobroksConfig.Producer, com.yahoo.cloud.config.ZookeepersConfig.Producer, com.yahoo.config.ConfigInstance.Producer, CommonConfigsProducer, com.yahoo.document.config.DocumentmanagerConfig.Producer, com.yahoo.document.config.DocumenttypesConfig.Producer, com.yahoo.documentapi.messagebus.protocol.DocumentProtocolPoliciesConfig.Producer, com.yahoo.documentapi.messagebus.protocol.DocumentrouteselectorpolicyConfig.Producer, com.yahoo.messagebus.MessagebusConfig.Producer, com.yahoo.vespa.config.content.AllClustersBucketSpacesConfig.Producer, com.yahoo.vespa.config.content.DistributionConfig.Producer, ConfigProducer, Serializable

public class ApplicationConfigProducerRoot extends TreeConfigProducer<AnyConfigProducer> implements CommonConfigsProducer
This is the parent of all ConfigProducers in the system resulting from configuring an application.
Author:
gjoranv
See Also:
  • Constructor Details

    • ApplicationConfigProducerRoot

      public ApplicationConfigProducerRoot(TreeConfigProducer<AnyConfigProducer> parent, String name, DocumentModel documentModel, com.yahoo.component.Version vespaVersion, com.yahoo.config.provision.ApplicationId applicationId)
      Creates and initializes a new Vespa from the service config file in the given application directory.
      Parameters:
      parent - the parent, usually VespaModel
      name - the name, used as configId
      documentModel - DocumentModel to serve global document config from.
  • Method Details

    • useFeatureFlags

      public void useFeatureFlags(com.yahoo.config.model.api.ModelContext.FeatureFlags featureFlags)
    • getConfigIds

      public Set<String> getConfigIds()
      Returns:
      an unmodifiable copy of the set of configIds in this VespaModel.
    • getConfigProducer

      public ConfigProducer getConfigProducer(String configId)
      Returns the ConfigProducer with the given id, or null if no such configId exists.
      Parameters:
      configId - The configId, e.g. "search.0/tld.0"
      Returns:
      ConfigProducer with the given configId
    • addDescendant

      public void addDescendant(AnyConfigProducer descendant)
      Adds the descendant (at any depth level), so it can be looked up on configId in the Map.
      Parameters:
      descendant - The configProducer descendant to add
    • prepare

      public void prepare(ConfigModelRepo plugins)
      Prepares the model for start. The VespaModel calls this methods after it has loaded this and all plugins have been loaded and their initialize() methods have been called.
      Parameters:
      plugins - All initialized plugins of the vespa model.
    • setupAdmin

      public void setupAdmin(Admin admin)
    • setupRouting

      public void setupRouting(DeployState deployState, VespaModel vespaModel, ConfigModelRepo configModels)
    • getConfig

      public void getConfig(com.yahoo.document.config.DocumentmanagerConfig.Builder builder)
      Specified by:
      getConfig in interface com.yahoo.document.config.DocumentmanagerConfig.Producer
    • getConfig

      public void getConfig(com.yahoo.document.config.DocumenttypesConfig.Builder builder)
      Specified by:
      getConfig in interface com.yahoo.document.config.DocumenttypesConfig.Producer
    • getConfig

      public void getConfig(com.yahoo.documentapi.messagebus.protocol.DocumentrouteselectorpolicyConfig.Builder builder)
      Specified by:
      getConfig in interface com.yahoo.documentapi.messagebus.protocol.DocumentrouteselectorpolicyConfig.Producer
    • getConfig

      public void getConfig(com.yahoo.documentapi.messagebus.protocol.DocumentProtocolPoliciesConfig.Builder builder)
      Specified by:
      getConfig in interface com.yahoo.documentapi.messagebus.protocol.DocumentProtocolPoliciesConfig.Producer
    • getConfig

      public void getConfig(com.yahoo.messagebus.MessagebusConfig.Builder builder)
      Specified by:
      getConfig in interface com.yahoo.messagebus.MessagebusConfig.Producer
    • getConfig

      public void getConfig(com.yahoo.cloud.config.log.LogdConfig.Builder builder)
      Specified by:
      getConfig in interface com.yahoo.cloud.config.log.LogdConfig.Producer
    • getConfig

      public void getConfig(com.yahoo.cloud.config.SlobroksConfig.Builder builder)
      Specified by:
      getConfig in interface com.yahoo.cloud.config.SlobroksConfig.Producer
    • getConfig

      public void getConfig(com.yahoo.cloud.config.ZookeepersConfig.Builder builder)
      Specified by:
      getConfig in interface com.yahoo.cloud.config.ZookeepersConfig.Producer
    • getConfig

      public void getConfig(com.yahoo.cloud.config.ClusterListConfig.Builder builder)
      Specified by:
      getConfig in interface com.yahoo.cloud.config.ClusterListConfig.Producer
    • getConfig

      public void getConfig(com.yahoo.vespa.config.content.DistributionConfig.Builder builder)
      Specified by:
      getConfig in interface com.yahoo.vespa.config.content.DistributionConfig.Producer
    • getConfig

      public void getConfig(com.yahoo.vespa.config.content.AllClustersBucketSpacesConfig.Builder builder)
      Specified by:
      getConfig in interface com.yahoo.vespa.config.content.AllClustersBucketSpacesConfig.Producer
    • getConfig

      public void getConfig(com.yahoo.cloud.config.ModelConfig.Builder builder)
      Specified by:
      getConfig in interface com.yahoo.cloud.config.ModelConfig.Producer
    • getPortTags

      public static String getPortTags(PortsMeta portsMeta, int portNumber)
    • setHostSystem

      public void setHostSystem(HostSystem hostSystem)
    • hostSystem

      public HostSystem hostSystem()
      Description copied from class: AnyConfigProducer
      Returns the one and only HostSystem of the root node. Must be overridden by root node.
      Specified by:
      hostSystem in interface ConfigProducer
      Overrides:
      hostSystem in class AnyConfigProducer
    • getAdmin

      public Admin getAdmin()
    • getConfig

      public void getConfig(com.yahoo.cloud.config.ApplicationIdConfig.Builder builder)
      Specified by:
      getConfig in interface com.yahoo.cloud.config.ApplicationIdConfig.Producer