Services

This section describes Service and underlying Resource elements packaged with Magpie, as well as their respective functionalities and intended procedural behavior.

Basic Service and Resource details

Each Service is a specialization of a Resource (see: magpie.models.Service implementation). Therefore, they can be listed and searched for either using /services API routes (using service_name) or using /resources API routes (with their attributed resource_id), whichever is more convenient for the required needs.

On top of any Resource’s metadata, a Service provide specific information about its location, its remote synchronization method (if any), any its exposed endpoint. Another important detail about the Service is its type. This will not only dictate its purpose, but also define the whole schema of allowed Resource under it (if any), as well as every one of their Allowed Permissions.

The final distinction between a Service and generic Resource is their position in the hierarchy. Only Service-specialized Resource (literally resource_type = "service") are allowed to be placed at the top of the tree hierarchy. All generic Resource nodes must be nested under some root Service. Relative references are indicated using parent_id and root_service_id in corresponding Resource details.

Available Services

See also

  • magpie.services

Service Synchronization

See also

Utility magpie_sync_resources in `Magpie CLI Helpers`_ is also available to manually launch a Resource synchronization operation for supporting Service-types.