Package com.yahoo.config.application.api
Class DeploymentSpec
- java.lang.Object
-
- com.yahoo.config.application.api.DeploymentSpec
-
public class DeploymentSpec extends java.lang.Object
Specifies the environments and regions to which an application should be deployed. This may be used both for inspection as part of an application model and to answer queries about deployment from the command line. A main method is included for the latter usage. A deployment consists of a number of steps executed in the order listed in deployment xml, as well as some additional settings. This is immutable.- Author:
- bratseth
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DeploymentSpec.ChangeBlocker
A blocking of changes in a given time windowstatic class
DeploymentSpec.DeclaredTest
A declared production teststatic class
DeploymentSpec.DeclaredZone
A deployment step which is to run deployment in a particular zonestatic class
DeploymentSpec.Delay
A deployment step which is to wait for some time before progressing to the next stepstatic class
DeploymentSpec.ParallelSteps
A container for multiple other steps, which are executed in parallelstatic class
DeploymentSpec.Step
A deployment stepstatic class
DeploymentSpec.Steps
A container for several steps, by default in serial orderstatic class
DeploymentSpec.UpgradePolicy
Controls when this application will be upgraded to new Vespa versionsstatic class
DeploymentSpec.UpgradeRollout
Determines when application changes deploy, when there is already an ongoing platform upgrade.
-
Field Summary
Fields Modifier and Type Field Description static DeploymentSpec
empty
The empty deployment spec, specifying no zones or rotation, and defaults for all settings
-
Constructor Summary
Constructors Constructor Description DeploymentSpec(java.util.List<DeploymentSpec.Step> steps, java.util.Optional<java.lang.Integer> majorVersion, java.util.Optional<com.yahoo.config.provision.AthenzDomain> athenzDomain, java.util.Optional<com.yahoo.config.provision.AthenzService> athenzService, java.lang.String xmlForm)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Optional<com.yahoo.config.provision.AthenzDomain>
athenzDomain()
Returns the Athenz domain set on the root tag, if anyjava.util.Optional<com.yahoo.config.provision.AthenzService>
athenzService()
Returns the Athenz service set on the root tag, if anyboolean
equals(java.lang.Object o)
static DeploymentSpec
fromXml(java.io.Reader reader)
Creates a deployment spec from XML.static DeploymentSpec
fromXml(java.lang.String xmlForm)
Creates a deployment spec from XML.static DeploymentSpec
fromXml(java.lang.String xmlForm, boolean validate)
Creates a deployment spec from XML.int
hashCode()
java.util.Optional<DeploymentInstanceSpec>
instance(com.yahoo.config.provision.InstanceName name)
Returns the instance step containing the given instance namejava.util.List<com.yahoo.config.provision.InstanceName>
instanceNames()
Returns the instance names declared in thisjava.util.List<DeploymentInstanceSpec>
instances()
Returns the step descendants of this which are instancesjava.util.Optional<java.lang.Integer>
majorVersion()
Returns the major version this application is pinned to, or empty (default) to allow all major versionsDeploymentInstanceSpec
requireInstance(com.yahoo.config.provision.InstanceName name)
DeploymentInstanceSpec
requireInstance(java.lang.String name)
java.util.List<DeploymentSpec.Step>
steps()
Returns the deployment steps of this in the order they will be performedstatic java.lang.String
toMessageString(java.lang.Throwable t)
java.lang.String
xmlForm()
Returns the XML form of this spec, or null if it was not created by fromXml, nor is empty
-
-
-
Field Detail
-
empty
public static final DeploymentSpec empty
The empty deployment spec, specifying no zones or rotation, and defaults for all settings
-
-
Constructor Detail
-
DeploymentSpec
public DeploymentSpec(java.util.List<DeploymentSpec.Step> steps, java.util.Optional<java.lang.Integer> majorVersion, java.util.Optional<com.yahoo.config.provision.AthenzDomain> athenzDomain, java.util.Optional<com.yahoo.config.provision.AthenzService> athenzService, java.lang.String xmlForm)
-
-
Method Detail
-
majorVersion
public java.util.Optional<java.lang.Integer> majorVersion()
Returns the major version this application is pinned to, or empty (default) to allow all major versions
-
steps
public java.util.List<DeploymentSpec.Step> steps()
Returns the deployment steps of this in the order they will be performed
-
athenzDomain
public java.util.Optional<com.yahoo.config.provision.AthenzDomain> athenzDomain()
Returns the Athenz domain set on the root tag, if any
-
athenzService
public java.util.Optional<com.yahoo.config.provision.AthenzService> athenzService()
Returns the Athenz service set on the root tag, if any
-
xmlForm
public java.lang.String xmlForm()
Returns the XML form of this spec, or null if it was not created by fromXml, nor is empty
-
instance
public java.util.Optional<DeploymentInstanceSpec> instance(com.yahoo.config.provision.InstanceName name)
Returns the instance step containing the given instance name
-
requireInstance
public DeploymentInstanceSpec requireInstance(java.lang.String name)
-
requireInstance
public DeploymentInstanceSpec requireInstance(com.yahoo.config.provision.InstanceName name)
-
instanceNames
public java.util.List<com.yahoo.config.provision.InstanceName> instanceNames()
Returns the instance names declared in this
-
instances
public java.util.List<DeploymentInstanceSpec> instances()
Returns the step descendants of this which are instances
-
fromXml
public static DeploymentSpec fromXml(java.io.Reader reader)
Creates a deployment spec from XML.- Throws:
java.lang.IllegalArgumentException
- if the XML is invalid
-
fromXml
public static DeploymentSpec fromXml(java.lang.String xmlForm)
Creates a deployment spec from XML.- Throws:
java.lang.IllegalArgumentException
- if the XML is invalid
-
fromXml
public static DeploymentSpec fromXml(java.lang.String xmlForm, boolean validate)
Creates a deployment spec from XML.- Throws:
java.lang.IllegalArgumentException
- if the XML is invalid
-
toMessageString
public static java.lang.String toMessageString(java.lang.Throwable t)
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-