앱 수정
PUT /accounts/{account_id}/k8s/v2/apps/{app_id}
저장된 리소스 전체를 제공된 JSON 요청 본문으로 교체하되, 사용자가 수정할 수 없는 키 값은 유지합니다.
매개변수
| 이름 | 유형 | 에서 | 필수 요소입니다 | 설명 |
|---|---|---|---|---|
account_id |
문자열 |
경로 |
참 |
포함하는 계정 리소스의 ID
|
app_id |
문자열 |
경로 |
참 |
목록에 표시할 앱 컬렉션의 ID |
forceUpdate |
문자열 |
헤더 |
거짓 |
파괴적인 덮어쓰기를 허용하는 플래그입니다. 제자리 복원(IPR)을 요청할 때만 이 플래그를 포함하십시오.
|
요청 본문
저장된 리소스 전체를 제공된 JSON 요청 본문으로 교체하되, 사용자가 수정할 수 없는 키 값은 유지합니다.
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
유형 |
문자열 |
참 |
리소스의 미디어 유형입니다. 정의된 값은 다음과 같습니다.
|
버전 |
문자열 |
참 |
리소스 버전입니다. 정의된 값은 다음과 같습니다.
|
ID입니다 |
문자열 |
거짓 |
리소스의 전역 고유 식별자입니다. 정의된 값은 다음과 같습니다.
|
이름 |
문자열 |
거짓 |
애플리케이션 이름을 포함하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
clusterScopedResources |
거짓 |
이 앱의 일부인 클러스터 범위 리소스를 설명하는 JSON 객체의 JSON 배열입니다 |
|
namespaceScopedResources |
거짓 |
이 앱의 일부인 리소스를 설명하는 JSON 객체의 JSON 배열 |
|
lastResourceCollectionTimestamp |
문자열 |
거짓 |
마지막 리소스 수집이 수행된 타임스탬프가 포함된 JSON 문자열입니다. 이 애플리케이션에 대해 아직 리소스 수집이 수행되지 않은 경우 이 필드는 설정되지 않습니다. 정의된 값은 다음과 같습니다.
|
상태 |
문자열 |
거짓 |
애플리케이션의 작동 상태를 나타내는 값을 포함하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
stateTransitions |
거짓 |
JSON 객체의 JSON 배열로, 각 객체는 지정된 상태에서 허용되는 상태 전환 집합을 나타냅니다. 각 JSON 객체는 "from"과 "to" 필드를 포함하며, "from" 값은 상태의 이름이고 "to" 값은 허용되는 대상 상태의 배열입니다. |
|
stateDetails |
거짓 |
현재 상태에 대한 추가 정보(현재 상태에 도달한 이유 포함)를 나열하는 JSON 객체의 JSON 배열입니다. 정보가 없는 경우 이 배열은 비어 있습니다. 정의된 값은 다음과 같습니다.
|
|
protectionState |
문자열 |
거짓 |
애플리케이션의 보호 상태를 나타내는 값을 포함하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
protectionStateDetails |
거짓 |
현재 보호 상태에 대한 추가 정보(현재 상태에 도달한 이유 포함)를 나열하는 JSON 객체의 JSON 배열입니다. 정보가 없는 경우 이 배열은 비어 있습니다. 정의된 값은 다음과 같습니다.
|
|
appDetectedType |
문자열 |
거짓 |
감지된 특정 애플리케이션 유형을 고유하게 나타내는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
네임스페이스 |
배열[string] |
거짓 |
애플리케이션이 실행되는 네임스페이스 이름을 포함하는 JSON 문자열의 JSON 배열입니다. 정의된 값은 다음과 같습니다.
|
namespaceMapping |
거짓 |
JSON 객체의 JSON 배열로, 각 객체는 클론 작업에서 소스 네임스페이스를 타겟 네임스페이스에 매핑합니다. 정의된 값은 다음과 같습니다.
|
|
storageClassMapping |
거짓 |
복원 작업 시 소스 스토리지 클래스를 타겟 스토리지 클래스에 매핑하는 JSON 객체 배열입니다. 요소가 없거나 존재하지 않는 경우 원래 소스 스토리지 클래스 이름이 사용됩니다. 정의된 값은 다음과 같습니다.
|
|
clusterName |
문자열 |
거짓 |
애플리케이션이 실행 중인 클러스터의 이름을 포함하는 JSON 문자열입니다. 애플리케이션이 현재 실행 중이 아닌 경우 반환되지 않습니다. |
clusterID |
문자열 |
거짓 |
애플리케이션이 실행 중인 클러스터의 ID를 포함하는 JSON 문자열입니다. 애플리케이션이 현재 실행 중이 아닌 경우 반환되지 않습니다. 생성 시 clusterID를 지정하면 애플리케이션을 복제할 클러스터를 나타냅니다. 지정된 클러스터가 존재하지 않거나 지정된 클러스터가 요청 URI에 지정된 clusterID와 일치하지 않으면 복제가 실패합니다. 정의된 값은 다음과 같습니다.
|
clusterType |
문자열 |
거짓 |
클러스터 유형을 나타내는 값을 포함하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
sourceAppID |
문자열 |
거짓 |
소스 애플리케이션의 ID를 포함하는 JSON 문자열입니다. 이 값은 애플리케이션이 다른 애플리케이션에서 복제되었거나 백업 또는 스냅샷에서 복원된 경우에만 반환됩니다. 생성 시 지정된 경우 sourceAppID는 sourceClusterID와 함께 사용되어 복제할 실행 중인 애플리케이션을 지정합니다. 지정된 소스 클러스터에 지정된 애플리케이션이 없으면 복제가 실패합니다. 애플리케이션 생성 시에는 sourceAppID, backupID 또는 snapshotID 중 하나만 지정할 수 있습니다. 정의된 값은 다음과 같습니다.
|
sourceClusterName |
문자열 |
거짓 |
애플리케이션이 이전에 실행되었던 클러스터의 이름을 포함하는 JSON 문자열입니다. 다른 클러스터에서 애플리케이션을 복제한 경우에만 반환됩니다. |
sourceClusterID |
문자열 |
거짓 |
애플리케이션이 이전에 실행되었던 클러스터의 ID를 포함하는 JSON 문자열입니다. 다른 클러스터에서 애플리케이션을 복제한 경우에만 반환됩니다. 생성 시 지정된 경우 sourceClusterID는 sourceAppID와 함께 사용되어 복제할 애플리케이션의 소스 클러스터를 나타냅니다. 지정된 소스 클러스터가 존재하지 않으면 복제가 실패합니다. 정의된 값은 다음과 같습니다.
|
backupID |
문자열 |
거짓 |
애플리케이션이 복원된 백업의 ID를 포함하는 JSON 문자열입니다. 애플리케이션이 백업에서 복원된 경우에만 반환됩니다. 생성 시 backupID를 지정하면 기존 백업에서 애플리케이션을 복제하게 됩니다. 지정된 백업이 존재하지 않으면 복제가 실패합니다. 애플리케이션 생성 시에는 sourceAppID, backupID 또는 snapshotID 중 하나만 지정할 수 있습니다. 교체 시 backupID를 지정하면 애플리케이션이 제자리에서 복원될 백업을 나타냅니다. 지정된 백업이 존재하지 않으면 복원이 실패합니다. 애플리케이션 업데이트 시에는 backupID 또는 snapshotID 중 하나만 지정할 수 있습니다. 정의된 값은 다음과 같습니다:
|
snapshotID |
문자열 |
거짓 |
애플리케이션이 복원된 스냅샷의 ID를 포함하는 JSON 문자열입니다. 애플리케이션이 스냅샷에서 복원된 경우에만 반환됩니다. 생성 시 snapshotID를 지정하면 기존 스냅샷에서 애플리케이션이 복제됩니다. 지정된 스냅샷이 존재하지 않으면 복제가 실패합니다. 애플리케이션 생성 시에는 sourceAppID, backupID 또는 snapshotID 중 하나만 지정할 수 있습니다. 교체 시 snapshotID를 지정하면 애플리케이션이 제자리에서 복원될 스냅샷을 나타냅니다. 지정된 스냅샷이 존재하지 않으면 복원이 실패합니다. 애플리케이션 업데이트 시에는 backupID 또는 snapshotID 중 하나만 지정할 수 있습니다. 정의된 값은 다음과 같습니다.
|
replicationSourceAppID |
문자열 |
거짓 |
이 애플리케이션으로 복제되는 애플리케이션의 ID를 포함하는 JSON 문자열입니다. 애플리케이션이 현재 AppMirror 관계의 타겟이고 관계가 failedOver 상태가 아닌 경우에만 반환됩니다. 관계가 failedOver 상태인 경우에는 이 필드가 반환되지 않습니다. 정의된 값은 다음과 같습니다.
|
restoreFilter |
거짓 |
선택적 복원 작업에 포함하거나 제외할 리소스를 설명하는 필터 목록이 포함된 JSON 객체입니다. 포함과 제외는 상호 배타적이며, 선택적 복원에는 한 가지 유형의 필터만 사용할 수 있습니다. |
|
메타데이터 |
거짓 |
리소스와 연결된 클라이언트 및 서비스 지정 메타데이터입니다. 정의된 값은 다음과 같습니다.
|
요청 예시
{
"type": "application/astra-app",
"version": "2.2",
"name": "mysql-old"
}
응답
Status: 204, Indicates if the app resource was updated.
응답
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 |
문자열 |
거짓 |
응답 예
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
응답
Status: 409, Conflict
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
유형 |
문자열 |
참 |
|
제목 |
문자열 |
참 |
|
세부 정보 |
문자열 |
참 |
|
상태 |
문자열 |
참 |
|
correlationID |
문자열 |
거짓 |
응답 예
{
"type": "https://astra.netapp.io/problems/10",
"title": "JSON resource conflict",
"detail": "The request body JSON contains a field that conflicts with an idempotent value.",
"status": "409"
}
응답
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/1",
"title": "Resource not found",
"detail": "The resource specified in the request URI wasn't found.",
"status": "404"
}
정의
정의를 참조하세요
GVK
Kubernetes 그룹/버전/종류를 포함하는 JSON 객체입니다.
-
이 객체는 Astra/apiResources에 대해 내부적으로 검증됩니다.
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
그룹 |
문자열 |
거짓 |
Kubernetes에서 할당한 그룹 식별자가 포함된 JSON 문자열입니다.
|
종류 |
문자열 |
거짓 |
Kubernetes에서 할당한 kind 식별자가 포함된 JSON 문자열입니다.
|
버전 |
문자열 |
거짓 |
Kubernetes에서 할당한 버전 식별자가 포함된 JSON 문자열입니다.
|
clusterScopedResources
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
GVK |
거짓 |
Kubernetes 그룹/버전/종류를 포함하는 JSON 객체입니다.
|
|
labelSelectors |
배열[string] |
거짓 |
클러스터 내의 클러스터 범위 GroupVersionKinds(GVK)에 대한 레이블 선택기를 나타내는 JSON 문자열의 JSON 배열입니다. 이 값이 비어 있으면 클러스터의 모든 GVK 인스턴스가 포함됩니다. 이 배열의 각 요소는 Kubernetes 레이블 선택기 문자열이며 해당 값에 대해 동일한 문법을 따릅니다. 예:
|
namespaceScopedResources
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
네임스페이스 |
문자열 |
거짓 |
애플리케이션이 정의된 네임스페이스 이름을 포함하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
labelSelectors |
배열[string] |
거짓 |
네임스페이스 내의 레이블 선택기를 나타내는 JSON 문자열의 JSON 배열입니다. 이 값이 비어 있으면 네임스페이스의 모든 리소스가 포함됩니다. 이 배열의 각 요소는 Kubernetes 레이블 선택기 문자열이며 해당 값에 대한 문법을 따릅니다. 예:
|
type_astra_stateTransition
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
에서 |
문자열 |
참 |
|
~ |
배열[string] |
참 |
additionalDetails
type_astra_stateDetail
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
유형 |
문자열 |
참 |
|
제목 |
문자열 |
참 |
|
세부 정보 |
문자열 |
참 |
|
additionalDetails |
거짓 |
namespaceMapping
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
소스 |
문자열 |
거짓 |
소스 클러스터의 네임스페이스 이름이 포함된 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
타겟 |
문자열 |
거짓 |
타겟 클러스터의 네임스페이스 이름이 포함된 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
storageClassMapping
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
소스 |
문자열 |
거짓 |
소스 스토리지 클래스의 이름을 포함하는 JSON 문자열입니다. 모든 소스 스토리지 클래스를 지정하려면 '*'를 사용할 수도 있습니다. 정의된 값은 다음과 같습니다.
|
타겟 |
문자열 |
거짓 |
대상 스토리지 클래스의 이름을 포함하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
GVKN
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
그룹 |
문자열 |
거짓 |
Kubernetes에서 할당한 그룹 식별자가 포함된 JSON 문자열입니다.
|
버전 |
문자열 |
거짓 |
Kubernetes에서 할당한 버전 식별자가 포함된 JSON 문자열입니다.
|
종류 |
문자열 |
거짓 |
Kubernetes에서 할당한 kind 식별자가 포함된 JSON 문자열입니다.
|
네임스페이스 |
배열[string] |
거짓 |
리소스를 포함하거나 제외할 네임스페이스를 설명하는 JSON 문자열의 JSON 배열입니다. 정의된 값은 다음과 같습니다.
|
이름 |
배열[string] |
거짓 |
선택적 복원에 포함하거나 제외할 Kubernetes 리소스 이름을 설명하는 JSON 문자열의 JSON 배열입니다. 정의된 값은 다음과 같습니다.
|
labelSelectors |
배열[string] |
거짓 |
선택적 복원에서 리소스를 포함하거나 제외하는 데 사용되는 Kubernetes 레이블 선택기를 설명하는 JSON 문자열의 JSON 배열입니다. 이 배열의 각 요소는 Kubernetes 레이블 선택기 문자열이며 해당 값에 대해 동일한 문법을 따릅니다. 예:
|
restoreFilter
선택적 복원 작업에 포함하거나 제외할 리소스를 설명하는 필터 목록이 포함된 JSON 객체입니다. 포함과 제외는 상호 배타적이며, 선택적 복원에는 한 가지 유형의 필터만 사용할 수 있습니다.
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
resourceSelectionCriteria |
문자열 |
참 |
리소스 필터가 리소스를 선택하는 방식을 나타내는 값을 포함하는 JSON 문자열입니다. 유효한 값은 include 또는 exclude입니다. |
GVKN |
배열["GVKN"] |
참 |
선택적 복원 중에 필터링할 리소스를 설명하는 JSON 객체의 JSON 배열입니다. 리소스는 지정된 모든 필터 필드가 해당 리소스 필드와 일치하는 경우 단일 GVKN 필터 요소와 일치합니다. 배열 형태의 필터 필드(예: 네임스페이스 및 이름)는 해당 배열의 요소 중 하나라도 해당 리소스 필드와 일치하면 일치하는 것으로 간주합니다. labelSelectors 필드는 모든 선택자가 일치해야 합니다. GVKN 필터 객체 배열의 필터 중 하나라도 일치하는 리소스는 resourceSelectionCriteria 값에 따라 복원에 포함되거나 제외됩니다. 빈 GVKN 객체를 지정하면 유효성 검사 오류가 발생합니다. |
type_astra_label
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
이름 |
문자열 |
참 |
|
값 |
문자열 |
참 |
type_astra_메타데이터_업데이트
리소스와 연결된 클라이언트 및 서비스 지정 메타데이터입니다. 정의된 값은 다음과 같습니다.
-
Astra 메타데이터 스키마를 준수합니다. 생성 시 지정하지 않으면 레이블이 없는 메타데이터 객체가 생성됩니다. 업데이트 시 지정하지 않으면 메타데이터 객체의 레이블인 creationTimestamp와 createdBy는 수정 없이 유지됩니다.
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
라벨 |
거짓 |
||
CreationTimestamp 를 클릭합니다 |
문자열 |
거짓 |
|
modificationTimestamp |
문자열 |
거짓 |
|
생성 시 |
문자열 |
거짓 |
|
modifiedBy |
문자열 |
거짓 |
invalidParams
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
이름 |
문자열 |
참 |
잘못된 쿼리 매개변수의 이름 |
이유 |
문자열 |
참 |
쿼리 매개변수가 유효하지 않은 이유 |
invalidFields
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
이름 |
문자열 |
참 |
유효하지 않은 요청 본문 필드의 이름 |
이유 |
문자열 |
참 |
요청 본문 필드가 유효하지 않은 이유 |