Projekt JSON

Jede Konfiguration in einem Projekt wird als JSON in einer Datei namens project.json gespeichert. Projekte erfordern Kontrolle über Konfigurationsänderungen, die in project.json gespeichert sind. So müssen zum Beispiel Genehmigungen eingeholt werden und es muss sichergestellt werden, dass vor dem Speichern der Änderungen automatisierte Prüfungen durchgeführt werden.

Was befindet sich in meiner Datei Project.json ?

Die Datei project.json besteht aus mehreren Teilen:

  • Die Projekt-ID und -Beschreibung sind benutzerdefinierte Werte.
  • Die Projektmetadaten, darunter Projekt-CRN, Standort, Ressourcengruppe und Status.
  • Ein Array von Konfigurationen, das einen Verweis auf die bereitstellbare Architektur und alle Eingabewerte enthält.

Es wird empfohlen, Ihren anfänglichen project.json auf der Seite „Projekte “ in der Konsole zu erstellen. Dadurch wird eine erste project.json-Datei bereitgestellt, die bearbeitet werden kann. Wenn Sie in der Konsole ein Projekt erstellen, wird project.json automatisch für Sie erstellt.

Projektmetadaten

Die Projektmetadaten können cumulative_needs_attention_view enthalten, wenn es Ereignisse im Zusammenhang mit dem Projekt gibt, auf die der Benutzer nun reagieren muss. event_notifications_crn ist ebenfalls ein optionaler Wert, wenn das Projekt als Quelle für Event Notifications konfiguriert ist. Weitere Informationen finden Sie unter Aktivieren von Ereignisbenachrichtigungen für Projekte.

  ...
  "id": "cfbf9050-ab8e-ac97-b01b-ab5af830be8a",
  "name": "CRA Test",
  "description": "",
  "metadata": {
    "crn": "crn:v1:staging:public:project:us-south:a/<account_id>:cfbf9050-ab8e-ac97-b01b-ab5af830be8a::",
    "location": "us-south",
    "resource_group": "Default",
    "state": "READY",
    "cumulative_needs_attention_view": [
      {
        "event": "config.defn.update"
      },
      {
        "event_id": "489f0090-6d7c-4af5-8f20-9106543e4974"
      },
      {
        "config_id": "069ab83e-5016-4bf2-bd50-cc95cf678293"
      },
      {
        "config_version": 1
      }
    ],
    "event_notifications_crn": "crn:v1:staging:public:event-notifications:us-south:a/<account_id>:instance-id::"
  }
  ...

Die ID und CRN eines Projekts können nicht bearbeitet werden und werden von IBM Cloud gespeichert. Außerdem werden Tags der Projektinstanz selbst in der globalen Suche und Markierung gespeichert.

Konfigurationen

Jede validierte und genehmigte Konfiguration in einem Projekt verfügt über ein Objekt im Konfigurations-Array. Jedes Konfigurationsobjekt hat einen Namen, ein Array von Eingaben und einen Typ. Wenn der Typ eine IaC Vorlage ist, ist ein Katalog locator_id enthalten.

...
"configs": [
    {
      "id": "cfbf9050-ab8e-ac97-b01b-ab5af830be8a",
      "name": "my-deployment",
      "description": "A microservice to deploy on top of ACME infrastructure.",
      "locator_id": "1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.018edf04-e772-4ca2-9785-03e8e03bef72-global",
      "type": "terraform_template",
      "input": [
        {
          "name": "cos_bucket_name",
          "type": "string",
          "required": true,
          "default": "sample-cos-bucket",
          "value": ""
        },
        {
          "name": "ibmcloud_api_key",
          "type": "password",
          "required": true,
          "default": "__NOT_SET__",
          "value": ""
        },
      ],
      "output": [
        {
          "name": "resource_group_id"
        },
        {
          "name": "logdna_id"
        }
      ]
   ]
...

Exportieren des Projekt-JSON mithilfe der Konsole

Als Benutzer, der mit Projekten arbeitet, können Sie das Projekt-JSON exportieren, um die Projektinformationen außerhalb des IBM Cloud-Projektdienstes zu sichern.

Möchten Sie Ihr Projekt in Ihrem eigenen Git Repository verwalten? Sie können das Projekt-JSON exportieren, um Ihr Projekt manuell zu verwalten, Sie können Ihr Projekt aber auch direkt in ein Git Repository integrieren. Weitere Informationen finden Sie unter Integrieren eines Projekts in ein Git Repository.

Um das Projekt JSON zu exportieren, führen Sie die folgenden Schritte aus:

  1. Klicken Sie in der IBM Cloud-Konsole auf das Navigationsmenüsymbol Navigationsmenüsymbol > Projekte.
  2. Klicken Sie im Projekt-Dashboard auf das Symbol Aktionen Symbol > JSON exportieren
  3. Klicken Sie in dem Modal auf Exportieren.

Festlegen des JSON-Ausgabeformats mithilfe der CLI

Mithilfe der folgenden Option --output json in der Befehlszeile können Sie die Ausgabe eines Befehls auf JSON festlegen:

--output json

Exportieren des Projekt-JSON mithilfe der CLI

Als Benutzer, der mit Projekten arbeitet, können Sie das Projekt-JSON exportieren, um die Projektinformationen außerhalb des IBM Cloud-Projektdienstes zu sichern.

Möchten Sie Ihr Projekt in Ihrem eigenen Git Repository verwalten? Sie können das Projekt-JSON exportieren, um Ihr Projekt manuell zu verwalten, Sie können Ihr Projekt aber auch direkt in ein Git Repository integrieren. Weitere Informationen finden Sie unter Integrieren eines Projekts in ein Git Repository.

Um das Projekt-JSON mithilfe der CLI zu exportieren, führen Sie den folgenden ibmcloud project get-Befehl aus:

ibmcloud project get --id ID

Ein Beispielbefehl und weitere Informationen zu den Befehlsparametern finden Sie unter ibmcloud project get.

Exportieren des Projekt-JSON mithilfe der API

Als Benutzer, der mit Projekten arbeitet, können Sie das Projekt-JSON exportieren, um die Projektinformationen außerhalb des IBM Cloud-Projektdienstes zu sichern.

Möchten Sie Ihr Projekt in Ihrem eigenen Git Repository verwalten? Sie können das Projekt-JSON exportieren, um Ihr Projekt manuell zu verwalten, Sie können Ihr Projekt aber auch direkt in ein Git Repository integrieren. Weitere Informationen finden Sie unter Integrieren eines Projekts in ein Git Repository.

Sie können das Projekt-JSON programmgesteuert exportieren, indem Sie die Projekte-API wie in der folgenden Beispielanforderung gezeigt aufrufen:

curl -X GET --location --header "Authorization: Bearer {iam_token}" \
  --header "Accept: application/json" \  
  "{base_url}/v1/projects/{id}"