IBM Cloud Docs
项目 API 更改日志

项目 API 更改日志

在此更改日志中,您可以了解 项目 API 的最新更改,改进和更新。 更改日志列出了已进行的更改,按这些更改的发布日期排序。 对现有 API 版本的更改旨在与现有客户机应用程序兼容。

2024 年 4 月 3 日

现在提供了项目 API v1.0.0。 请确保从 Beta 更新版本。

以下更改会影响 list 操作的分页。 有关更多信息,请参阅“项目 API”文档的 分页 部分。

list-项目

GET /v1/projects

  • 页面令牌查询参数已从 start 重命名为 token
    • 例如,调用 list-projects 操作已从 GET /v1/projects?limit=5&start={page_token} 更改为 GET /v1/projects?limit=5&token={page_token}
  • 将返回第一个页面,但不包含请求 URL 中的令牌查询参数。 例如,GET /v1/projects?limit=5 OR GET /v1/projects
    • 当指定的页面令牌无效时,也会返回第一页。
  • lastprevious 字段不再受支持,也不再包含在响应有效内容中。

列表配置

GET /v1/projects/{project_id}/configs

  • 此操作现在已分页。
  • 如果未在 limit 查询参数中指定页面大小,那么将返回缺省值 10 条记录。
    • 最大页面大小为 100 条记录。
  • 将返回第一个页面,但不包含请求 URL 中的令牌查询参数。 例如,GET /v1/projects/{project_id}/configs/?limit=5 OR GET /v1/projects/{project_id}/configs
    • 当指定的页面令牌无效时,也会返回第一页。

list-环境

GET /v1/projects/{project_id}/environments

  • 此操作现在已分页。
  • 如果未在 limit 查询参数中指定页面大小,那么将返回缺省值 10 条记录。
    • 最大页面大小为 100 条记录。
  • 返回了第一个页面,但请求 URL 中没有 token 查询参数。 例如,GET /v1/projects/{project_id}/environments/?limit=5 OR GET /v1/projects/{project_id}/environments
    • 当指定的页面令牌无效时,也会返回第一页。

支持堆栈可部署体系结构的方法

试验版

添加了支持 堆栈可部署体系结构 的实验方法。

2023 年 11 月 6 日

最新更新包括以下重大更改:

  • 所有方法的 configurations response 模型不再使用 pipeline_stateconfiguration 的所有状态信息都在 configuration 的规范模式中的扩充 state 属性中提供。

项目和配置更改

create-project: POST /v1/projects

  • resource_grouplocation 现在将嵌入到 request 有效内容中。 不再支持它们作为查询参数。

delete-config: PATCH /v1/projects/{project_id}/configs/{id}

  • 不推荐使用 draft_only 查询参数。
  • 该 API 现在支持删除指定项目标识和 versionconfiguration。 请参阅 projects#delete-config-version

已重命名的配置端点

以下配置端点将按如下所示重命名:

  • POST /v1/projects/{project_id}/configs/{id}/check 已更改为 POST /v1/projects/{project_id}/configs/{id}/validate
  • POST /v1/projects/{project_id}/configs/{id}/install 已更改为 POST /v1/projects/{project_id}/configs/{id}/deploy
  • POST /v1/projects/{project_id}/configs/{id}/uninstall 已更改为 POST /v1/projects/{project_id}/configs/{id}/undeploy

已替换的配置端点

drafts 方法已由 versions 操作替换,如下所示:

  • GET /v1/projects/{project_id}/configs/{config_id}/drafts 已更改为 GET /v1/projects/{project_id}/configs/{id}/versions
  • GET /v1/projects/{project_id}/configs/{config_id}/drafts/{version} 已更改为 GET /v1/projects/{project_id}/configs/{id}/versions/{version}

配置状态

configurations 的状态模型已序列化。 pipeline_state 不再可用,现在将扩充一个 state 属性以捕获 configuration 的所有可能状态。

以下是新的 state 值:

  • approved
  • deleted
  • deleting
  • deleting_failed
  • discarded
  • deployed
  • deploying_failed
  • deploying
  • superceded
  • undeploying
  • undeploying_failed
  • validated
  • validating
  • validating_failed

