專案 API 變更日誌
在此變更日誌中,您可以瞭解 專案 API 的最新變更、改進及更新。 變更日誌會列出已進行的變更,並依其發行日期排序。 現有 API 版本的變更設計為與現有用戶端應用程式相容。
2024 年 4 月 3 日
現在提供專案 API v1.0.0 版。 請確定從測試版更新您的版本。
下列變更會影響 list 作業的分頁。 如需相關資訊,請參閱專案 API 文件的 分頁 小節。
清單-專案
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欄位,也不再包含在回應有效負載中。
list-configs
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 現在支援刪除指定專案 ID 及
version的configuration。 請參閱 專案#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。
配置新的 meta 資料
configurations 作業的 response 模型現在會在根目錄中定義新的 meta 資料。 如果在 configuration 上執行 approve 工作,則會在 response 有效負載中包括 approved_version 內容。 同樣地,如果在 configuration 上執行 deploy 工作,則 response 內文中提供 deployed_version 及 last_deployed meta 資料。 執行 validation 工作會產生 meta 資料 last_validated,而執行 undeploy 工作會產生 response 中的 meta 資料 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
- For both the
request&response, thename,description, anddestroy_on_deleteare now wrapped inside adefinitionobject. - 現在預期此端點的呼叫者會在此封套內提供定義內容,例如:
definition: {“name”: “test”, “description”: “This is a test project”, “destroy_on_delete”: false}.- 如果未提供
destroy_on_delete,則會在專案建立作業上指派預設值true。
- 如果未提供
- 請參閱 專案#create-project-request。
- 同樣地,在
response主體中,現在可以在definition區塊中使用先前提及的內容。
update-project: PATCH /v1/projects/{id}
- For both the
request&response, thename,description, anddestroy_on_deleteare now wrapped inside adefinitionobject. - 現在預期此端點的呼叫者會在此封套內提供定義內容,例如:
definition: {“name”: “test_update”, “description”: “This is an updated test project“}.- 請參閱 專案#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
- For both
request&response, thelocator_id,name,labels,authorizations,compliance_profile,input,setting,descriptionare now wrapped inside adefinitionobject. - 現在預期此端點的呼叫者會在此封套內提供定義內容,例如:
definition: {“name”: “test”, “description”: “This is a test config”, “locator_id”: “1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.cd596f95-95a2-4f21-9b84-477f21fd1e95-global”}.- 請參閱 專案#create-config-request。
- 同樣地,在
response主體中,現在可以在definition區塊中使用先前提及的內容。setting內容也包含在definition區塊中。- 請參閱 專案#create-config-response。
update-config: PATCH /v1/projects/{project_id}/configs/{id}
- For both
request&response, thelocator_id,name,labels,authorizations,compliance_profile,input,setting,descriptionare now wrapped inside adefinitionobject. - 現在預期此端點的呼叫者會在此封套內提供定義內容,例如:
definition: {“name”: “test”, “description”: “This is a test config”, “locator_id”: “1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.cd596f95-95a2-4f21-9b84-477f21fd1e95-global”}.- 請參閱 專案#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 方法的回應綱目。