Skip to main content
Astra Automation
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

새로운 AppMirror 리소스를 생성하세요

POST /accounts/{account_id}/k8s/v1/appMirrors

생성할 AppMirror API 리소스에 대해 원하는 값을 나타냅니다.

매개변수

이름 유형 에서 필수 요소입니다 설명

account_id

문자열

경로

포함하는 계정 리소스의 ID

  • 예: {{.Account}}

요청 본문

생성할 AppMirror API 리소스에 대해 원하는 값을 나타냅니다.

이름 유형 필수 요소입니다 설명

유형

문자열

리소스의 미디어 유형입니다. 정의된 값은 다음과 같습니다.

  • "application/astra-appMirror"

버전

문자열

리소스 버전입니다. 정의된 값은 다음과 같습니다.

  • "1.0"

  • "1.1"

sourceAppID

문자열

소스 애플리케이션의 식별자입니다. sourceAppID를 destinationAppID로 교체할 때만 업데이트됩니다. 정의된 값은 다음과 같습니다.

  • Astra 식별자 스키마를 준수합니다.

타겟클러스터ID

문자열

타겟 애플리케이션을 호스팅할 관리형 클러스터의 식별자입니다. 타겟 애플리케이션이 생성될 클러스터를 결정하므로 생성 시 반드시 제공해야 합니다. 업데이트 시 제공하는 경우 타겟 애플리케이션의 클러스터 ID와 일치해야 하므로 sourceAppID와 destinationAppID를 교환할 때만 변경할 수 있습니다. 정의된 값은 다음과 같습니다.

  • Astra 식별자 스키마를 준수합니다.

namespaceMapping

배열["namespaceMapping"]

거짓

소스 애플리케이션의 네임스페이스에 해당하는 타겟 애플리케이션을 생성할 때 사용할 네임스페이스입니다. 각 JSON 객체에는 "clusterID" 및 "namespaces" 필드가 포함되어 있으며, 여기서 "clusterID" 값은 소스 또는 타겟 클러스터의 JSON 문자열 ID이고 "namespaces" 값은 JSON 문자열의 JSON 배열입니다. 각 클러스터에 대해 정확히 하나의 JSON 객체가 있어야 하며 네임스페이스는 인덱스별로 상호 연결됩니다. 제공되지 않은 경우 소스 클러스터의 동일한 네임스페이스가 타겟 클러스터에서 사용됩니다. 정의된 값은 다음과 같습니다.

  • 최소 길이: 0

  • 최대 길이: 2

storageClasses

배열["storageClasses"]

거짓

새로운 영구 볼륨 클레임(PVC)을 생성할 때 타겟 클러스터에서 사용할 스토리지 클래스입니다. 각 JSON 객체에는 "clusterID" 및 "storageClassName" 필드가 포함되어 있으며, "clusterID" 값은 소스 또는 타겟 클러스터의 JSON 문자열 ID이고, "storageClassName"은 해당 클러스터에서 PVC를 생성할 때 사용할 스토리지 클래스입니다. 제공되지 않거나 클러스터에 대한 값이 없는 경우 해당 클러스터에 기본 스토리지 클래스가 사용됩니다. 정의된 값은 다음과 같습니다.

  • 최소 길이: 0

  • 최대 길이: 2

stateDesired

문자열

관계의 원하는 상태입니다. 생성 시 유효한 값은 "established"뿐입니다. 정의된 값은 다음과 같습니다.

  • "established" - 관계가 생성되었습니다.

  • "failedOver" - 애플리케이션의 타겟 클러스터로의 페일오버가 완료되었습니다.

  • "deleted" - 관계가 성공적으로 정리되어 삭제되었습니다.

메타데이터

"type_astra_메타데이터_업데이트"

거짓

리소스와 연결된 클라이언트 및 서비스 지정 메타데이터입니다. 정의된 값은 다음과 같습니다.

  • Astra 메타데이터 스키마를 준수합니다. 생성 시 지정하지 않으면 레이블 없이 메타데이터 객체가 생성됩니다. 업데이트 시 지정하지 않으면 메타데이터 객체의 레이블인 creationTimestamp와 createdBy는 수정 없이 유지됩니다.

요청 예시
{
  "type": "application/astra-appMirror",
  "version": "1.1",
  "sourceAppID": "efd639b6-fc92-4112-8841-0c0ab7890ae0",
  "destinationClusterID": "c5d023a9-4061-4a8a-bfbf-3be11ff06226",
  "stateDesired": "established"
}

응답

Status: 201, Returns the newly created appMirror resource in the JSON response body.
이름 유형 필수 요소입니다 설명

유형

문자열

리소스의 미디어 유형입니다. 정의된 값은 다음과 같습니다.

  • "application/astra-appMirror"

버전

문자열

리소스 버전입니다. 정의된 값은 다음과 같습니다.

  • "1.0"

  • "1.1"

ID입니다

문자열

리소스의 전역 고유 식별자입니다. 정의된 값은 다음과 같습니다.

  • UUIDv4 스키마를 준수합니다.

sourceAppID

문자열

소스 애플리케이션의 식별자입니다. sourceAppID를 destinationAppID로 교체할 때만 업데이트됩니다. 정의된 값은 다음과 같습니다.

  • Astra 식별자 스키마를 준수합니다.

sourceClusterID

문자열

소스 애플리케이션을 호스팅하는 관리형 클러스터의 식별자입니다. 이 필드는 읽기 전용이며 소스 애플리케이션의 호스트 클러스터를 기준으로 결정됩니다. 업데이트 시 제공되는 경우 소스 애플리케이션의 클러스터 ID와 일치해야 하므로 sourceAppID를 destinationAppID로 교체할 때만 변경될 수 있습니다. 정의된 값은 다음과 같습니다.

  • Astra 식별자 스키마를 준수합니다.

타겟AppID

문자열

거짓

타겟 애플리케이션의 식별자입니다. 관계 초기화 과정에서 새 앱 ID가 생성되므로 생성 시에는 제공할 수 없습니다. sourceAppID를 destinationAppID로 교체할 때만 업데이트할 수 있습니다. 정의된 값은 다음과 같습니다.

  • Astra 식별자 스키마를 준수합니다.

타겟클러스터ID

문자열

타겟 애플리케이션을 호스팅할 관리형 클러스터의 식별자입니다. 타겟 애플리케이션이 생성될 클러스터를 결정하므로 생성 시 반드시 제공해야 합니다. 업데이트 시 제공하는 경우 타겟 애플리케이션의 클러스터 ID와 일치해야 하므로 sourceAppID와 destinationAppID를 교환할 때만 변경할 수 있습니다. 정의된 값은 다음과 같습니다.

  • Astra 식별자 스키마를 준수합니다.

namespaceMapping

배열["namespaceMapping"]

거짓

소스 애플리케이션의 네임스페이스에 해당하는 타겟 애플리케이션을 생성할 때 사용할 네임스페이스입니다. 각 JSON 객체에는 "clusterID" 및 "namespaces" 필드가 포함되어 있으며, 여기서 "clusterID" 값은 소스 또는 타겟 클러스터의 JSON 문자열 ID이고 "namespaces" 값은 JSON 문자열의 JSON 배열입니다. 각 클러스터에 대해 정확히 하나의 JSON 객체가 있어야 하며 네임스페이스는 인덱스별로 상호 연결됩니다. 제공되지 않은 경우 소스 클러스터의 동일한 네임스페이스가 타겟 클러스터에서 사용됩니다. 정의된 값은 다음과 같습니다.

  • 최소 길이: 0

  • 최대 길이: 2

storageClasses

배열["storageClasses"]

거짓

새로운 영구 볼륨 클레임(PVC)을 생성할 때 타겟 클러스터에서 사용할 스토리지 클래스입니다. 각 JSON 객체에는 "clusterID" 및 "storageClassName" 필드가 포함되어 있으며, "clusterID" 값은 소스 또는 타겟 클러스터의 JSON 문자열 ID이고, "storageClassName"은 해당 클러스터에서 PVC를 생성할 때 사용할 스토리지 클래스입니다. 제공되지 않거나 클러스터에 대한 값이 없는 경우 해당 클러스터에 기본 스토리지 클래스가 사용됩니다. 정의된 값은 다음과 같습니다.

  • 최소 길이: 0

  • 최대 길이: 2

상태

문자열

관계의 상태입니다. 정의된 값은 다음과 같습니다.

  • "establishing" - 관계가 생성되고 있습니다.

  • "established" - 관계가 생성되었습니다.

  • "failingOver" - 애플리케이션이 타겟 클러스터로 페일오버되는 중입니다.

  • "failedOver" - 애플리케이션의 타겟 클러스터로의 페일오버가 완료되었습니다.

  • "deleting" - 관계에서 생성된 리소스가 정리되고 있습니다.

  • "deleted" - 관계가 정리되어 삭제되었습니다.

stateTransitions

배열["type_astra_stateTransition"]

거짓

허용되는 상태 전환. 이 리소스에 대해 가능한 상태 전환은 다음과 같습니다.

  • "설정 중": "설정됨", "삭제 중"

  • "established": "failingOver", "deleting"

  • "failingOver": "failedOver", "삭제 중"

  • "failedOver": "설정 중", "삭제 중"

  • "삭제 중": "삭제됨"

  • "삭제됨":

stateDesired

문자열

관계의 원하는 상태입니다. 생성 시 유효한 값은 "established"뿐입니다. 정의된 값은 다음과 같습니다.

  • "established" - 관계가 생성되었습니다.

  • "failedOver" - 애플리케이션의 타겟 클러스터로의 페일오버가 완료되었습니다.

  • "deleted" - 관계가 성공적으로 정리되어 삭제되었습니다.

stateAllowed

배열[string]

거짓

주어진 상태에서 요청할 수 있는 상태들입니다. 정의된 각 상태에서 다음과 같은 상태들을 요청할 수 있습니다:

  • "설정 중": "설정됨", "삭제됨"

  • "established": "failedOver", "deleted"

  • "failingOver": "failedOver", "deleted"

  • "failedOver": "established", "deleted"

  • "삭제 중": "삭제됨"

  • "deleted": "deleted"

stateDetails

배열["type_astra_stateDetail"]

현재 상태에 도달한 이유를 포함하여 현재 상태에 대한 추가 정보입니다. 정보가 없는 경우 이 배열은 비어 있습니다. 정의된 값은 다음과 같습니다.

  • 최소 항목: 0

transferState

문자열

거짓

현재 또는 가장 최근 스냅샷 전송 상태입니다. 정의된 값은 다음과 같습니다.

  • "transferring" - 새 스냅샷이 생성되어 현재 타겟 클러스터로 복제되고 있습니다. 이 상태는 이전 시도에서 실패했지만 계속해서 재시도 중인 전송에도 적용됩니다.

  • "idle" - 현재 진행 중인 전송이 없습니다.

transferStateTransitions

배열["type_astra_stateTransition"]

거짓

주어진 정의된 상태에서 허용되는 상태 전환입니다. 이 리소스에 대해 가능한 상태 전환은 다음과 같습니다.

  • "전송 중": "유휴"

  • "idle": "전송 중"

transferStateDetails

배열["type_astra_stateDetail"]

거짓

현재 상태에 도달한 이유를 포함하여 현재 상태에 대한 추가 정보입니다. 정보가 없는 경우 이 배열은 비어 있습니다. 정의된 값은 다음과 같습니다.

  • 최소 항목: 0

