Inter-service referencingΒΆ

A service in one commissioning file describes resources and their relations by referencing resources with each other. In addition to the resources within the same file, one can also reference resources from other services and other files. This is called inter-service referencing.

With inter-service referencing, resources in one service can depend on resources in other services. For example, some Endpoint definitions in one file can belong to a Connection resource that was defined in another service by referencing that Connection in the other service.

When using inter-service referencing to reference e.g. a Connection myConnection in a service with service id serviceB, one needs to refer to that connection by writing !ref serviceB::myConnection. In other words, the resource id must be prefixed with the service id and a double colon, ::. See also service id and resource id.

For more flexibility, the service id is usually not specified directly, but instead a parameter is defined where the respective service id is given at installation time. To use such a parameter, e.g. otherServiceName, one will write !ref '${otherServiceName}::resourceId'.

This is shown in the example with multiple files. In that example, the commissioning file which wants to reference the resources of other services has the parameter machineService, and the inter-service reference is written as !ref '${machineService}::defaultRole'.