项目 JSON
项目中的每个配置都以 JSON 形式存储在名为 project.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存储库集成。
您可以通过调用 项目 API以编程方式导出项目 JSON,如以下示例请求所示:
curl -X GET --location --header "Authorization: Bearer {iam_token}" \
--header "Accept: application/json" \
"{base_url}/v1/projects/{id}"