Create a new package
POST /accounts/{account_id}/core/v1/packages
Indicates desired values for the Package API resource to be created.
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
account_id |
string |
path |
True |
ID of the containing account resource
|
Request Body
Indicates desired values for the Package API resource to be created.
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
Media type of the resource. Defined values are:
|
version |
string |
True |
Version of the resource. Defined values are:
|
packageName |
string |
True |
JSON string containing the package name. Defined values are:
|
packageVersion |
string |
True |
JSON string containing the SemVer of the package. Defined values are:
|
packageType |
string |
True |
JSON string containing the package type, indicating whether this is a full installation package or a patch. Defined values are:
|
bundleName |
array[string] |
False |
JSON array of JSON strings containing the name of the bundle that the package is contained in. |
severityLevel |
string |
True |
JSON string describing the severity level of this patch or installation. Defined values are:
|
images |
array[images] |
False |
JSON array of JSON objects, each containing a Docker image that is part of the package. |
artifacts |
array[artifacts] |
False |
JSON array of JSON objects describing the additional artifacts (binaries and others) associated with this package. |
files |
array[files] |
False |
JSON array of JSON objects, each representing a non-image artifact associated with this package. |
upgradableVersions |
False |
JSON object containing the minimum and maximum versions that can be upgraded to the package version. |
|
dependencies |
array[dependencies] |
False |
JSON array of JSON objects describing what minimum version of a given dependency is required for this package to be installed |
metadata |
False |
Client and service-specified metadata associated with the resource. Defined values are:
|
Example request
{
"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"
}
]
}
Response
Status: 201, Returns the newly created package resource in the JSON response body.
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
Media type of the resource. Defined values are:
|
version |
string |
True |
Version of the resource. Defined values are:
|
id |
string |
True |
Globally unique identifier of the resource. Defined values are:
|
packageName |
string |
True |
JSON string containing the package name. Defined values are:
|
packageVersion |
string |
True |
JSON string containing the SemVer of the package. Defined values are:
|
packageType |
string |
True |
JSON string containing the package type, indicating whether this is a full installation package or a patch. Defined values are:
|
bundleName |
array[string] |
False |
JSON array of JSON strings containing the name of the bundle that the package is contained in. |
severityLevel |
string |
True |
JSON string describing the severity level of this patch or installation. Defined values are:
|
packageState |
string |
True |
JSON string containing a value indicating the operational state of the package. After verification of the package and after import, the state will indicate "complete". Otherwise, the state will indicate "incomplete". Defined values are:
|
packageStateTransitions |
array[type_astra_stateTransition] |
True |
JSON array of JSON objects, each representing the set of permitted state transitions from a given defined state. Each JSON object contains the fields "from" and "to", where the "from" value is the name of a state and the "to" value is an array of permitted destination states. Defined values are:
|
packageStateDetails |
array[type_astra_stateDetail] |
True |
JSON array of JSON objects that lists additional details about the current "state". If no details are available, this array will be empty.
|
images |
array[images] |
False |
JSON array of JSON objects, each containing a Docker image that is part of the package. |
artifacts |
array[artifacts] |
False |
JSON array of JSON objects describing the additional artifacts (binaries and others) associated with this package. |
files |
array[files] |
False |
JSON array of JSON objects, each representing a non-image artifact associated with this package. |
upgradableVersions |
False |
JSON object containing the minimum and maximum versions that can be upgraded to the package version. |
|
dependencies |
array[dependencies] |
False |
JSON array of JSON objects describing what minimum version of a given dependency is required for this package to be installed |
metadata |
True |
Client and service-specified metadata associated with the resource. Defined values are:
|
Example response
{
"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"
}
}
Response
Status: 401, Unauthorized
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
Example response
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
Response
Status: 400, Bad request
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
|
invalidFields |
array[invalidFields] |
False |
List of invalid request body fields |
Example response
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
Response
Status: 409, Conflict
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
|
invalidFields |
array[invalidFields] |
False |
List of invalid request body fields |
Example response
{
"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"
}
Response
Status: 403, Forbidden
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
Example response
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
Error
Status: 404, Not found
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
Example error response
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
Definitions
See Definitions
dependsOnImages
Name | Type | Required | Description |
---|---|---|---|
imagePath |
string |
True |
JSON string containing the path to this Docker image. It must not contain the name of the registry, only the absolute path from root to image. Example: /globalcicd/acc Defined values are:
|
imageName |
string |
True |
JSON string containing the Docker image name. Defined values are:
|
imageTag |
string |
True |
JSON string representing the tag/version of this image. Defined values are:
|
images
Name | Type | Required | Description |
---|---|---|---|
imageName |
string |
True |
JSON string containing the Docker image name. Defined values are:
|
imagePath |
string |
True |
JSON string containing the path to this Docker image. It must not contain the name of the registry, only the absolute path from root to image. Example: /globalcicd/acc Defined values are:
|
imageTag |
string |
True |
JSON string representing the tag/version of this image. Defined values are:
|
imageDigest |
string |
True |
JSON string representing the digest of this image. Defined values are:
|
dependsOnImages |
array[dependsOnImages] |
False |
JSON array of JSON objects describing the images required to install or upgrade the current image. |
dependsOnComponents
Name | Type | Required | Description |
---|---|---|---|
componentName |
string |
True |
JSON string describing the name of the component. Defined values are:
|
versions |
array[string] |
True |
JSON array of JSON strings defining the component version required to install the current image. |
artifacts
Name | Type | Required | Description |
---|---|---|---|
artifactName |
string |
True |
JSON string containing the file name. Defined values are:
|
artifactIdentifier |
string |
True |
JSON string containing an identifier for this file. Between versions of the same package type, the file name might change but the identifier usually stays the same. Defined values are:
|
artifactPath |
string |
True |
JSON string containing the path to this artifact from the root of a known Astra Control Center Data Store/location. Example: /vmware/1.0/ Defined values are:
|
artifactVersion |
string |
False |
JSON string containing the version of that artifact, if provided. Defined values are:
|
dependsOnComponents |
array[dependsOnComponents] |
False |
JSON array of JSON objects describing the installed components required to install/upgrade the current image. |
files
Name | Type | Required | Description |
---|---|---|---|
fileName |
string |
True |
JSON string containing the file name. Defined values are:
|
fileIdentifier |
string |
True |
JSON string containing an identifier of this file. Between versions of the same package type, the file name might change but the identifier usually stays the same. Defined values are:
|
fileMediaType |
string |
True |
JSON string containing the file media-type. Defined values are any media type defined by IANA. In addition, application/x-yaml or application/x-yaml for yaml files is supported.
|
fileContents |
string |
True |
JSON string containing the file content. Defined values are:
|
upgradableVersions
JSON object containing the minimum and maximum versions that can be upgraded to the package version.
Name | Type | Required | Description |
---|---|---|---|
minVersion |
string |
False |
JSON string describing the minimum version that can be upgraded to the package version. Defined values are:
|
maxVersion |
string |
False |
JSON string describing the maximum version that can be upgraded to the package version. Defined values are:
|
dependencies
Name | Type | Required | Description |
---|---|---|---|
componentName |
string |
True |
JSON string describing the name of the component. Defined values are:
|
componentMinVersion |
string |
False |
JSON string describing the minimum version required of that component. Defined values are:
|
componentMaxVersion |
string |
False |
JSON string describing the maximum version required of that component. Defined values are:
|
type_astra_label
Name | Type | Required | Description |
---|---|---|---|
name |
string |
True |
|
value |
string |
True |
type_astra_metadata
Client and service-specified metadata associated with the resource. Defined values are:
-
Conforms to the Astra Metadata Schema If not specified on create, a metadata object will be created with no labels.
Name | Type | Required | Description |
---|---|---|---|
labels |
array[type_astra_label] |
True |
|
creationTimestamp |
string |
True |
|
modificationTimestamp |
string |
True |
|
createdBy |
string |
True |
|
modifiedBy |
string |
False |
type_astra_stateTransition
Name | Type | Required | Description |
---|---|---|---|
from |
string |
True |
|
to |
array[string] |
True |
additionalDetails
type_astra_stateDetail
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
additionalDetails |
False |
invalidParams
Name | Type | Required | Description |
---|---|---|---|
name |
string |
True |
Name of the invalid query parameter |
reason |
string |
True |
Reason why the query parameter is invalid |
invalidFields
Name | Type | Required | Description |
---|---|---|---|
name |
string |
True |
Name of the invalid request body field |
reason |
string |
True |
Reason why the request body field is invalid |