專案 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=5 OR GET /v1/projects
    • 當指定的頁面記號無效時,也會傳回第一頁。
  • 不再支援 lastprevious 欄位,也不再包含在回應有效負載中。

list-configs

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 現在支援刪除指定專案 ID 及 versionconfiguration。 請參閱 專案#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

配置新的 meta 資料

configurations 作業的 response 模型現在會在根目錄中定義新的 meta 資料。 如果在 configuration 上執行 approve 工作,則會在 response 有效負載中包括 approved_version 內容。 同樣地,如果在 configuration 上執行 deploy 工作,則 response 內文中提供 deployed_versionlast_deployed meta 資料。 執行 validation 工作會產生 meta 資料 last_validated,而執行 undeploy 工作會產生 response 中的 meta 資料 last_undeployed

2023 年 10 月 25 日

projectsconfigurations 作業 (例如 createupdate) 中,現在必須在 definition 封套中提供定義內容 (例如 namedescription )。 同樣地,這些內容現在只能在 createupdategetlist 作業的 response 有效負載中的 definition 區塊內使用。 這是最初於 2023 年 7 月 6 日釋出的突破性變更。 下列各節提供受這項更新影響之方法的相關資訊。

專案

create-project: POST /v1/projects

  • For both the request & response, the name, description, and destroy_on_delete are now wrapped inside a definition object.
  • 現在預期此端點的呼叫者會在此封套內提供定義內容,例如:
    • 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, the name, description, and destroy_on_delete are now wrapped inside a definition object.
  • 現在預期此端點的呼叫者會在此封套內提供定義內容,例如:
    • definition: {“name”: “test_update”, “description”: “This is an updated test project“}.
    • 請參閱 專案#update-project-request
  • 同樣地,在 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

  • For both request & response, the locator_id, name, labels, authorizations, compliance_profile, input, setting, description are now wrapped inside a definition object.
  • 現在預期此端點的呼叫者會在此封套內提供定義內容,例如:
    • 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 區塊中使用先前提及的內容。

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

  • For both request & response, the locator_id, name, labels, authorizations, compliance_profile, input, setting, description are now wrapped inside a definition object.
  • 現在預期此端點的呼叫者會在此封套內提供定義內容,例如:
    • 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_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 方法的回應綱目