Applicationbuildproperty
Last updated
Last updated
The ApplicationBuildProperty is an element that adds meaning to the element. E.g. you can define that an application uses a certain network port, or requires a password, together with a preset password, or have the system generate a unique password for each ApplicationInstance. These properties are necessary for the system to work properly.
propertyId
string
N/A
Yes
Unique identifier of the element
propertyType
int
Yes
No
Type ID of the property
propertyKey
string
Yes
No
The name of the property
propertyValue
mixed
Only for network port
No
The value of the property
Table 1: ApplicationBuildProperty element structure
The characters allowed for a propertyKey are : a-z, 0-9, -, _
A property key must start with a lowercase character.
The maximum length of a propertyKey is 50 characters.
Any UTF-8 character is allowed in a propertyValue.
The maximum length of a propertyValue is 150 characters.
ApplicationBuildProperty elements consist of a propertyType
, a propertyKey
and a propertyValue
. The propertyType
indicates the functionality of the property. The propertyKey
gives the property a name and the value
a value. Not all property types require a value. E.g. if you have a property of propertyType
password16
, you can leave propertyValue
empty. This means we will generate a password, in this case with a length of 16 characters. If however you do enter a propertyValue
, then we take that as the password and the system will not generate a new random password. You can find all available property types and usages in the next chapter.
A propertyType is indicated by a numerical ID. The following types are available:
0
raw value
mixed
yes
A custom raw value. This property's key and value will be passed to ApplicationBuilds, ApplicationInstances and labels as-is.
1
public network port
0 or a number between 10240 - 29999
yes
Indicates a default or random network port for your application to use.
2
password8
string
no
An 8 character password. If no value provided, we generate a unique password for every ApplicationInstance.
3
password16
string
no
A 16 character password. If no value provided, we generate a unique password for every ApplicationInstance.
4
password24
string
no
A 24 character password. If no value provided, we generate a unique password for every ApplicationInstance.
5
public network port range
a number between 2 and 200
yes
A number indicating the size of the desired port range.
6
private network port
0 or a number between 30000 - 49151
yes
Indicates a default or random network port for your application to use.
7
private network port range
a number between 2 and 200
yes
A number indicating the size of the desired private port range.
Table 2: Property types
An ApplicationProperty's value can be overridden at later stages, in the listed order:
As such, an override on DeploymentRegion level always wins. If no override for a DeploymentRegion is present, an override of the ApplicationBuild will win. If no override for an ApplicationBuild is present, the original property value defined for the Application will win.
You can assign any number of ApplicationBuildProperty to an ApplicationBuild. There is no limitation there. The only rule is that you must have unique propertyKey names per ApplicationBuild.
An ApplicationBuild's properties will be inherited by all elements deployed for said ApplicationBuild.
an ApplicationBuild will inherit an Application's properties. Its values can be overridden in the ApplicationBuild ()
a DeploymentRegion can override a property on a per-region basis. This can be useful if you want to define different property values for each deployment region, allowing you to start your applications with region-based startup parameters ()
Every property you define will become available as platform variables that can be used in configuration related properties: ApplicationBuild.startupParameters and ApplicationBuildConfiguration.configContents. Please see the topic for more details.
See also: