새 패키지 생성
POST /accounts/{account_id}/core/v1/packages
생성할 Package API 리소스에 대해 원하는 값을 나타냅니다.
매개변수
| 이름 | 유형 | 에서 | 필수 요소입니다 | 설명 |
|---|---|---|---|---|
account_id |
문자열 |
경로 |
참 |
포함하는 계정 리소스의 ID
|
요청 본문
생성할 Package API 리소스에 대해 원하는 값을 나타냅니다.
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
유형 |
문자열 |
참 |
리소스의 미디어 유형입니다. 정의된 값은 다음과 같습니다.
|
버전 |
문자열 |
참 |
리소스 버전입니다. 정의된 값은 다음과 같습니다.
|
packageName |
문자열 |
참 |
패키지 이름이 포함된 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
packageVersion |
문자열 |
참 |
패키지의 SemVer를 포함하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
packageType |
문자열 |
참 |
패키지 유형을 나타내는 JSON 문자열로, 전체 설치 패키지인지 패치인지 여부를 나타냅니다. 정의된 값은 다음과 같습니다.
|
bundleName |
배열[string] |
거짓 |
패키지가 포함된 번들의 이름을 포함하는 JSON 문자열의 JSON 배열입니다. |
severityLevel |
문자열 |
참 |
이 패치 또는 설치의 심각도 수준을 설명하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
이미지 |
배열["이미지"] |
거짓 |
패키지의 일부인 Docker 이미지를 각각 포함하는 JSON 객체의 JSON 배열입니다. |
아티팩트 |
배열["아티팩트"] |
거짓 |
이 패키지와 관련된 추가 아티팩트(바이너리 및 기타)를 설명하는 JSON 객체의 JSON 배열입니다. |
파일 |
배열["파일"] |
거짓 |
이 패키지와 관련된 이미지 이외의 아티팩트를 각각 나타내는 JSON 객체의 JSON 배열입니다. |
upgradableVersions |
거짓 |
패키지 버전으로 업그레이드할 수 있는 최소 및 최대 버전을 포함하는 JSON 객체입니다. |
|
종속성 |
배열["종속성"] |
거짓 |
이 패키지를 설치하는 데 필요한 특정 종속성의 최소 버전을 설명하는 JSON 객체의 JSON 배열 |
메타데이터 |
거짓 |
리소스와 연결된 클라이언트 및 서비스 지정 메타데이터입니다. 정의된 값은 다음과 같습니다.
|
요청 예시
{
"type": "application/astra-package",
"version": "1.0",
"packageName": "acc",
"packageVersion": "22.09.1",
"packageType": "patch",
"severityLevel": "recommended",
"images": [
{
"imagePath": "/globalcicd/acc",
"imageName": "storage-provider",
"imageTag": "1.3.116",
"imageDigest": "sha256:2e04d178815537b0ad8c3224e8754e3364456781a161f1be239853dae33deafc"
},
{
"imagePath": "/globalcicd/acc",
"imageName": "storage-backend-metrics",
"imageTag": "1.3.45",
"imageDigest": "sha256:2e04d178815537b0ad8c3224e8754e3364456781a161f1be239853dae33deafc"
},
{
"imagePath": "/globalcicd/acc",
"imageName": "credentials",
"imageTag": "1.3.45",
"imageDigest": "sha256:2e04d178815537b0ad8c322445654e33642da781a161f1be239853dae33deafc"
}
],
"files": [
{
"fileName": "astra_control_center_min.yaml",
"fileIdentifier": "astra_min",
"fileMediaType": "application/x-yaml",
"fileContents": "VGhpcyBpcyBzdXBwb3NlZCB0byBiZSBhIGNvbXByZXNzZWQgZmlsZSBjb250ZW50"
}
],
"dependencies": [
{
"componentName": "acc",
"componentMinVersion": "22.04.29"
},
{
"componentName": "kubernetes",
"componentMinVersion": "v1.19.7",
"componentMaxVersion": "v1.22"
},
{
"componentName": "trident",
"componentMinVersion": "v21.01.1"
}
]
}
응답
Status: 201, Returns the newly created package resource in the JSON response body.
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
유형 |
문자열 |
참 |
리소스의 미디어 유형입니다. 정의된 값은 다음과 같습니다.
|
버전 |
문자열 |
참 |
리소스 버전입니다. 정의된 값은 다음과 같습니다.
|
ID입니다 |
문자열 |
참 |
리소스의 전역 고유 식별자입니다. 정의된 값은 다음과 같습니다.
|
packageName |
문자열 |
참 |
패키지 이름이 포함된 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
packageVersion |
문자열 |
참 |
패키지의 SemVer를 포함하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
packageType |
문자열 |
참 |
패키지 유형을 나타내는 JSON 문자열로, 전체 설치 패키지인지 패치인지 여부를 나타냅니다. 정의된 값은 다음과 같습니다.
|
bundleName |
배열[string] |
거짓 |
패키지가 포함된 번들의 이름을 포함하는 JSON 문자열의 JSON 배열입니다. |
severityLevel |
문자열 |
참 |
이 패치 또는 설치의 심각도 수준을 설명하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
packageState |
문자열 |
참 |
패키지의 작동 상태를 나타내는 값을 포함하는 JSON 문자열입니다. 패키지 검증 및 가져오기가 완료되면 상태는 "complete"로 표시됩니다. 그렇지 않으면 상태는 "incomplete"로 표시됩니다. 정의된 값은 다음과 같습니다.
|
packageStateTransitions |
참 |
JSON 객체의 JSON 배열로, 각 객체는 지정된 상태에서 허용되는 상태 전환 집합을 나타냅니다. 각 JSON 객체에는 "from" 및 "to" 필드가 포함되어 있으며, "from" 값은 상태 이름이고 "to" 값은 허용되는 대상 상태의 배열입니다. 정의된 값은 다음과 같습니다.
|
|
packageStateDetails |
참 |
현재 "state"에 대한 추가 세부 정보를 나열하는 JSON 객체의 JSON 배열입니다. 사용 가능한 세부 정보가 없으면 이 배열은 비어 있습니다.
|
|
이미지 |
배열["이미지"] |
거짓 |
패키지의 일부인 Docker 이미지를 각각 포함하는 JSON 객체의 JSON 배열입니다. |
아티팩트 |
배열["아티팩트"] |
거짓 |
이 패키지와 관련된 추가 아티팩트(바이너리 및 기타)를 설명하는 JSON 객체의 JSON 배열입니다. |
파일 |
배열["파일"] |
거짓 |
이 패키지와 관련된 이미지 이외의 아티팩트를 각각 나타내는 JSON 객체의 JSON 배열입니다. |
upgradableVersions |
거짓 |
패키지 버전으로 업그레이드할 수 있는 최소 및 최대 버전을 포함하는 JSON 객체입니다. |
|
종속성 |
배열["종속성"] |
거짓 |
이 패키지를 설치하는 데 필요한 특정 종속성의 최소 버전을 설명하는 JSON 객체의 JSON 배열 |
메타데이터 |
참 |
리소스와 연결된 클라이언트 및 서비스 지정 메타데이터입니다. 정의된 값은 다음과 같습니다.
|
응답 예
{
"type": "application/astra-package",
"version": "1.0",
"id": "54edc2b3-18c5-5371-904b-ebcd04d88bdc",
"packageName": "acc",
"packageVersion": "22.09.1",
"packageType": "patch",
"packageState": "available",
"packageStateTransitions": [
{
"from": "verifying",
"to": [
"corrupt",
"incomplete",
"available"
]
},
{
"from": "corrupt",
"to": [
"incomplete",
"available"
]
},
{
"from": "incomplete",
"to": [
"corrupt",
"available"
]
},
{
"from": "available",
"to": [
"corrupt",
"available"
]
}
],
"packageStateDetails": [],
"severityLevel": "recommended",
"images": [
{
"imagePath": "/globalcicd/acc",
"imageName": "storage-provider",
"imageTag": "1.3.116",
"imageDigest": "sha256:2e04d178815537b0ad8c3224e8754e33642da781a161f1be239853dae33deafc"
},
{
"imagePath": "/globalcicd/acc",
"imageName": "storage-backend-metrics",
"imageTag": "1.3.45",
"imageDigest": "sha256:2e04d178815537b0ad8c3224e8754e33642da781a161f1be239853dae33deafc"
},
{
"imagePath": "/globalcicd/acc",
"imageName": "credentials",
"imageTag": "1.3.45",
"imageDigest": "sha256:2e04d178815537b0ad8c3224e8754e33642da781a161f1be239853dae33deafc"
}
],
"files": [
{
"fileName": "astra_control_center_min.yaml",
"fileIdentifier": "astra_min",
"fileMediaType": "application/x-yaml",
"fileContents": "VGhpcyBpcyBzdXBwb3NlZCB0byBiZSBhIGNvbXByZXNzZWQgZmlsZSBjb250ZW50"
}
],
"dependencies": [
{
"componentName": "acc",
"componentMinVersion": "22.04.29"
},
{
"componentName": "kubernetes",
"componentMinVersion": "v1.19.7",
"componentMaxVersion": "v1.20"
},
{
"componentName": "trident",
"componentMinVersion": "v21.01.1"
}
],
"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 |
문자열 |
거짓 |
|
invalidFields |
배열["invalidFields"] |
거짓 |
유효하지 않은 요청 본문 필드 목록 |
응답 예
{
"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"
}
정의
정의를 참조하세요
dependsOnImages
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
imagePath |
문자열 |
참 |
이 Docker 이미지의 경로를 포함하는 JSON 문자열입니다. 레지스트리 이름은 포함해서는 안 되며, 루트에서 이미지까지의 절대 경로만 포함해야 합니다. 예: /globalcicd/acc 정의된 값은 다음과 같습니다.
|
imageName |
문자열 |
참 |
Docker 이미지 이름이 포함된 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
imageTag |
문자열 |
참 |
이 이미지의 태그/버전을 나타내는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
이미지
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
imageName |
문자열 |
참 |
Docker 이미지 이름이 포함된 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
imagePath |
문자열 |
참 |
이 Docker 이미지의 경로를 포함하는 JSON 문자열입니다. 레지스트리 이름은 포함해서는 안 되며, 루트에서 이미지까지의 절대 경로만 포함해야 합니다. 예: /globalcicd/acc 정의된 값은 다음과 같습니다.
|
imageTag |
문자열 |
참 |
이 이미지의 태그/버전을 나타내는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
imageDigest |
문자열 |
참 |
이 이미지의 다이제스트를 나타내는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
dependsOnImages |
거짓 |
현재 이미지를 설치하거나 업그레이드하는 데 필요한 이미지를 설명하는 JSON 객체의 JSON 배열입니다. |
dependsOnComponents
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
componentName |
문자열 |
참 |
컴포넌트의 이름을 설명하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
버전 |
배열[string] |
참 |
현재 이미지를 설치하는 데 필요한 구성 요소 버전을 정의하는 JSON 문자열의 JSON 배열입니다. |
아티팩트
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
artifactName |
문자열 |
참 |
파일 이름을 포함하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
artifactIdentifier |
문자열 |
참 |
이 파일의 식별자를 포함하는 JSON 문자열입니다. 동일한 패키지 유형의 버전 간에 파일 이름은 변경될 수 있지만 식별자는 일반적으로 동일하게 유지됩니다. 정의된 값은 다음과 같습니다.
|
artifactPath |
문자열 |
참 |
알려진 Astra Control Center 데이터 저장소/위치의 루트에서 이 아티팩트까지의 경로를 포함하는 JSON 문자열입니다. 예: /vmware/1.0/ 정의된 값은 다음과 같습니다.
|
artifactVersion |
문자열 |
거짓 |
제공된 경우 해당 아티팩트의 버전을 포함하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
dependsOnComponents |
거짓 |
현재 이미지를 설치/업그레이드하는 데 필요한 설치된 구성 요소를 설명하는 JSON 객체의 JSON 배열입니다. |
파일
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
fileName |
문자열 |
참 |
파일 이름을 포함하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
fileIdentifier |
문자열 |
참 |
이 파일의 식별자를 포함하는 JSON 문자열입니다. 동일한 패키지 유형의 버전 간에 파일 이름은 변경될 수 있지만 식별자는 일반적으로 동일하게 유지됩니다. 정의된 값은 다음과 같습니다.
|
fileMediaType |
문자열 |
참 |
파일 미디어 유형을 포함하는 JSON 문자열입니다. "IANA"에 정의된 모든 미디어 유형이 정의된 값입니다. 또한 YAML 파일의 경우 application/x-yaml 또는 application/x-yaml도 지원됩니다.
|
fileContents |
문자열 |
참 |
파일 내용을 담고 있는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
upgradableVersions
패키지 버전으로 업그레이드할 수 있는 최소 및 최대 버전을 포함하는 JSON 객체입니다.
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
minVersion |
문자열 |
거짓 |
패키지 버전으로 업그레이드할 수 있는 최소 버전을 설명하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
maxVersion |
문자열 |
거짓 |
패키지 버전으로 업그레이드할 수 있는 최대 버전을 설명하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
종속성
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
componentName |
문자열 |
참 |
컴포넌트의 이름을 설명하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
componentMinVersion |
문자열 |
거짓 |
해당 구성 요소에 필요한 최소 버전을 설명하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
componentMaxVersion |
문자열 |
거짓 |
해당 구성 요소에 필요한 최대 버전을 설명하는 JSON 문자열입니다. 정의된 값은 다음과 같습니다.
|
type_astra_label
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
이름 |
문자열 |
참 |
|
값 |
문자열 |
참 |
type_astra_메타데이터
리소스와 연결된 클라이언트 및 서비스 지정 메타데이터입니다. 정의된 값은 다음과 같습니다.
-
Astra 메타데이터 스키마를 준수합니다. 생성 시 지정하지 않으면 레이블이 없는 메타데이터 객체가 생성됩니다.
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
라벨 |
참 |
||
CreationTimestamp 를 클릭합니다 |
문자열 |
참 |
|
modificationTimestamp |
문자열 |
참 |
|
생성 시 |
문자열 |
참 |
|
modifiedBy |
문자열 |
거짓 |
type_astra_stateTransition
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
에서 |
문자열 |
참 |
|
~ |
배열[string] |
참 |
additionalDetails
type_astra_stateDetail
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
유형 |
문자열 |
참 |
|
제목 |
문자열 |
참 |
|
세부 정보 |
문자열 |
참 |
|
additionalDetails |
거짓 |
invalidParams
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
이름 |
문자열 |
참 |
잘못된 쿼리 매개변수의 이름 |
이유 |
문자열 |
참 |
쿼리 매개변수가 유효하지 않은 이유 |
invalidFields
| 이름 | 유형 | 필수 요소입니다 | 설명 |
|---|---|---|---|
이름 |
문자열 |
참 |
유효하지 않은 요청 본문 필드의 이름 |
이유 |
문자열 |
참 |
요청 본문 필드가 유효하지 않은 이유 |