Model
Fonctionnalité en préparation. Cette page décrit l'interface cible pour recueillir vos retours ; rien n'est encore utilisable.
Les API générées sont en préparation : ce manifeste n'est pas encore accepté par sng apply.
apiVersion | apibuilder.stackngo.io/v1alpha1 |
kind | Model |
| Appliqué par | sng apply (à venir) |
À quoi ça sert
Un Model décrit une collection de données de l'API générée : son nom, sa clé primaire et ses propriétés typées. La GeneratedAPI en dérive le stockage et les opérations.
Un Model ou une View se rattache à sa GeneratedAPI par spec.application, qui porte le nom de la GeneratedAPI du même tenant (application: blog). Sans spec.application, une ressource n'est retenue que par une GeneratedAPI qui la choisit par ses labels (selector).
Exemple minimal
apiVersion: apibuilder.stackngo.io/v1alpha1
kind: Model
metadata:
name: posts
spec:
application: blog
modelName: posts
properties:
id: {type: uuid}
title: {type: text}
Exemple complet commenté
apiVersion: apibuilder.stackngo.io/v1alpha1
kind: Model
metadata:
name: posts
spec:
application: blog # nom de la GeneratedAPI qui utilise ce modèle
modelName: posts # clé du modèle dans l'API générée
primary: id # propriété clé
properties: # obligatoire
id: {type: uuid}
title: {type: text}
tags: {type: array, itemsType: text}
Champs
Model
Model déclare un modèle de données de votre API générée.
| Champ | Description | Défaut | Validation |
|---|---|---|---|
apiVersion string | apibuilder.stackngo.io/v1alpha1 | ||
kind string | Model | ||
metadata ObjectMeta | Seul metadata.name est à renseigner (nom de la ressource dans votre tenant). | ||
spec ModelSpec | |||
status ModelStatus |
ModelSpec
ModelSpec décrit le modèle : son nom, sa clé primaire et ses propriétés.
| Champ | Description | Défaut | Validation |
|---|---|---|---|
application string | Application est le nom de l'API générée (GeneratedAPI) du même tenant qui utilise ce modèle. | MaxLength: 253 Optional: {} | |
modelName string | ModelName est le nom du modèle, repris par les View. Vide : nom du manifeste. | ||
primary string | Primary est la propriété qui sert de clé primaire (facultatif). | ||
properties object (keys:string, values:ModelProperty) | Properties : propriétés du modèle, par nom, avec leur type (uuid, text, array…). |
ModelStatus
ModelStatus est l'état constaté par la plateforme.
| Champ | Description | Défaut | Validation |
|---|---|---|---|
observedGeneration integer | ObservedGeneration est la dernière version du manifeste prise en compte. |
ModelProperty
ModelProperty décrit une propriété du modèle.
| Champ | Description | Défaut | Validation |
|---|---|---|---|
type string | Type est le type de la propriété (uuid, text, array…). | ||
itemsType string | ItemsType est le type des éléments quand type vaut array. |
Statut et conditions
status.observedGeneration indique la dernière version prise en compte. Les erreurs de fusion apparaissent sur la GeneratedAPI (Synced, raison MergeFailed).
Ce qui se passe à l'application
Modifier un Model regénère l'API qui le rattache.