Software Content Management > Packages > Package Dependencies > Conditions for Property Dependencies
Conditions for Property Dependencies
On a property dependency, you can define a condition that requires a local or remote property to have a certain value or be within a certain range for the package to be deployed.
Ensure the Property Dependency is Eligible for Deployment
While adding a property dependency, any combination of Property Name, Operator, and Property Value can be added, but you must make sure that the relationship is valid for deployment.
If the types of the specified Property Value and asset’s property value do not match, the deployment for that delivery target fails with a type mismatch error.
The Operator and Property Value must be compatible.
The following table shows which operator and property value types are compatible:
Operator
String
Boolean
Number
>
No
No
Yes
<
No
No
Yes
>=
No
No
Yes
<=
No
No
Yes
==
Yes
Yes
Yes
!=
Yes
Yes
Yes
*
Yes (Value is ignored)
Yes (Value is ignored)
Yes (Value is ignored)
How a Property Condition is Evaluated at the Start of a Deployment
The package type (file-based or instruction-based) and property type (local or remote) used for the condition determine how the condition is evaluated at the start of a deployment. In most cases, the evaluation is performed locally, on the Software Content Management side, taking the property value from the asset's Thing. However, for instruction-based packages, the condition can be evaluated on the Axeda agent.
The following table describes how and where the conditions are evaluated depending on the package type and property type and whether the property exists on the Thing:
Package Type
Local Property
Remote Property
Property Does Not Exist on Thing (Could Exist on Asset)
File-based
Evaluates locally
Evaluates locally
Fails
Instruction-based
Evaluates locally
Evaluates on the agent
Evaluates on the agent
Example of a Failed Deployment
At the start of a deployment of a package to a delivery target, conditions are checked against the asset's actual property value. The asset’s property value and the Operator and Property Value specified for the property condition are checked.
For example, an asset has a temperature property with a value of 24 (so the asset's Property Value = 24). A dependency was created with the following values:
Property Name = Temperature
Operator = >
Property Value = 25
During the deployment, this condition is checked: 24 > 25.
As a result, the deployment fails, the delivery target state is Ineligible, and a status message explains the reason for failure.
Was this helpful?