실행 후크 검색
GET /accounts/{account_id}/core/v1/executionHooks/{executionHook_id}
저장된 Execution Hook API 리소스를 JSON 응답 본문에 반환합니다. 또한 현재 matchingCriteria 및 정의된 앱을 기반으로 matchingContainers와 matchingImages를 채웁니다.
매개변수
| 이름 | 유형 | 에서 | 필수 요소입니다 | 설명 |
|---|---|---|---|---|
account_id |
문자열 |
경로 |
참 |
포함하는 계정 리소스의 ID
|
executionHook_id |
문자열 |
경로 |
참 |
목록에 표시할 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.
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
유형 |
문자열 |
참 |
리소스의 미디어 유형입니다. 정의된 값은 다음과 같습니다.
|
버전 |
문자열 |
참 |
리소스 버전입니다. 정의된 값은 다음과 같습니다.
|
ID입니다 |
문자열 |
참 |
리소스의 전역 고유 식별자입니다. 정의된 값은 다음과 같습니다.
|
이름 |
문자열 |
참 |
사용자가 지정한 리소스 이름을 포함하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
hookType |
문자열 |
참 |
훅 유형을 정의하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
matchingCriteria |
참 |
실행 후크에 대한 일치 기준을 설명하는 JSON 객체의 JSON 배열입니다. 여러 개의 matchingCriteria가 지정된 경우 기준에 논리적 AND가 적용됩니다. 정의된 값은 다음과 같습니다.
|
|
matchingContainers |
거짓 |
정의된 앱 내에서 구성된 일치 기준과 일치하는 각 컨테이너의 JSON 객체로 구성된 JSON 배열입니다. |
|
matchingImages |
배열[string] |
거짓 |
일치하는 컨테이너 이미지에 대한 JSON 문자열의 JSON 배열입니다. 정의된 값은 다음과 같습니다.
|
작업 |
문자열 |
참 |
일치 기준이 충족될 경우 실행 후크가 실행할 작업을 나타내는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
단계 |
문자열 |
참 |
훅이 실행될 액션의 단계를 나타내는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
hookSourceID |
문자열 |
참 |
이 실행 후크를 통해 실행되는 후크 소스 ID가 포함된 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
인수 |
배열[string] |
거짓 |
소스에 대한 인수의 JSON 문자열로 구성된 JSON 배열입니다. 정의된 값은 다음과 같습니다.
|
appID |
문자열 |
거짓 |
이 후크가 연결된 애플리케이션의 관련 ID가 포함된 JSON 문자열입니다. 즉, 설정된 경우 다른 일치 기준이 포함됩니다. 정의된 값은 다음과 같습니다.
|
활성화됨 |
문자열 |
참 |
실행 후크가 활성화되었는지 여부를 나타내는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
설명 |
문자열 |
거짓 |
후크 소스에 대한 사용자 지정 설명을 포함하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
메타데이터 |
참 |
리소스와 연결된 클라이언트 및 서비스 지정 메타데이터입니다. 정의된 값은 다음과 같습니다.
|
응답 예
{
"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
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
유형 |
문자열 |
참 |
|
제목 |
문자열 |
참 |
|
세부 정보 |
문자열 |
참 |
|
상태 |
문자열 |
참 |
|
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
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
유형 |
문자열 |
참 |
|
제목 |
문자열 |
참 |
|
세부 정보 |
문자열 |
참 |
|
상태 |
문자열 |
참 |
|
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
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
유형 |
문자열 |
참 |
|
제목 |
문자열 |
참 |
|
세부 정보 |
문자열 |
참 |
|
상태 |
문자열 |
참 |
|
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
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
유형 |
문자열 |
참 |
|
제목 |
문자열 |
참 |
|
세부 정보 |
문자열 |
참 |
|
상태 |
문자열 |
참 |
|
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
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
유형 |
문자열 |
참 |
일치 기준 유형을 식별하는 JSON 문자열입니다. |
값 |
문자열 |
참 |
지정된 일치 유형에 대한 정규 표현식을 포함하는 JSON 문자열입니다. 정규 표현식 구문: https://github.com/google/re2/wiki/Syntax |
type_k8s_label
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
이름 |
문자열 |
참 |
|
값 |
문자열 |
참 |
matchingContainers
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
podName |
문자열 |
거짓 |
일치하는 컨테이너의 Pod 이름의 JSON 문자열입니다. |
podLabels |
배열["type_k8s_label"] |
거짓 |
일치하는 컨테이너의 파드 레이블을 담은 레이블 객체의 JSON 배열입니다. |
containerImage |
문자열 |
거짓 |
일치하는 컨테이너 이미지의 JSON 문자열입니다. |
containerName |
문자열 |
거짓 |
일치하는 컨테이너 이름의 JSON 문자열입니다. |
namespaceName |
문자열 |
거짓 |
일치하는 컨테이너의 Pod 네임스페이스 이름의 JSON 문자열입니다. |
type_astra_label
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
이름 |
문자열 |
참 |
|
값 |
문자열 |
참 |
type_astra_메타데이터_업데이트
리소스와 연결된 클라이언트 및 서비스 지정 메타데이터입니다. 정의된 값은 다음과 같습니다.
-
Astra 메타데이터 스키마를 준수합니다. 생성 시 지정하지 않으면 레이블이 없는 메타데이터 객체가 생성됩니다. 업데이트 시 지정하지 않으면 메타데이터 객체의 레이블인 creationTimestamp와 createdBy는 수정 없이 유지됩니다.
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
라벨 |
거짓 |
||
CreationTimestamp 를 클릭합니다 |
문자열 |
거짓 |
|
modificationTimestamp |
문자열 |
거짓 |
|
생성 시 |
문자열 |
거짓 |
|
modifiedBy |
문자열 |
거짓 |
invalidParams
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
이름 |
문자열 |
참 |
잘못된 쿼리 매개변수의 이름 |
이유 |
문자열 |
참 |
쿼리 매개변수가 유효하지 않은 이유 |