Aller au contenu principal

Model

À venir

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.

apiVersionapibuilder.stackngo.io/v1alpha1
kindModel
Appliqué parsng 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.

Rattachement à une API

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.

ChampDescriptionDéfautValidation
apiVersion stringapibuilder.stackngo.io/v1alpha1
kind stringModel
metadata ObjectMetaSeul 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.

ChampDescriptionDéfautValidation
application stringApplication est le nom de l'API générée (GeneratedAPI) du même tenant qui utilise ce modèle.MaxLength: 253
Optional: {}
modelName stringModelName est le nom du modèle, repris par les View. Vide : nom du manifeste.
primary stringPrimary 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.

ChampDescriptionDéfautValidation
observedGeneration integerObservedGeneration est la dernière version du manifeste prise en compte.

ModelProperty​

ModelProperty décrit une propriété du modèle.

ChampDescriptionDéfautValidation
type stringType est le type de la propriété (uuid, text, array…).
itemsType stringItemsType 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.

Voir aussi​