Skip to main content
Astra Automation
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

擷取執行掛鉤

GET /accounts/{account_id}/core/v1/executionHooks/{executionHook_id}

在 JSON 回應主體中傳回已儲存的 Execution Hook API 資源。同時根據目前的 matchingCriteria 和已定義的應用程式,填入 matchingContainers 及 matchingImages。

參數

Name 類型 必要 說明

account_id

字串

路徑

True

包含帳戶資源的 ID

  • 範例:{{.Account}}

executionHook_id

字串

路徑

True

要列出的 executionHook 集合的 ID

回應

Status: 200, Returns the stored Execution Hook API resource in the JSON response body. Also populates matchingContainers and matchingImages based on the current matchingCriteria and the defined app.
Name 類型 必要 說明

類型

字串

True

資源的媒體類型。定義的值為:

  • "應用程式/astra-executionHook"

版本

字串

True

資源版本。已定義值包括:

  • "1.0"

  • "1.1"

  • "1.2"

  • "1.3"

ID

字串

True

資源的全域唯一識別碼。定義的值為:

  • 符合 UUIDv4 架構

姓名

字串

True

包含使用者指定資源名稱的 JSON 字串。已定義的值包括:

  • 最短長度:1

  • 最大長度:63 名稱在所有執行掛鉤資源中必須是唯一的。

hookType

字串

True

定義勾點類型的 JSON 字串。定義的值包括:

  • "netapp" - NetApp 提供的執行鉤子。

  • 「custom」- 與特定的應用程式 ID 綁定。具有 hookType 「netapp」的執行鉤子資源為唯讀。

matchingCriteria

陣列["matchingCriteria"]

True

描述執行鉤子匹配條件的 JSON 物件 JSON 陣列。當指定多個 matchingCriteria 時,會對條件套用邏輯 AND。定義的值為:

  • 最少項目數:0

  • 最多項目數:10

matchingContainers

陣列["matchingContainers"]

錯誤

JSON 陣列,其中包含定義應用程式中符合已設定比對條件的每個容器的 JSON 物件。

matchingImages

陣列[string]

錯誤

符合容器映像的 JSON 字串 JSON 陣列。定義的值為:

  • 最少項目數:0

  • 項目上限:4095

  • 最短長度:1

  • 最大長度:255

動作

字串

True

JSON 字串,指示在符合條件的情況下,執行掛鉤將執行哪個動作。定義的值為:

  • 「Snapshot」

  • 「備份」

  • 「還原」

  • 「容錯移轉」

階段

字串

True

JSON 字串,指示掛鉤將在動作的哪個階段執行。已定義的值包括:

  • "pre" - 執行鉤子將在指定操作之前執行。

  • "post" - 執行掛鉤將在指定動作之後執行。動作 "snapshot" 的值為 "pre" 和 "post"。動作 "backup" 的值為 "pre" 和 "post"。動作 "restore" 的值為 "post"。動作 "failover" 的值為 "post"。

hookSourceID

字串

True

包含透過此執行掛鉤執行的掛鉤來源 ID 的 JSON 字串。已定義的值包括:

  • 符合 Astra 識別符架構

引數

陣列[string]

錯誤

來源引數的 JSON 字串 JSON 陣列。定義的值為:

  • 最少項目數:0

  • 項目上限:16

  • 最短長度:0

  • 最大長度:127

appID

字串

錯誤

包含此鉤子所關聯應用程式 ID 的 JSON 字串。本質上,其他匹配條件(如果已設定)。已定義的值包括:

  • 符合 Astra 識別符架構

已啟用

字串

True

指示執行掛鉤是否已啟用的 JSON 字串。已定義的值包括:

  • "true" - 執行鉤子已啟用,並將按指定方式執行。

  • 「false」-執行鉤子已停用,永遠無法運作。預設值為「true」。

描述

字串

錯誤

包含使用者指定的 hook 來源描述的 JSON 字串。已定義的值包括:

  • 最短長度:0

  • 最大長度:511

中繼資料

"type_astra_metadata_update"

True

與資源相關聯的用戶端和服務指定中繼資料。定義的值為:

  • 遵循 Astra Metadata Schema。如果在建立時未指定,則建立的元資料物件將不帶任何標籤。如果在更新時未指定,元資料物件的標籤、creationTimestamp 和 createdBy 將保持不變。

