Crear un nuevo paquete
POST /accounts/{account_id}/core/v1/packages
Indica los valores deseados para el recurso Package API que se va a crear.
Parámetros
| Nombre | Tipo | En | Obligatorio | Descripción |
|---|---|---|---|---|
account_id |
cadena |
ruta |
Verdadero |
ID del recurso de cuenta que lo contiene
|
Cuerpo de la solicitud
Indica los valores deseados para el recurso Package API que se va a crear.
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
Tipo de medio del recurso. Los valores definidos son:
|
versión |
cadena |
Verdadero |
Versión del recurso. Los valores definidos son:
|
packageName |
cadena |
Verdadero |
Cadena JSON que contiene el nombre del paquete. Los valores definidos son:
|
packageVersion |
cadena |
Verdadero |
Cadena JSON que contiene el SemVer del paquete. Los valores definidos son:
|
packageType |
cadena |
Verdadero |
Cadena JSON que contiene el tipo de paquete, indicando si se trata de un paquete de instalación completa o de un parche. Los valores definidos son:
|
bundleName |
array[string] |
Falso |
Matriz JSON de cadenas JSON que contiene el nombre del bundle en el que está contenido el paquete. |
severityLevel |
cadena |
Verdadero |
Cadena JSON que describe el nivel de gravedad de este parche o instalación. Los valores definidos son:
|
imágenes |
array["imágenes"] |
Falso |
Matriz JSON de objetos JSON, cada uno de los cuales contiene una imagen Docker que forma parte del paquete. |
artefactos |
array["artefactos"] |
Falso |
Matriz JSON de objetos JSON que describen los artefactos adicionales (binarios y otros) asociados con este paquete. |
archivos |
array["archivos"] |
Falso |
Matriz JSON de objetos JSON, cada uno de los cuales representa un artefacto que no es una imagen asociado con este paquete. |
upgradableVersions |
Falso |
Objeto JSON que contiene las versiones mínima y máxima que pueden actualizarse a la versión del paquete. |
|
dependencias |
array["dependencias"] |
Falso |
Matriz JSON de objetos JSON que describen qué versión mínima de una dependencia dada se requiere para que este paquete se instale |
metadatos |
Falso |
Metadatos especificados por el cliente y el servicio asociados con el recurso. Los valores definidos son:
|
Ejemplo de solicitud
{
"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"
}
]
}
Respuesta
Status: 201, Returns the newly created package resource in the JSON response body.
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
Tipo de medio del recurso. Los valores definidos son:
|
versión |
cadena |
Verdadero |
Versión del recurso. Los valores definidos son:
|
id |
cadena |
Verdadero |
Identificador único global del recurso. Los valores definidos son:
|
packageName |
cadena |
Verdadero |
Cadena JSON que contiene el nombre del paquete. Los valores definidos son:
|
packageVersion |
cadena |
Verdadero |
Cadena JSON que contiene el SemVer del paquete. Los valores definidos son:
|
packageType |
cadena |
Verdadero |
Cadena JSON que contiene el tipo de paquete, indicando si se trata de un paquete de instalación completa o de un parche. Los valores definidos son:
|
bundleName |
array[string] |
Falso |
Matriz JSON de cadenas JSON que contiene el nombre del bundle en el que está contenido el paquete. |
severityLevel |
cadena |
Verdadero |
Cadena JSON que describe el nivel de gravedad de este parche o instalación. Los valores definidos son:
|
packageState |
cadena |
Verdadero |
Cadena JSON que contiene un valor que indica el estado operativo del paquete. Tras la verificación del paquete y después de la importación, el estado indicará "completo". En caso contrario, el estado indicará "incompleto". Los valores definidos son:
|
packageStateTransitions |
array["type_astra_stateTransition"] |
Verdadero |
Matriz JSON de objetos JSON, cada uno de los cuales representa el conjunto de transiciones de estado permitidas desde un estado definido dado. Cada objeto JSON contiene los campos "from" y "to", donde el valor "from" es el nombre de un estado y el valor "to" es una matriz de estados de destino permitidos. Los valores definidos son:
|
packageStateDetails |
array["type_astra_stateDetail"] |
Verdadero |
Matriz de objetos JSON que enumera detalles adicionales sobre el "estado" actual. Si no hay detalles disponibles, esta matriz estará vacía.
|
imágenes |
array["imágenes"] |
Falso |
Matriz JSON de objetos JSON, cada uno de los cuales contiene una imagen Docker que forma parte del paquete. |
artefactos |
array["artefactos"] |
Falso |
Matriz JSON de objetos JSON que describen los artefactos adicionales (binarios y otros) asociados con este paquete. |
archivos |
array["archivos"] |
Falso |
Matriz JSON de objetos JSON, cada uno de los cuales representa un artefacto que no es una imagen asociado con este paquete. |
upgradableVersions |
Falso |
Objeto JSON que contiene las versiones mínima y máxima que pueden actualizarse a la versión del paquete. |
|
dependencias |
array["dependencias"] |
Falso |
Matriz JSON de objetos JSON que describen qué versión mínima de una dependencia dada se requiere para que este paquete se instale |
metadatos |
Verdadero |
Metadatos especificados por el cliente y el servicio asociados con el recurso. Los valores definidos son:
|
Ejemplo de respuesta
{
"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"
}
}
Respuesta
Status: 401, Unauthorized
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
|
título |
cadena |
Verdadero |
|
detalle |
cadena |
Verdadero |
|
estado |
cadena |
Verdadero |
|
correlationID |
cadena |
Falso |
Ejemplo de respuesta
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
Respuesta
Status: 400, Bad request
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
|
título |
cadena |
Verdadero |
|
detalle |
cadena |
Verdadero |
|
estado |
cadena |
Verdadero |
|
correlationID |
cadena |
Falso |
|
invalidFields |
array["invalidFields"] |
Falso |
Lista de campos del cuerpo de la solicitud no válidos |
Ejemplo de respuesta
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
Respuesta
Status: 409, Conflict
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
|
título |
cadena |
Verdadero |
|
detalle |
cadena |
Verdadero |
|
estado |
cadena |
Verdadero |
|
correlationID |
cadena |
Falso |
|
invalidFields |
array["invalidFields"] |
Falso |
Lista de campos del cuerpo de la solicitud no válidos |
Ejemplo de respuesta
{
"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"
}
Respuesta
Status: 403, Forbidden
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
|
título |
cadena |
Verdadero |
|
detalle |
cadena |
Verdadero |
|
estado |
cadena |
Verdadero |
|
correlationID |
cadena |
Falso |
Ejemplo de respuesta
{
"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
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
|
título |
cadena |
Verdadero |
|
detalle |
cadena |
Verdadero |
|
estado |
cadena |
Verdadero |
|
correlationID |
cadena |
Falso |
Ejemplo de respuesta de error
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
Definiciones
Ver definiciones
dependsOnImages
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
imagePath |
cadena |
Verdadero |
Cadena JSON que contiene la ruta a esta imagen Docker. No debe contener el nombre del registro, solo la ruta absoluta desde la raíz a la imagen. Ejemplo: /globalcicd/acc Los valores definidos son:
|
imageName |
cadena |
Verdadero |
Cadena JSON que contiene el nombre de la imagen Docker. Los valores definidos son:
|
imageTag |
cadena |
Verdadero |
Cadena JSON que representa la etiqueta/versión de esta imagen. Los valores definidos son:
|
imágenes
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
imageName |
cadena |
Verdadero |
Cadena JSON que contiene el nombre de la imagen Docker. Los valores definidos son:
|
imagePath |
cadena |
Verdadero |
Cadena JSON que contiene la ruta a esta imagen Docker. No debe contener el nombre del registro, solo la ruta absoluta desde la raíz a la imagen. Ejemplo: /globalcicd/acc Los valores definidos son:
|
imageTag |
cadena |
Verdadero |
Cadena JSON que representa la etiqueta/versión de esta imagen. Los valores definidos son:
|
imageDigest |
cadena |
Verdadero |
Cadena JSON que representa el resumen de esta imagen. Los valores definidos son:
|
dependsOnImages |
array["dependsOnImages"] |
Falso |
Matriz JSON de objetos JSON que describen las imágenes necesarias para instalar o actualizar la imagen actual. |
dependsOnComponents
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
componentName |
cadena |
Verdadero |
Cadena JSON que describe el nombre del componente. Los valores definidos son:
|
versiones |
array[string] |
Verdadero |
Matriz JSON de cadenas JSON que definen la versión del componente necesaria para instalar la imagen actual. |
artefactos
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
artifactName |
cadena |
Verdadero |
Cadena JSON que contiene el nombre del archivo. Los valores definidos son:
|
artifactIdentifier |
cadena |
Verdadero |
Cadena JSON que contiene un identificador para este archivo. Entre versiones del mismo tipo de paquete, el nombre del archivo puede cambiar pero el identificador suele ser el mismo. Los valores definidos son:
|
artifactPath |
cadena |
Verdadero |
Cadena JSON que contiene la ruta a este artefacto desde la raíz de una ubicación/almacén de datos conocido de Astra Control Center. Ejemplo: /vmware/1.0/ Los valores definidos son:
|
artifactVersion |
cadena |
Falso |
Cadena JSON que contiene la versión de ese artefacto, si se proporciona. Los valores definidos son:
|
dependsOnComponents |
array["dependsOnComponents"] |
Falso |
Matriz JSON de objetos JSON que describen los componentes instalados necesarios para instalar/actualizar la imagen actual. |
archivos
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
fileName |
cadena |
Verdadero |
Cadena JSON que contiene el nombre del archivo. Los valores definidos son:
|
fileIdentifier |
cadena |
Verdadero |
Cadena JSON que contiene un identificador de este archivo. Entre versiones del mismo tipo de paquete, el nombre del archivo puede cambiar pero el identificador suele ser el mismo. Los valores definidos son:
|
fileMediaType |
cadena |
Verdadero |
Cadena JSON que contiene el tipo de medio del archivo. Los valores definidos son cualquier tipo de medio definido por "IANA". Además, se admite application/x-yaml o application/x-yaml para archivos yaml.
|
fileContents |
cadena |
Verdadero |
Cadena JSON que contiene el contenido del archivo. Los valores definidos son:
|
upgradableVersions
Objeto JSON que contiene las versiones mínima y máxima que pueden actualizarse a la versión del paquete.
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
minVersion |
cadena |
Falso |
Cadena JSON que describe la versión mínima que puede actualizarse a la versión del paquete. Los valores definidos son:
|
maxVersion |
cadena |
Falso |
Cadena JSON que describe la versión máxima a la que se puede actualizar la versión del paquete. Los valores definidos son:
|
dependencias
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
componentName |
cadena |
Verdadero |
Cadena JSON que describe el nombre del componente. Los valores definidos son:
|
componentMinVersion |
cadena |
Falso |
Cadena JSON que describe la versión mínima requerida de ese componente. Los valores definidos son:
|
componentMaxVersion |
cadena |
Falso |
Cadena JSON que describe la versión máxima requerida de ese componente. Los valores definidos son:
|
etiqueta_tipo_astra
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
nombre |
cadena |
Verdadero |
|
valor |
cadena |
Verdadero |
tipo_astra_metadatos
Metadatos especificados por el cliente y el servicio asociados con el recurso. Los valores definidos son:
-
Se ajusta al esquema de metadatos de Astra Si no se especifica al crear, se creará un objeto de metadatos sin etiquetas.
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
etiquetas |
array["etiqueta_tipo_astra"] |
Verdadero |
|
CreationTimestamp |
cadena |
Verdadero |
|
Modificación.Marca de hora |
cadena |
Verdadero |
|
CreatedBy |
cadena |
Verdadero |
|
modifiedBy |
cadena |
Falso |
type_astra_stateTransition
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
de |
cadena |
Verdadero |
|
a |
array[string] |
Verdadero |
additionalDetails
type_astra_stateDetail
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
|
título |
cadena |
Verdadero |
|
detalle |
cadena |
Verdadero |
|
additionalDetails |
Falso |
invalidParams
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
nombre |
cadena |
Verdadero |
Nombre del parámetro de consulta no válido |
motivo |
cadena |
Verdadero |
Razón por la que el parámetro de consulta no es válido |
invalidFields
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
nombre |
cadena |
Verdadero |
Nombre del campo no válido del cuerpo de la solicitud |
motivo |
cadena |
Verdadero |
Motivo por el que el campo del cuerpo de la solicitud no es válido |