IBM Cloud Docs
プロジェクトJSON

プロジェクトJSON

プロジェクト内の各構成は、 project.json というファイルに JSON として保存されます。 プロジェクトでは、 project.json に保存されている構成の変更に対するガバナンスが必要です。たとえば、承認が必要であり、変更を保存する前に自動チェックに合格していることを確認する必要があります。

Project.jsonファイルには何が含まれていますか?

project.json ファイルにはいくつかの部分があります。

  • プロジェクト ID と説明。ユーザー定義の値です。
  • プロジェクト メタデータには、プロジェクト CRN、場所、リソース グループ、状態が含まれます。
  • デプロイ可能なアーキテクチャとすべての入力値への参照を含む構成の配列。

最初の project.json は、コンソールの プロジェクト ページ から作成することをお勧めします。 これにより、編集可能な初期の project.json ファイルが提供されます。 コンソールでプロジェクトを作成すると、 project.json が自動的に作成されます。

プロジェクトメタデータ

プロジェクトに関連してユーザーが対処する必要のあるイベントが発生した場合、プロジェクト メタデータには cumulative_needs_attention_view が含まれることがあります。プロジェクトがEvent Notificationsのソースとして構成されている場合、 event_notifications_crn もオプションの値です。 詳細については、 「プロジェクトのイベント通知を有効にする」 を参照してください。

  ...
  "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::"
  }
  ...

プロジェクトの ID と CRN は編集できず、 IBM Cloudによって保存されます。 また、プロジェクト インスタンス自体のタグは、グローバル検索とタグ付けに保存されます。

構成

プロジェクト内の検証および承認された各構成には、configs 配列内にオブジェクトがあります。 各構成オブジェクトには、名前、入力の配列、およびタイプがあります。 タイプがIaCテンプレートの場合、カタログ locator_id が含まれます。

...
"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"
        }
      ]
   ]
...

コンソールを使用してプロジェクトJSONをエクスポートする

プロジェクトを操作しているユーザーは、プロジェクト JSON をエクスポートして、 IBM Cloudプロジェクト サービスの外部にプロジェクト情報をバックアップできます。

独自のGitリポジトリでプロジェクトを管理することに興味がありますか? プロジェクト JSON をエクスポートしてプロジェクトを手動で管理することもできますが、プロジェクトをGitリポジトリに直接統合することもできます。 詳細については、 「プロジェクトGitリポジトリの統合」 とを参照してください。

プロジェクトのJSONをエクスポートするには、以下の手順を実行します:

  1. IBM Cloud コンソールで、 「ナビゲーション・メニュー」 アイコン 「ナビゲーション・メニュー」アイコン > 「プロジェクト」 をクリックします。
  2. プロジェクトダッシュボードから、アクションアイコン> JSONのエクスポートをクリックします。
  3. モーダルから、 「エクスポート」 をクリックします。

CLI を使用して JSON 出力形式を設定する

コマンドラインで次の --output json オプションを使用すると、コマンドの出力を JSON に設定できます。

--output json

CLI を使用してプロジェクト JSON をエクスポートする

プロジェクトを操作しているユーザーは、プロジェクト JSON をエクスポートして、 IBM Cloudプロジェクト サービスの外部にプロジェクト情報をバックアップできます。

独自のGitリポジトリでプロジェクトを管理することに興味がありますか? プロジェクト JSON をエクスポートしてプロジェクトを手動で管理することもできますが、プロジェクトをGitリポジトリに直接統合することもできます。 詳細については、 「プロジェクトGitリポジトリの統合」 とを参照してください。

CLI を使用してプロジェクト JSON をエクスポートするには、次の ibmcloud project get コマンドを実行します。

ibmcloud project get --id ID

コマンドの例とコマンド パラメータの詳細については、 ibmcloud project get を参照してください。

APIを使用してプロジェクトJSONをエクスポートする

プロジェクトを操作しているユーザーは、プロジェクト JSON をエクスポートして、 IBM Cloudプロジェクト サービスの外部にプロジェクト情報をバックアップできます。

独自のGitリポジトリでプロジェクトを管理することに興味がありますか? プロジェクト JSON をエクスポートしてプロジェクトを手動で管理することもできますが、プロジェクトをGitリポジトリに直接統合することもできます。 詳細については、 「プロジェクトGitリポジトリの統合」 とを参照してください。

次のサンプル リクエストに示すように、 Projects APIを呼び出すことで、プロジェクト JSON をプログラムでエクスポートできます。

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