项目 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
ORGET /v1/projects
。- 当指定的页面令牌无效时,也会返回第一页。
last
和previous
字段不再受支持,也不再包含在响应有效内容中。
列表配置
GET /v1/projects/{project_id}/configs
- 此操作现在已分页。
- 如果未在
limit
查询参数中指定页面大小,那么将返回缺省值 10 条记录。- 最大页面大小为 100 条记录。
- 将返回第一个页面,但不包含请求 URL 中的令牌查询参数。 例如,
GET /v1/projects/{project_id}/configs/?limit=5
ORGET /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
ORGET /v1/projects/{project_id}/environments
。- 当指定的页面令牌无效时,也会返回第一页。
支持堆栈可部署体系结构的方法
试验版
添加了支持 堆栈可部署体系结构 的实验方法。
2023 年 11 月 6 日
最新更新包括以下重大更改:
- 所有方法的
configurations
response
模型不再使用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
值:
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_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
方法的响应模式。