Un service, c’est une ressource qui tourne chez nous : un serveur de jeu, une application, une base de données, une instance. Toutes les routes de cette section vivent sous /api/resources et demandent un jeton de portée FULL.

Lister

La liste ne contient jamais les services supprimés.

Les familles

family dit de quoi il s’agit, et commande ce que le service accepte.

Les états

status suit une machine à états unique, quelle que soit la famille.

Lire un service

billedMonthlyMillicents est ce qui court maintenant : il vaut monthlyMillicents quand le service est actif, et storageMonthlyMillicents quand il est suspendu. C’est le seul des deux à regarder pour prévoir une dépense.

Les capacités

capabilities est la liste de ce que ce service-là accepte. Elle dépend de sa famille et de son état : une console n’existe que sur un service actif. Appeler une route dont la capacité manque rend un 400 explicite plutôt qu’un comportement silencieux :
Teste la capacité, pas la famille. Elle bouge avec l’état du service, et elle est la seule source à jour.

L’état en direct

state vaut running, stopped, starting, stopping, installing ou unknown. Un service que le nœud ne sait pas joindre rend null plutôt que de faire échouer l’appel entier.
state n’est pas status. status est la vie administrative du service (créé, suspendu, supprimé), state est ce que fait son conteneur à la seconde près. Un service ACTIVE peut très bien être stopped.
Jusqu’à 50 identifiants par appel. Au-delà, découpe.