範例回應
{
  "type": "application/astra-executionHook",
  "version": "1.3",
  "id": "5f7e2e31-280d-5984-a28b-2d19ab5b77c0",
  "name": "Payroll",
  "hookType": "custom",
  "matchingCriteria": [
    {
      "type": "podLabel",
      "value": "^env=production$"
    },
    {
      "type": "containerName",
      "value": "^payroll-master"
    }
  ],
  "matchingImages": [
    "docker.io/bitnami/payroll:3.7.8",
    "docker.io/bitnami/payroll:4.1.2"
  ],
  "matchingContainers": [
    {
      "namespaceName": "payroll-east",
      "podName": "payroll-release3-7",
      "podLabels": [
        {
          "name": "env",
          "value": "production"
        },
        {
          "name": "app.kubernetes.io/managed-by",
          "value": "Helm"
        }
      ],
      "containerName": "payroll-master-0",
      "containerImage": "docker.io/bitnami/payroll:3.7.8"
    },
    {
      "namespaceName": "payroll-east",
      "podName": "payroll-release3-7",
      "podLabels": [
        {
          "name": "env",
          "value": "production"
        },
        {
          "name": "app.kubernetes.io/managed-by",
          "value": "Helm"
        }
      ],
      "containerName": "payroll-master-1",
      "containerImage": "docker.io/bitnami/payroll:3.7.8"
    }
  ],
  "action": "snapshot",
  "stage": "pre",
  "hookSourceID": "50e89023-ba84-435d-bb47-1833f4c250ff",
  "arguments": [
    "freeze"
  ],
  "appID": "7be5ae7c-151d-4230-ac39-ac1d0b33c2a9",
  "enabled": "true",
  "description": "Payroll production hook",
  "metadata": {
    "labels": [],
    "creationTimestamp": "2022-10-06T20:58:16.305662Z",
    "modificationTimestamp": "2022-10-06T20:58:16.305662Z",
    "createdBy": "8f84cf09-8036-51e4-b579-bd30cb07b269"
  }
}

回應

Status: 401, Unauthorized
Name 類型 必要 說明

類型

字串

True

標題

字串

True

詳細資料

字串

True

狀態

字串

True

correlationID

字串

錯誤

範例回應
{
  "type": "https://astra.netapp.io/problems/3",
  "title": "Missing bearer token",
  "detail": "The request is missing the required bearer token.",
  "status": "401"
}

回應

Status: 400, Bad request
Name 類型 必要 說明

類型

字串

True

標題

字串

True

詳細資料

字串

True

狀態

字串

True

correlationID

字串

錯誤

invalidParams

陣列["invalidParams"]

錯誤

無效查詢參數清單

範例回應
{
  "type": "https://astra.netapp.io/problems/5",
  "title": "Invalid query parameters",
  "detail": "The supplied query parameters are invalid.",
  "status": "400"
}

回應

Status: 403, Forbidden
Name 類型 必要 說明

類型

字串

True

標題

字串

True

詳細資料

字串

True

狀態

字串

True

correlationID

字串

錯誤

範例回應
{
  "type": "https://astra.netapp.io/problems/11",
  "title": "Operation not permitted",
  "detail": "The requested operation isn't permitted.",
  "status": "403"
}

錯誤

Status: 404, Not found
Name 類型 必要 說明

類型

字串

True

標題

字串

True

詳細資料

字串

True

狀態

字串

True

correlationID

字串

錯誤

範例錯誤回應
{
  "type": "https://astra.netapp.io/problems/2",
  "title": "Collection not found",
  "detail": "The collection specified in the request URI wasn't found.",
  "status": "404"
}

定義

請參閱定義

matchingCriteria

Name 類型 必要 說明

類型

字串

True

識別比對條件類型的 JSON 字串。

字串

True

包含用於比對指定比對類型的正規表示式的 JSON 字串。正規表示式語法: https://github.com/google/re2/wiki/Syntax

type_k8s_label

Name 類型 必要 說明

姓名

字串

True

字串

True

matchingContainers

Name 類型 必要 說明

podName

字串

錯誤

符合容器 pod 名稱的 JSON 字串。

podLabels

陣列["type_k8s_label"]

錯誤

符合容器 pod 標籤的標籤物件 JSON 陣列。

containerImage

字串

錯誤

相符容器映像的 JSON 字串。

containerName

字串

錯誤

符合容器名稱的 JSON 字串。

namespaceName

字串

錯誤

符合容器的 Pod 命名空間名稱的 JSON 字串。

type_astra_label

Name 類型 必要 說明

姓名

字串

True

字串

True

type_astra_metadata_update

與資源相關聯的用戶端和服務指定中繼資料。定義的值為:

  • 遵循 Astra Metadata Schema。如果在建立時未指定,則建立的元資料物件將不帶任何標籤。如果在更新時未指定,元資料物件的標籤、creationTimestamp 和 createdBy 將保持不變。

Name 類型 必要 說明

標籤

陣列["type_astra_label"]

錯誤

建立時間戳記

字串

錯誤

修改時間戳記

字串

錯誤

建立者

字串

錯誤

modifiedBy

字串

錯誤

invalidParams

Name 類型 必要 說明

姓名

字串

True

無效查詢參數的名稱

原因

字串

True

查詢參數無效的原因