Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

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

  • example: {{.Account}}

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:

  • "application/astra-package"

version

string

True

Version of the resource. Defined values are:

  • "1.0"

packageName

string

True

JSON string containing the package name. Defined values are:

  • Minimum length: 1

  • Maximum length: 31 Example values are:

  • "acc"

  • "acs"

  • "trident"

packageVersion

string

True

JSON string containing the SemVer of the package. Defined values are:

  • Conforms to the SemVer Schema

packageType

string

True

JSON string containing the package type, indicating whether this is a full installation package or a patch. Defined values are:

  • "install"

  • "patch"

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:

  • "recommended" - Installation is recommended - Default value

  • "critical" - Installation is strongly recommended to address critical bug fixes and/or security patches

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

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

type_astra_metadata

False

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.

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:

  • "application/astra-package"

version

string

True

Version of the resource. Defined values are:

  • "1.0"

id

string

True

Globally unique identifier of the resource. Defined values are:

  • Conforms to the UUIDv4 Schema

packageName

string

True

JSON string containing the package name. Defined values are:

  • Minimum length: 1

  • Maximum length: 31 Example values are:

  • "acc"

  • "acs"

  • "trident"

packageVersion

string

True

JSON string containing the SemVer of the package. Defined values are:

  • Conforms to the SemVer Schema

packageType

string

True

JSON string containing the package type, indicating whether this is a full installation package or a patch. Defined values are:

  • "install"

  • "patch"

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:

  • "recommended" - Installation is recommended - Default value

  • "critical" - Installation is strongly recommended to address critical bug fixes and/or security patches

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:

  • "verifying" - The package is in the process of being validated

  • "corrupt" - The package is corrupt

  • "incomplete" - The package is missing elements

  • "available" - All elements associated with the package are available and the package is ready for use

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:

  • Conforms to the State Transition Schema

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.

  • Minimum Items: 0

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

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

type_astra_metadata

True

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.

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:

  • Minimum length: 1

  • Maximum length: 1023

imageName

string

True

JSON string containing the Docker image name. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

imageTag

string

True

JSON string representing the tag/version of this image. Defined values are:

  • Minimum length: 1

  • Maximum length: 31

images

Name Type Required Description

imageName

string

True

JSON string containing the Docker image name. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

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:

  • Minimum length: 1

  • Maximum length: 1023

imageTag

string

True

JSON string representing the tag/version of this image. Defined values are:

  • Minimum length: 1

  • Maximum length: 31

imageDigest

string

True

JSON string representing the digest of this image. Defined values are:

  • Defined regex is: "^(sha256:)[0-9a-f]{64}$"

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:

  • "acc"

  • "acs"

  • "trident"

  • "kubernetes"

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:

  • Minimum length: 1

  • Maximum length: 63

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:

  • Minimum length: 1

  • Maximum length: 511

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:

  • Minimum length: 1

  • Maximum length: 1023

artifactVersion

string

False

JSON string containing the version of that artifact, if provided. Defined values are:

  • Conforms to the SemVer Schema

  • Minimum length: 1

  • Maximum length: 31

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:

  • Minimum length: 1

  • Maximum length: 63

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:

  • Minimum length: 1

  • Maximum length: 511

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.

  • Minimum length: 1

  • Maximum length: 211

fileContents

string

True

JSON string containing the file content. Defined values are:

  • Conforms to the Base64 Schema FIXME - How do we specify that this is compressed? What algorithm ,etc?

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:

  • Conforms to the SemVer Schema

maxVersion

string

False

JSON string describing the maximum version that can be upgraded to the package version. Defined values are:

  • Conforms to the SemVer Schema

dependencies

Name Type Required Description

componentName

string

True

JSON string describing the name of the component. Defined values are:

  • "acc"

  • "acs"

  • "trident"

  • "kubernetes"

componentMinVersion

string

False

JSON string describing the minimum version required of that component. Defined values are:

  • Conforms to the SemVer Schema

componentMaxVersion

string

False

JSON string describing the maximum version required of that component. Defined values are:

  • Conforms to the SemVer Schema

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

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