プロジェクト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をエクスポートするには、以下の手順を実行します:
- IBM Cloud コンソールで、 「ナビゲーション・メニュー」 アイコン
> 「プロジェクト」 をクリックします。
- プロジェクトダッシュボードから、アクションアイコン
> JSONのエクスポートをクリックします。
- モーダルから、 「エクスポート」 をクリックします。
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}"