所有 configuration 端点都在 response 模型中包含此 state 属性。 有关示例,请参阅 projects#get-config-version-response

配置新元数据

configurations 操作的 response 模型现在在根中定义新的元数据。 如果在 configuration 上运行了 approve 作业,那么 approved_version 属性将包含在 response 有效内容中。 同样,如果 deploy 作业在 configuration 上运行,那么 deployed_versionlast_deployed 元数据在 response 主体中可用。 运行 validation 作业将生成元数据 last_validated,而运行 undeploy 作业将生成 response 中的元数据 last_undeployed

2023 年 10 月 25 日

projectsconfigurations 操作 (例如 createupdate) 中,现在必须在 definition 包装器中提供 namedescription 之类的定义属性。 类似地,这些属性现在仅在 createupdategetlist 操作的 response 有效内容中的 definition 块内可用。 这是最初于 2023 年 7 月 6 日发布的一个突破性变化。 以下部分提供了有关受此更新影响的方法的更多信息。

项目

create-project: POST /v1/projects

  • 对于 requestresponsenamedescriptiondestroy_on_delete 现在都打包在 definition 对象中。
  • 现在期望此端点的调用者在此包装器中提供定义属性,例如:
    • definition: {“name”: “test”, “description”: “This is a test project”, “destroy_on_delete”: false}.
      • 如果未提供 destroy_on_delete,那么将在项目创建操作上指定缺省值 true
    • 请参阅 projects#create-project-request
  • 同样,在 response 主体中,先前提到的属性现在在 definition 块中可用。

update-project: PATCH /v1/projects/{id}

  • 对于 requestresponsenamedescriptiondestroy_on_delete 现在都打包在 definition 对象中。
  • 现在期望此端点的调用者在此包装器中提供定义属性,例如:
  • 同样,在 response 主体中,先前提到的属性现在在 definition 块中可用。

get-projects: GET /v1/projects/{id}

  • 在此操作的 response 中,namedescriptiondestroy_on_delete 现在打包在 definition 块中。

list-project: GET /v1/projects

  • response 数组中返回的每个项目都会将 namedescriptiondestroy_on_delete 属性包装在 definition 块中。

配置

create-config: POST /v1/projects/{project_id}/configs

  • 对于 requestresponse,现在将 locator_idnamelabelsauthorizationscompliance_profileinputsettingdescription 包装在 definition 对象中。
  • 现在期望此端点的调用者在此包装器中提供定义属性,例如:
    • definition: {“name”: “test”, “description”: “This is a test config”, “locator_id”: “1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.cd596f95-95a2-4f21-9b84-477f21fd1e95-global”}.
    • 请参阅 projects#create-config-request
  • 同样,在 response 主体中,先前提到的属性现在在 definition 块中可用。

update-config: PATCH /v1/projects/{project_id}/configs/{id}

  • 对于 requestresponse,现在将 locator_idnamelabelsauthorizationscompliance_profileinputsettingdescription 包装在 definition 对象中。
  • 现在期望此端点的调用者在此包装器中提供定义属性,例如:
    • definition: {“name”: “test”, “description”: “This is a test config”, “locator_id”: “1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.cd596f95-95a2-4f21-9b84-477f21fd1e95-global”}.
    • 请参阅 projects#update-config-request
  • 类似地,在 response 主体中,先前提及的属性将移动到 definition 块中。

get-config: GET /v1/projects/{id}

  • 在此操作的 response 中,locator_idnamelabelsauthorizationscompliance_profileinputsettingdescriptionsetting 现在打包在 definition 对象中。

list-configs: GET /v1/projects/{project_id}/configs

2023 年 7 月 6 日

现在,所有方法的响应模型都在 state 值中强制使用小写的蛇大小写格式。 当您调用项目和配置端点时,应该在响应中使用此格式。 此更新是一个重大更改。

项目 state 值现在可以是 readydeletingdeleting_failed。 有关示例,请参阅 update-project 方法的响应模式

配置 state 值现在可以是 deleteddeletingdeleting_failedinstalledinstalled_failedinstallingnot_installeduninstallinguninstalling_failedactive。 有关示例,请参阅 get-config 方法的响应模式