Hoppa till innehållet
Stackship-dokumentation English

BlueprintsAnvändareMaskinöversatt

Publicera mallar med API:t

Validera en blueprint-mall, spara den i din boundarys katalog, ersätt den och ta bort den via plattformens API.

Kräver: blueprints/templates/write

Mall-API:t sparar en mall i taget i en boundarys katalog. Portalen har ingen vy för det; anropa det med stsh api eller valfri HTTP-klient, så som beskrivs i Plattformens API. Varje route här kräver blueprints/templates/write på boundaryn.

Förbered anropets innehåll

Varje anrop bär mallen, i YAML eller JSON, som en sträng i content:

json
{ "content": "apiVersion: blueprints.stackship.se/v2\nkind: BlueprintTemplate\n..." }

Med jq, från en template.yaml:

bash
jq -Rs '{content: .}' template.yaml > body.json

Validera en mall

bash
stsh api POST /boundaries/<boundary-id>/resources/blueprints/templates/validate -d @body.json

Valideringen kontrollerar dokumentet utan att lagra det. En giltig mall svarar 200 med {"valid": true}; en ogiltig svarar 400 med varje problem och var det finns:

json
{
  "valid": false,
  "errors": [
    { "path": "metadata.title", "message": "A title is required" },
    { "path": "instance.components", "message": "A template must declare at least one component" }
  ]
}

Validera även mallar som du har i ett förråd: en katalogkälla hoppar över en mall som inte går att tolka utan att säga det.

Spara eller ersätt en mall

bash
stsh api POST /boundaries/<boundary-id>/resources/blueprints/templates -d @body.json

Mallen valideras igen och sparas under sin metadata.slug; svaret är 204, eller 400 med errors som ovan. Att spara en slug som redan finns i boundaryn ersätter den blueprinten. En slug som plattformskatalogen använder nekas. En blueprint som en katalogkälla publicerar ersätts bara fram till källans nästa synkning, som skriver tillbaka förrådets version.

Blueprinten visas direkt i boundaryns katalog. Mallar som sparas på det här sättet lagras exakt som de skickades: {{domain_suffix}} och {{cert_issuer}} ersätts inte, och hidden tillämpas inte — se Metadata.

Läs en mall

Katalogens routes returnerar varje blueprint som syns i boundaryn, även de du har sparat:

bash
stsh api GET /boundaries/<boundary-id>/resources/blueprints/<slug>

Svaret beskriver blueprinten som katalogen visar den — dess parametrar, komponenter och hanterade resurser — inte själva malldokumentet. Behåll dokumentet där du redigerar det.

Ta bort en mall

bash
stsh api DELETE /boundaries/<boundary-id>/resources/blueprints/templates/<slug>

Svaret är 204, eller 404 när boundaryn inte har någon blueprint med den slugen; plattformskatalogens blueprints kan inte tas bort här. En blueprint som en katalogkälla publicerar kan tas bort, men kommer tillbaka vid källans nästa synkning. Instanser som redan driftsatts från mallen fortsätter att köra.