healthState

문자열

리소스의 상태입니다. 정의된 값은 다음과 같습니다.

  • "indeterminate" - 리소스의 상태를 확인할 수 없습니다(예: 연결 부족으로 인해)

  • "normal" - 해당 리소스에는 알려진 문제가 없으며 인터페이스 사양에 따라 서비스를 제공할 수 있습니다.

  • "warning" - 해당 리소스에는 인터페이스 사양에 따라 서비스를 제공하는 데 지장을 주지 않는 알려진 문제가 있습니다.

  • "critical" - 해당 리소스에는 인터페이스 사양에 따라 서비스를 제공하는 것을 방해하는 알려진 문제가 있습니다.

healthStateTransitions

배열["type_astra_stateTransition"]

주어진 정의된 상태에서 허용되는 상태 전환입니다. 이 리소스에 대해 가능한 상태 전환은 다음과 같습니다.

  • "indeterminate": "normal", "warning", "critical"

  • "normal": "indeterminate", "warning", "critical"

  • "warning": "indeterminate", "normal", "critical"

  • "critical": "indeterminate", "normal", "warning"

healthStateDetails

배열["type_astra_stateDetail"]

현재 상태에 도달한 이유를 포함하여 현재 상태에 대한 추가 정보입니다. 정보가 없는 경우 이 배열은 비어 있습니다. 정의된 값은 다음과 같습니다.

  • 최소 항목: 0

메타데이터

"type_astra_메타데이터_업데이트"

리소스와 연결된 클라이언트 및 서비스 지정 메타데이터입니다. 정의된 값은 다음과 같습니다.

  • Astra 메타데이터 스키마를 준수합니다. 생성 시 지정하지 않으면 레이블 없이 메타데이터 객체가 생성됩니다. 업데이트 시 지정하지 않으면 메타데이터 객체의 레이블인 creationTimestamp와 createdBy는 수정 없이 유지됩니다.

