Roles / Service Endpoint
Roles are the endpoint participants in network microservice contracts.
A contract Role determines service capabilities at the contract level. Specific data exchange capabilities are defined in the contract by assigning a role to the service in that contract. A role is unique within a contract only.
A role inherits permissions from a network function in the associated template. Multiple roles can be created from the same network function. The permissions for each role may be customized as long as these permissions are a subset of those set by the parent network microservice template. This allows one to create fine-tuned versions of the same network function without recompiling the function itself. A function, send, can be customized as send-through-node, send-along-path, etc.