Zum Hauptinhalt springen

Ein Projekt über die API erstellen

Über Projekt-Platzierungen​

Es gibt verschiedene Varianten, ein neues Projekt zu erstellen:

  1. Wenn du Zugriff auf einen Server hast (zum Beispiel, wenn du den "Space Server"-Tarif1 verwendest), kannst du ein neues Projekt auf diesem Server erstellen. Alle Projekte, die auf einem Server erstellt werden, verwenden denselben gemeinsamen Ressourcen-Pool. Da du für den Server bezahlst, kannst du ohne zusätzliche Kosten so viele Projekte erstellen, wie die Ressourcen-Verwendung zulässt.
  2. Du kannst den Tarif "proSpace"2 verwenden. Das Projekt bekommt dann eigene Ressourcen zugewiesen. Jedes Projekt wird einzeln abgerechnet.

Ein Projekt erstellen...​

...auf einem Server​

Voraussetzung dafür, ein Projekt auf einem bestehenden Server zu erstellen, ist die ID dieses Servers. Du kannst alle Server finden, auf die du Zugriff hast, indem du den GET/v2/servers/-Endpunkt verwendest.

Um ein neues Projekt zu erstellen, sende eine Anfrage an den POST/v2/servers/{serverId}/projects/-Endpunkt. Der Anfragetext muss ein JSON-Objekt mit den folgenden Eigenschaften enthalten:

  • description (String, Pflichtfeld) sollte eine menschenlesbare Beschreibung des Projekts enthalten.

Die Antwort im Erfolgsfall enthält ein JSON-Objekt mit den folgenden Eigenschaften:

  • id ist die ID des neu erstellten Projekts.

...als einzelnes Projekt​

Um ein einzelnes Projekt erstellen zu können, musst du berechtigt sein, in einer Organisation kostenpflichtige Aktionen auszuführen. Nutze dann den Endpunkt POST/v2/orders/, um ein neues Projekt kostenpflichtig zu bestellen.

Der Anfragetext muss ein JSON-Objekt mit den folgenden Eigenschaften enthalten:

  • orderType: "projectHosting" gibt an, dass wir ein neues Projekt erstellen wollen
  • orderData: Objekt, das die Bestellung beschreibt. Sollte mindestens folgende Eigenschaften enthalten:
    • customerId: (String, Pflichtfeld) ID der Organisation, die das Projekt bezahlen wird
    • description: (String, Pflichtfeld) menschenlesbare Beschreibung des Projektes
    • diskspaceInGiB: (Number, Pflichtfeld) Speicherplatz, der für das Projekt gebucht werden soll. Mindestens 20 GiB, der Wert muss ein Vielfaches von 20 sein.
    • spec:
      • machineType: (String, Pflichtfeld) definiert, welche Ressourcen (CPU, RAM) dem Projekt bereitgestellt werden sollen. Mögliche Werte erhälst Du über den Endpunkt GET/v2/articles/.

Die Antwort im Erfolgsfall enthält ein JSON-Objekt mit den folgenden Eigenschaften:

  • id ist die ID der neu erstellten Bestellung.

Überprüfen der Projekt-Verfügbarkeit​

Ein neu erstelltes Projekt ist nicht sofort verfügbar (sollte es jedoch innerhalb weniger Sekunden sein). Um zu überprüfen, ob ein Projekt bereit ist, sende eine Anfrage an den GET/v2/projects/{projectId}/-Endpunkt. Unter anderem enthält die Antwort eine isReady-Eigenschaft. Diese Eigenschaft ist true, wenn das Projekt bereitgestellt und verfügbar ist, und andernfalls false.

Footnotes​

  1. https://www.mittwald.de/space-server ↩

  2. https://www.mittwald.de/prospace ↩