Package com.yahoo.config.application.api
Interface ApplicationPackage
-
public interface ApplicationPackage
Represents an application package, that is, used as input when creating a VespaModel and as a general reference to all contents in an application.- Author:
- Vegard Havdal
-
-
Field Summary
Fields Modifier and Type Field Description static String
COMPONENT_DIR
static String
CONFIG_DEFINITIONS_DIR
Do not usestatic com.yahoo.path.Path
DEPLOYMENT_FILE
static String
DOCPROCCHAINS_DIR
static String
EXT_DIR
static String
HOSTS
static com.yahoo.path.Path
MODELS_DIR
Machine-learned models - only present in user-uploaded package instancesstatic com.yahoo.path.Path
MODELS_GENERATED_DIR
Files generated from machine-learned modelsstatic com.yahoo.path.Path
MODELS_GENERATED_REPLICATED_DIR
Files generated from machine-learned models which should be replicated in ZooKeeperstatic com.yahoo.path.Path
PAGE_TEMPLATES_DIR
static String
PERMANENT_SERVICES
static String
PROCESSORCHAINS_DIR
static com.yahoo.path.Path
QUERY_PROFILE_TYPES_DIR
static com.yahoo.path.Path
QUERY_PROFILES_DIR
static String
RANKEXPRESSION_NAME_SUFFIX
static String
ROUTINGTABLES_DIR
static com.yahoo.path.Path
RULES_DIR
static String
RULES_NAME_SUFFIX
static com.yahoo.path.Path
SCHEMAS_DIR
static String
SD_NAME_SUFFIX
static com.yahoo.path.Path
SEARCH_DEFINITIONS_DIR
static String
SEARCHCHAINS_DIR
static com.yahoo.path.Path
SECURITY_DIR
static String
SERVICES
static com.yahoo.path.Path
VALIDATION_OVERRIDES
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description Map<com.yahoo.vespa.config.ConfigDefinitionKey,UnparsedConfigDefinition>
getAllExistingConfigDefs()
Returns all the config definitions available in this package as unparsed data.default Optional<com.yahoo.config.provision.AllocatedHosts>
getAllocatedHosts()
Returns the host allocation info of this, or empty if no allocation is availablecom.yahoo.config.provision.ApplicationId
getApplicationId()
String
getApplicationName()
Deprecated.do not usedefault ApplicationFile
getClientSecurityFile()
Returns handle for the file containing client certificate authoritiesList<ComponentInfo>
getComponentsInfo(com.yahoo.component.Version vespaVersion)
Optional<Reader>
getDeployment()
ApplicationFile
getFile(com.yahoo.path.Path relativePath)
Returns information about a filestatic String
getFileName(JarEntry je)
The name of an SD in a JarEntryFile
getFileReference(com.yahoo.path.Path pathRelativeToAppDir)
default Map<com.yahoo.component.Version,FileRegistry>
getFileRegistries()
default List<com.yahoo.io.reader.NamedReader>
getFiles(com.yahoo.path.Path pathFromRoot, String suffix)
Same as getFiles(pathFromRoot, suffix, false)List<com.yahoo.io.reader.NamedReader>
getFiles(com.yahoo.path.Path pathFromRoot, String suffix, boolean recurse)
Returns the files in a directory as readers.Reader
getHosts()
Contents of hosts.xml.String
getHostSource()
default Optional<Integer>
getMajorVersion()
Returns the major version this application is valid for, or empty if it is valid for all versionsApplicationMetaData
getMetaData()
Gets the ApplicationMetaData instance for this application package.default List<com.yahoo.io.reader.NamedReader>
getPageTemplateFiles()
DoesgetFiles(com.yahoo.path.Path, java.lang.String, boolean)
on the page template directory and gets all xml filesdefault List<com.yahoo.io.reader.NamedReader>
getQueryProfileFiles()
DoesgetFiles(com.yahoo.path.Path, java.lang.String, boolean)
on the query profile directory and gets all xml filesdefault List<com.yahoo.io.reader.NamedReader>
getQueryProfileTypeFiles()
DoesgetFiles(com.yahoo.path.Path, java.lang.String, boolean)
on the query profile directory and gets all xml filesReader
getRankingExpression(String name)
Reads a ranking expression from file to a string and returns it.Collection<com.yahoo.io.reader.NamedReader>
getSchemas()
Readers for all the schema files.default Collection<com.yahoo.io.reader.NamedReader>
getSearchDefinitions()
Deprecated.usegetSchemas()
insteadReader
getServices()
Contents of services.xml.String
getServicesSource()
default List<String>
getUserIncludeDirs()
Returns the include dirs given by the user in the services.xml file.Optional<Reader>
getValidationOverrides()
default Map<String,String>
legacyOverrides()
default ApplicationPackage
preprocess(com.yahoo.config.provision.Zone zone, DeployLogger logger)
Preprocess an application for a given zone and return a new application package pointing to the preprocessed application package.default Collection<com.yahoo.io.reader.NamedReader>
searchDefinitionContents()
Deprecated.usegetSchemas()
insteaddefault void
validateIncludeDir(String dirName)
default void
validateXML()
default void
validateXMLFor(Optional<com.yahoo.component.Version> vespaVersion)
default void
writeMetaData()
-
-
-
Field Detail
-
HOSTS
static final String HOSTS
- See Also:
- Constant Field Values
-
SERVICES
static final String SERVICES
- See Also:
- Constant Field Values
-
SCHEMAS_DIR
static final com.yahoo.path.Path SCHEMAS_DIR
-
SEARCH_DEFINITIONS_DIR
static final com.yahoo.path.Path SEARCH_DEFINITIONS_DIR
-
COMPONENT_DIR
static final String COMPONENT_DIR
- See Also:
- Constant Field Values
-
SEARCHCHAINS_DIR
static final String SEARCHCHAINS_DIR
- See Also:
- Constant Field Values
-
DOCPROCCHAINS_DIR
static final String DOCPROCCHAINS_DIR
- See Also:
- Constant Field Values
-
PROCESSORCHAINS_DIR
static final String PROCESSORCHAINS_DIR
- See Also:
- Constant Field Values
-
ROUTINGTABLES_DIR
static final String ROUTINGTABLES_DIR
- See Also:
- Constant Field Values
-
MODELS_DIR
static final com.yahoo.path.Path MODELS_DIR
Machine-learned models - only present in user-uploaded package instances
-
MODELS_GENERATED_DIR
static final com.yahoo.path.Path MODELS_GENERATED_DIR
Files generated from machine-learned models
-
MODELS_GENERATED_REPLICATED_DIR
static final com.yahoo.path.Path MODELS_GENERATED_REPLICATED_DIR
Files generated from machine-learned models which should be replicated in ZooKeeper
-
CONFIG_DEFINITIONS_DIR
static final String CONFIG_DEFINITIONS_DIR
Do not use- See Also:
- Constant Field Values
-
QUERY_PROFILES_DIR
static final com.yahoo.path.Path QUERY_PROFILES_DIR
-
QUERY_PROFILE_TYPES_DIR
static final com.yahoo.path.Path QUERY_PROFILE_TYPES_DIR
-
PAGE_TEMPLATES_DIR
static final com.yahoo.path.Path PAGE_TEMPLATES_DIR
-
RULES_DIR
static final com.yahoo.path.Path RULES_DIR
-
DEPLOYMENT_FILE
static final com.yahoo.path.Path DEPLOYMENT_FILE
-
VALIDATION_OVERRIDES
static final com.yahoo.path.Path VALIDATION_OVERRIDES
-
SECURITY_DIR
static final com.yahoo.path.Path SECURITY_DIR
-
SD_NAME_SUFFIX
static final String SD_NAME_SUFFIX
- See Also:
- Constant Field Values
-
RANKEXPRESSION_NAME_SUFFIX
static final String RANKEXPRESSION_NAME_SUFFIX
- See Also:
- Constant Field Values
-
RULES_NAME_SUFFIX
static final String RULES_NAME_SUFFIX
- See Also:
- Constant Field Values
-
EXT_DIR
static final String EXT_DIR
- See Also:
- Constant Field Values
-
PERMANENT_SERVICES
static final String PERMANENT_SERVICES
- See Also:
- Constant Field Values
-
-
Method Detail
-
getApplicationName
@Deprecated String getApplicationName()
Deprecated.do not useThe name of the application package- Returns:
- the name of the application (i.e the directory where the application package was deployed from)
-
getApplicationId
com.yahoo.config.provision.ApplicationId getApplicationId()
-
getServices
Reader getServices()
Contents of services.xml. Caller must close reader after use.- Returns:
- a Reader, or null if no services.xml present
-
getHosts
Reader getHosts()
Contents of hosts.xml. Caller must close reader after use.- Returns:
- a Reader, or null if no hosts.xml present
-
getUserIncludeDirs
default List<String> getUserIncludeDirs()
Returns the include dirs given by the user in the services.xml file.
-
validateIncludeDir
default void validateIncludeDir(String dirName)
-
searchDefinitionContents
@Deprecated default Collection<com.yahoo.io.reader.NamedReader> searchDefinitionContents()
Deprecated.usegetSchemas()
insteadReaders for all the search definition files for this.- Returns:
- a list of readers for search definitions
-
getAllExistingConfigDefs
Map<com.yahoo.vespa.config.ConfigDefinitionKey,UnparsedConfigDefinition> getAllExistingConfigDefs()
Returns all the config definitions available in this package as unparsed data.
-
getFiles
List<com.yahoo.io.reader.NamedReader> getFiles(com.yahoo.path.Path pathFromRoot, String suffix, boolean recurse)
Returns the files in a directory as readers. The readers must be closed by the caller.- Parameters:
pathFromRoot
- the relative path string from the root of the application packagesuffix
- the suffix of files to return, or null to return allrecurse
- return files in all subdirectories (recursively) as well- Returns:
- a list of the files at this location, or an empty list (never null) if the directory does not exist or is empty. The list gets owned by the caller and can be modified freely.
-
getFiles
default List<com.yahoo.io.reader.NamedReader> getFiles(com.yahoo.path.Path pathFromRoot, String suffix)
Same as getFiles(pathFromRoot, suffix, false)
-
getMajorVersion
default Optional<Integer> getMajorVersion()
Returns the major version this application is valid for, or empty if it is valid for all versions
-
getFile
ApplicationFile getFile(com.yahoo.path.Path relativePath)
Returns information about a file- Parameters:
relativePath
- the relative path of the file within this application package.- Returns:
- information abut the file, returned whether or not the file exists
-
getQueryProfileFiles
default List<com.yahoo.io.reader.NamedReader> getQueryProfileFiles()
DoesgetFiles(com.yahoo.path.Path, java.lang.String, boolean)
on the query profile directory and gets all xml files
-
getQueryProfileTypeFiles
default List<com.yahoo.io.reader.NamedReader> getQueryProfileTypeFiles()
DoesgetFiles(com.yahoo.path.Path, java.lang.String, boolean)
on the query profile directory and gets all xml files
-
getPageTemplateFiles
default List<com.yahoo.io.reader.NamedReader> getPageTemplateFiles()
DoesgetFiles(com.yahoo.path.Path, java.lang.String, boolean)
on the page template directory and gets all xml files
-
getClientSecurityFile
default ApplicationFile getClientSecurityFile()
Returns handle for the file containing client certificate authorities
-
getHostSource
String getHostSource()
-
getServicesSource
String getServicesSource()
-
getComponentsInfo
List<ComponentInfo> getComponentsInfo(com.yahoo.component.Version vespaVersion)
-
getRankingExpression
Reader getRankingExpression(String name)
Reads a ranking expression from file to a string and returns it.- Parameters:
name
- the name of the file to return, relative to the search definition directory in the application package- Returns:
- the content of a ranking expression file
- Throws:
IllegalArgumentException
- if the file was not found or could not be read
-
getMetaData
ApplicationMetaData getMetaData()
Gets the ApplicationMetaData instance for this application package.- Returns:
- an ApplicationMetaData instance
-
getFileReference
File getFileReference(com.yahoo.path.Path pathRelativeToAppDir)
-
validateXML
default void validateXML() throws IOException
- Throws:
IOException
-
validateXMLFor
default void validateXMLFor(Optional<com.yahoo.component.Version> vespaVersion) throws IOException
- Throws:
IOException
-
writeMetaData
default void writeMetaData() throws IOException
- Throws:
IOException
-
getAllocatedHosts
default Optional<com.yahoo.config.provision.AllocatedHosts> getAllocatedHosts()
Returns the host allocation info of this, or empty if no allocation is available
-
getFileRegistries
default Map<com.yahoo.component.Version,FileRegistry> getFileRegistries()
-
getSearchDefinitions
@Deprecated default Collection<com.yahoo.io.reader.NamedReader> getSearchDefinitions()
Deprecated.usegetSchemas()
instead
-
getSchemas
Collection<com.yahoo.io.reader.NamedReader> getSchemas()
Readers for all the schema files.- Returns:
- a collection of readers for schemas
-
preprocess
default ApplicationPackage preprocess(com.yahoo.config.provision.Zone zone, DeployLogger logger) throws IOException
Preprocess an application for a given zone and return a new application package pointing to the preprocessed application package. This is the entry point for the multi environment application package support. This method will not mutate the existing application package.- Parameters:
zone
- A validZone
instance, used to decide which parts of services to keep and removelogger
- ADeployLogger
to add output that will be returned to the user- Returns:
- A new application package instance pointing to a new location
- Throws:
IOException
-
-