응답 예
{
  "type": "application/astra-appMirror",
  "version": "1.1",
  "id": "512c8dac-b7d4-5be9-836e-ee672965866a",
  "sourceAppID": "efd639b6-fc92-4112-8841-0c0ab7890ae0",
  "sourceClusterID": "5789e026-c2e2-41e9-ab00-9766bcfa8951",
  "destinationAppID": "cd7b6d91-fc19-4983-a754-9a7bb4d80a7b",
  "destinationClusterID": "c5d023a9-4061-4a8a-bfbf-3be11ff06226",
  "state": "establishing",
  "stateTransitions": [
    {
      "from": "establishing",
      "to": [
        "established",
        "deleting"
      ]
    },
    {
      "from": "established",
      "to": [
        "failingOver",
        "deleting"
      ]
    },
    {
      "from": "failingOver",
      "to": [
        "failedOver",
        "deleting"
      ]
    },
    {
      "from": "failedOver",
      "to": [
        "establishing",
        "deleting"
      ]
    },
    {
      "from": "deleting",
      "to": [
        "deleted"
      ]
    }
  ],
  "stateDesired": "established",
  "stateAllowed": [
    "deleted"
  ],
  "stateDetails": [
    {
      "type": "https://astra.netapp.io/stateDetails/3",
      "title": "AppMirror is being established",
      "detail": "The AppMirror relationship is in the process of being established."
    }
  ],
  "healthState": "warning",
  "healthStateTransitions": [
    {
      "from": "indeterminate",
      "to": [
        "normal",
        "warning",
        "critical"
      ]
    },
    {
      "from": "normal",
      "to": [
        "indeterminate",
        "warning",
        "critical"
      ]
    },
    {
      "from": "warning",
      "to": [
        "indeterminate",
        "normal",
        "critical"
      ]
    },
    {
      "from": "critical",
      "to": [
        "indeterminate",
        "normal",
        "warning"
      ]
    }
  ],
  "healthStateDetails": [
    {
      "type": "https://astra.netapp.io/stateDetails/4",
      "title": "AppMirror not yet established",
      "detail": "The AppMirror relationship is not protecting the app data yet because the relationship is in the process of being established."
    }
  ],
  "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

문자열

거짓

invalidFields

배열["invalidFields"]

거짓

유효하지 않은 요청 본문 필드 목록

응답 예
{
  "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/2",
  "title": "Collection not found",
  "detail": "The collection specified in the request URI wasn't found.",
  "status": "404"
}

정의

정의를 참조하세요

namespaceMapping

이름 유형 필수 요소입니다 설명

clusterID

문자열

거짓

네임스페이스가 지정된 클러스터의 식별자입니다. 정의된 값은 다음과 같습니다.

  • Astra 식별자 스키마를 준수합니다.

네임스페이스

배열[string]

거짓

클러스터에서 사용할 네임스페이스 목록입니다. 인덱스를 기준으로 다른 클러스터 네임스페이스 목록과 연관되어 있습니다. 정의된 값은 다음과 같습니다.

  • 최소 길이: 1

  • 최대 길이: 63

  • DNS 1123 레이블 스키마를 준수합니다.

역할

문자열

거짓

이 네임스페이스 정의의 초기 역할입니다. 이 매개변수는 동일 클러스터 복제 구성이 사용되는 경우를 제외하고는 선택 사항입니다. 정의된 값은 다음과 같습니다.

  • "소스"

  • "대상"

storageClasses

이름 유형 필수 요소입니다 설명

clusterID

문자열

거짓

스토리지 클래스가 지정된 클러스터의 식별자입니다. 정의된 값은 다음과 같습니다.

  • Astra 식별자 스키마를 준수합니다.

storageClassName

문자열

거짓

"clusterID"에 지정된 클러스터에 PVC를 생성할 때 사용할 스토리지 클래스의 이름입니다. 정의된 값은 다음과 같습니다.

  • 최소 길이: 1

  • 최대 길이: 255

역할

문자열

거짓

이 스토리지 클래스 정의의 초기 역할입니다. 이 매개변수는 동일 클러스터 복제 구성을 사용하는 경우를 제외하고는 선택 사항입니다. 정의된 값은 다음과 같습니다.

  • "소스"

  • "대상"

type_astra_label

이름 유형 필수 요소입니다 설명

이름

문자열

문자열

type_astra_메타데이터_업데이트

리소스와 연결된 클라이언트 및 서비스 지정 메타데이터입니다. 정의된 값은 다음과 같습니다.

  • Astra 메타데이터 스키마를 준수합니다. 생성 시 지정하지 않으면 레이블 없이 메타데이터 객체가 생성됩니다. 업데이트 시 지정하지 않으면 메타데이터 객체의 레이블인 creationTimestamp와 createdBy는 수정 없이 유지됩니다.

이름 유형 필수 요소입니다 설명

라벨

배열["type_astra_label"]

거짓

CreationTimestamp 를 클릭합니다

문자열

거짓

modificationTimestamp

문자열

거짓

생성 시

문자열

거짓

modifiedBy

문자열

거짓

type_astra_stateTransition

이름 유형 필수 요소입니다 설명

에서

문자열

~

배열[string]

additionalDetails

type_astra_stateDetail

이름 유형 필수 요소입니다 설명

유형

문자열

제목

문자열

세부 정보

문자열

additionalDetails

"additionalDetails"

거짓

invalidParams

이름 유형 필수 요소입니다 설명

이름

문자열

잘못된 쿼리 매개변수의 이름

이유

문자열

쿼리 매개변수가 유효하지 않은 이유

invalidFields

이름 유형 필수 요소입니다 설명

이름

문자열

유효하지 않은 요청 본문 필드의 이름

이유

문자열

요청 본문 필드가 유효하지 않은 이유