项目 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=5ORGET /v1/projects。- 当指定的页面令牌无效时,也会返回第一页。
last和previous字段不再受支持,也不再包含在响应有效内容中。
列表配置
GET /v1/projects/{project_id}/configs
- 此操作现在已分页。
- 如果未在
limit查询参数中指定页面大小,那么将返回缺省值 10 条记录。- 最大页面大小为 100 条记录。
- 将返回第一个页面,但不包含请求 URL 中的令牌查询参数。 例如,
GET /v1/projects/{project_id}/configs/?limit=5ORGET /v1/projects/{project_id}/configs。- 当指定的页面令牌无效时,也会返回第一页。
list-环境
GET /v1/projects/{project_id}/environments
- 此操作现在已分页。
- 如果未在
limit查询参数中指定页面大小,那么将返回缺省值 10 条记录。- 最大页面大小为 100 条记录。
- 返回了第一个页面,但请求 URL 中没有
token查询参数。 例如,GET /v1/projects/{project_id}/environments/?limit=5ORGET /v1/projects/{project_id}/environments。- 当指定的页面令牌无效时,也会返回第一页。
支持堆栈可部署体系结构的方法
试验版
添加了支持 堆栈可部署体系结构 的实验方法。
2023 年 11 月 6 日
最新更新包括以下重大更改:
- 所有方法的
configurationsresponse模型不再使用pipeline_state。configuration的所有状态信息都在configuration的规范模式中的扩充state属性中提供。
项目和配置更改
create-project: POST /v1/projects
resource_group和location现在将嵌入到request有效内容中。 不再支持它们作为查询参数。
delete-config: PATCH /v1/projects/{project_id}/configs/{id}
- 不推荐使用
draft_only查询参数。 - 该 API 现在支持删除指定项目标识和
version的configuration。 请参阅 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 值:
approveddeleteddeletingdeleting_faileddiscardeddeployeddeploying_faileddeployingsupercededundeployingundeploying_failedvalidatedvalidatingvalidating_failed
所有 configuration 端点都在 response 模型中包含此 state 属性。 有关示例,请参阅 projects#get-config-version-response。
配置新元数据
configurations 操作的 response 模型现在在根中定义新的元数据。 如果在 configuration 上运行了 approve 作业,那么 approved_version 属性将包含在 response 有效内容中。 同样,如果 deploy 作业在 configuration 上运行,那么 deployed_version 和 last_deployed 元数据在 response 主体中可用。 运行 validation 作业将生成元数据 last_validated,而运行 undeploy 作业将生成 response 中的元数据 last_undeployed。
2023 年 10 月 25 日
在 projects 和 configurations 操作 (例如 create 和 update) 中,现在必须在 definition 包装器中提供 name 和 description 之类的定义属性。 类似地,这些属性现在仅在 create,update,get 和 list 操作的 response 有效内容中的 definition 块内可用。 这是最初于 2023 年 7 月 6 日发布的一个突破性变化。 以下部分提供了有关受此更新影响的方法的更多信息。
项目
create-project: POST /v1/projects
- 对于
request和response,name,description和destroy_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}
- 对于
request和response,name,description和destroy_on_delete现在都打包在definition对象中。 - 现在期望此端点的调用者在此包装器中提供定义属性,例如:
definition: {“name”: “test_update”, “description”: “This is an updated test project“}.- 请参阅 projects#update-project-request。
- 同样,在
response主体中,先前提到的属性现在在definition块中可用。
get-projects: GET /v1/projects/{id}
- 在此操作的
response中,name,description和destroy_on_delete现在打包在definition块中。
list-project: GET /v1/projects
response数组中返回的每个项目都会将name,description和destroy_on_delete属性包装在definition块中。
配置
create-config: POST /v1/projects/{project_id}/configs
- 对于
request和response,现在将locator_id,name,labels,authorizations,compliance_profile,input,setting和description包装在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块中可用。setting属性也包含在definition块中。- 请参阅 项目#create-config-response。
update-config: PATCH /v1/projects/{project_id}/configs/{id}
- 对于
request和response,现在将locator_id,name,labels,authorizations,compliance_profile,input,setting和description包装在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_id,name,labels,authorizations,compliance_profile,input,setting,description和setting现在打包在definition对象中。
list-configs: GET /v1/projects/{project_id}/configs
- 在此操作的
response中,name和description现在打包在definition对象中。
2023 年 7 月 6 日
现在,所有方法的响应模型都在 state 值中强制使用小写的蛇大小写格式。 当您调用项目和配置端点时,应该在响应中使用此格式。 此更新是一个重大更改。
项目 state 值现在可以是 ready,deleting 和 deleting_failed。 有关示例,请参阅 update-project 方法的响应模式。
配置 state 值现在可以是 deleted,deleting,deleting_failed,installed,installed_failed,installing,not_installed,uninstalling,uninstalling_failed 和 active。 有关示例,请参阅 get-config 方法的响应模式。