Neues Paket erstellen
POST /accounts/{account_id}/core/v1/packages
Gibt die gewünschten Werte für die zu erstellende Package-API-Ressource an.
Parameter
| Name | Typ | In | Erforderlich | Beschreibung |
|---|---|---|---|---|
Konto-ID |
Zeichenkette |
Pfad |
Wahr |
ID der übergeordneten Kontoressource
|
Anfragetext
Gibt die gewünschten Werte für die zu erstellende Package-API-Ressource an.
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Typ |
Zeichenkette |
Wahr |
Medientyp der Ressource. Definierte Werte sind:
|
Version |
Zeichenkette |
Wahr |
Version der Ressource. Definierte Werte sind:
|
packageName |
Zeichenkette |
Wahr |
JSON-Zeichenkette mit dem Paketnamen. Folgende Werte sind definiert:
|
packageVersion |
Zeichenkette |
Wahr |
JSON-Zeichenkette mit der SemVer des Pakets. Definierte Werte sind:
|
packageType |
Zeichenkette |
Wahr |
JSON-Zeichenkette mit dem Pakettyp, die angibt, ob es sich um ein vollständiges Installationspaket oder einen Patch handelt. Folgende Werte sind definiert:
|
bundleName |
Array[string] |
Falsch |
JSON-Array von JSON-Zeichenketten, die den Namen des Bundles enthalten, in dem das Paket enthalten ist. |
severityLevel |
Zeichenkette |
Wahr |
JSON-Zeichenkette, die den Schweregrad dieser Patch- oder Installationsversion beschreibt. Definierte Werte sind:
|
Bilder |
Array["Bilder"] |
Falsch |
JSON-Array von JSON-Objekten, die jeweils ein Docker-Image enthalten, das Teil des Pakets ist. |
Artefakte |
Array["Artefakte"] |
Falsch |
JSON-Array von JSON-Objekten, die die zusätzlichen Artefakte (Binärdateien und andere) beschreiben, die mit diesem Paket verknüpft sind. |
Dateien |
Array["Dateien"] |
Falsch |
JSON-Array von JSON-Objekten, die jeweils ein Nicht-Bild-Artefakt darstellen, das mit diesem Paket verknüpft ist. |
upgradableVersions |
Falsch |
JSON-Objekt, das die minimale und maximale Version enthält, die auf die Paketversion aktualisiert werden können. |
|
Abhängigkeiten |
Array["Abhängigkeiten"] |
Falsch |
JSON-Array von JSON-Objekten, die beschreiben, welche Mindestversion einer bestimmten Abhängigkeit für die Installation dieses Pakets erforderlich ist |
Metadaten |
Falsch |
Client- und dienstspezifische Metadaten, die der Ressource zugeordnet sind. Definierte Werte sind:
|
Beispielanfrage
{
"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"
}
]
}
Antwort
Status: 201, Returns the newly created package resource in the JSON response body.
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Typ |
Zeichenkette |
Wahr |
Medientyp der Ressource. Definierte Werte sind:
|
Version |
Zeichenkette |
Wahr |
Version der Ressource. Definierte Werte sind:
|
id |
Zeichenkette |
Wahr |
Weltweit eindeutiger Bezeichner der Ressource. Definierte Werte sind:
|
packageName |
Zeichenkette |
Wahr |
JSON-Zeichenkette mit dem Paketnamen. Folgende Werte sind definiert:
|
packageVersion |
Zeichenkette |
Wahr |
JSON-Zeichenkette mit der SemVer des Pakets. Definierte Werte sind:
|
packageType |
Zeichenkette |
Wahr |
JSON-Zeichenkette mit dem Pakettyp, die angibt, ob es sich um ein vollständiges Installationspaket oder einen Patch handelt. Folgende Werte sind definiert:
|
bundleName |
Array[string] |
Falsch |
JSON-Array von JSON-Zeichenketten, die den Namen des Bundles enthalten, in dem das Paket enthalten ist. |
severityLevel |
Zeichenkette |
Wahr |
JSON-Zeichenkette, die den Schweregrad dieser Patch- oder Installationsversion beschreibt. Definierte Werte sind:
|
packageState |
Zeichenkette |
Wahr |
JSON-Zeichenkette mit einem Wert, der den Betriebsstatus des Pakets angibt. Nach der Überprüfung des Pakets und nach dem Import lautet der Status „complete“. Andernfalls lautet der Status „incomplete“. Folgende Werte sind definiert:
|
packageStateTransitions |
Array["type_astra_stateTransition"] |
Wahr |
JSON-Array von JSON-Objekten, die jeweils die Menge der zulässigen Zustandsübergänge von einem definierten Zustand aus darstellen. Jedes JSON-Objekt enthält die Felder "from" und "to", wobei der Wert von "from" der Name eines Zustands ist und der Wert von "to" ein Array zulässiger Zielzustände ist. Definierte Werte sind:
|
packageStateDetails |
Array["type_astra_stateDetail"] |
Wahr |
Ein JSON-Array mit JSON-Objekten, das zusätzliche Details zum aktuellen „Zustand“ auflistet. Sind keine Details verfügbar, ist dieses Array leer.
|
Bilder |
Array["Bilder"] |
Falsch |
JSON-Array von JSON-Objekten, die jeweils ein Docker-Image enthalten, das Teil des Pakets ist. |
Artefakte |
Array["Artefakte"] |
Falsch |
JSON-Array von JSON-Objekten, die die zusätzlichen Artefakte (Binärdateien und andere) beschreiben, die mit diesem Paket verknüpft sind. |
Dateien |
Array["Dateien"] |
Falsch |
JSON-Array von JSON-Objekten, die jeweils ein Nicht-Bild-Artefakt darstellen, das mit diesem Paket verknüpft ist. |
upgradableVersions |
Falsch |
JSON-Objekt, das die minimale und maximale Version enthält, die auf die Paketversion aktualisiert werden können. |
|
Abhängigkeiten |
Array["Abhängigkeiten"] |
Falsch |
JSON-Array von JSON-Objekten, die beschreiben, welche Mindestversion einer bestimmten Abhängigkeit für die Installation dieses Pakets erforderlich ist |
Metadaten |
Wahr |
Client- und dienstspezifische Metadaten, die der Ressource zugeordnet sind. Definierte Werte sind:
|
Beispielantwort
{
"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"
}
}
Antwort
Status: 401, Unauthorized
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Typ |
Zeichenkette |
Wahr |
|
Titel |
Zeichenkette |
Wahr |
|
Detail |
Zeichenkette |
Wahr |
|
Status |
Zeichenkette |
Wahr |
|
Korrelations-ID |
Zeichenkette |
Falsch |
Beispielantwort
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
Antwort
Status: 400, Bad request
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Typ |
Zeichenkette |
Wahr |
|
Titel |
Zeichenkette |
Wahr |
|
Detail |
Zeichenkette |
Wahr |
|
Status |
Zeichenkette |
Wahr |
|
Korrelations-ID |
Zeichenkette |
Falsch |
|
invalidFields |
Array["invalidFields"] |
Falsch |
Liste ungültiger Anfragetextfelder |
Beispielantwort
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
Antwort
Status: 409, Conflict
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Typ |
Zeichenkette |
Wahr |
|
Titel |
Zeichenkette |
Wahr |
|
Detail |
Zeichenkette |
Wahr |
|
Status |
Zeichenkette |
Wahr |
|
Korrelations-ID |
Zeichenkette |
Falsch |
|
invalidFields |
Array["invalidFields"] |
Falsch |
Liste ungültiger Anfragetextfelder |
Beispielantwort
{
"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"
}
Antwort
Status: 403, Forbidden
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Typ |
Zeichenkette |
Wahr |
|
Titel |
Zeichenkette |
Wahr |
|
Detail |
Zeichenkette |
Wahr |
|
Status |
Zeichenkette |
Wahr |
|
Korrelations-ID |
Zeichenkette |
Falsch |
Beispielantwort
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
Fehler
Status: 404, Not found
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Typ |
Zeichenkette |
Wahr |
|
Titel |
Zeichenkette |
Wahr |
|
Detail |
Zeichenkette |
Wahr |
|
Status |
Zeichenkette |
Wahr |
|
Korrelations-ID |
Zeichenkette |
Falsch |
Beispiel-Fehlermeldung
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
Definitionen
Siehe Definitionen
dependsOnImages
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
imagePath |
Zeichenkette |
Wahr |
JSON-String mit dem Pfad zu diesem Docker-Image. Er darf nicht den Namen der Registry enthalten, sondern nur den absoluten Pfad vom Stammverzeichnis zum Image. Beispiel: /globalcicd/acc Definierte Werte sind:
|
imageName |
Zeichenkette |
Wahr |
JSON-Zeichenkette mit dem Namen des Docker-Images. Folgende Werte sind definiert:
|
imageTag |
Zeichenkette |
Wahr |
JSON-Zeichenkette, die das Tag/die Version dieses Bildes darstellt. Definierte Werte sind:
|
Bilder
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
imageName |
Zeichenkette |
Wahr |
JSON-Zeichenkette mit dem Namen des Docker-Images. Folgende Werte sind definiert:
|
imagePath |
Zeichenkette |
Wahr |
JSON-String mit dem Pfad zu diesem Docker-Image. Er darf nicht den Namen der Registry enthalten, sondern nur den absoluten Pfad vom Stammverzeichnis zum Image. Beispiel: /globalcicd/acc Definierte Werte sind:
|
imageTag |
Zeichenkette |
Wahr |
JSON-Zeichenkette, die das Tag/die Version dieses Bildes darstellt. Definierte Werte sind:
|
imageDigest |
Zeichenkette |
Wahr |
JSON-Zeichenkette, die den Digest dieses Bildes darstellt. Definierte Werte sind:
|
dependsOnImages |
Array["dependsOnImages"] |
Falsch |
JSON-Array von JSON-Objekten, die die zum Installieren oder Aktualisieren des aktuellen Images erforderlichen Images beschreiben. |
dependsOnComponents
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
componentName |
Zeichenkette |
Wahr |
JSON-Zeichenkette, die den Namen der Komponente beschreibt. Definierte Werte sind:
|
Versionen |
Array[string] |
Wahr |
JSON-Array von JSON-Zeichenketten, die die für die Installation des aktuellen Images erforderliche Komponentenversion definieren. |
Artefakte
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
artifactName |
Zeichenkette |
Wahr |
JSON-Zeichenkette mit dem Dateinamen. Definierte Werte sind:
|
artifactIdentifier |
Zeichenkette |
Wahr |
JSON-Zeichenkette mit einer Kennung für diese Datei. Zwischen verschiedenen Versionen desselben Pakettyps kann sich der Dateiname ändern, die Kennung bleibt jedoch in der Regel gleich. Folgende Werte sind definiert:
|
artifactPath |
Zeichenkette |
Wahr |
JSON-Zeichenfolge mit dem Pfad zu diesem Artefakt vom Stammverzeichnis eines bekannten Astra Control Center Data Store/Standorts. Beispiel: /vmware/1.0/ Definierte Werte sind:
|
artifactVersion |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit der Versionsnummer des Artefakts, sofern angegeben. Folgende Werte sind definiert:
|
dependsOnComponents |
Array["dependsOnComponents"] |
Falsch |
JSON-Array von JSON-Objekten, die die installierten Komponenten beschreiben, die zum Installieren/Aktualisieren des aktuellen Images erforderlich sind. |
Dateien
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
fileName |
Zeichenkette |
Wahr |
JSON-Zeichenkette mit dem Dateinamen. Definierte Werte sind:
|
fileIdentifier |
Zeichenkette |
Wahr |
JSON-Zeichenkette mit der Kennung dieser Datei. Zwischen verschiedenen Versionen desselben Pakettyps kann sich der Dateiname ändern, die Kennung bleibt jedoch in der Regel gleich. Folgende Werte sind definiert:
|
fileMediaType |
Zeichenkette |
Wahr |
JSON-Zeichenkette mit dem Dateimedientyp. Definierte Werte sind alle Medientypen, die durch "IANA" definiert sind. Zusätzlich werden application/x-yaml oder application/x-yaml für YAML-Dateien unterstützt.
|
fileContents |
Zeichenkette |
Wahr |
JSON-Zeichenkette mit dem Dateiinhalt. Definierte Werte sind:
|
upgradableVersions
JSON-Objekt, das die minimale und maximale Version enthält, die auf die Paketversion aktualisiert werden können.
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
minVersion |
Zeichenkette |
Falsch |
JSON-Zeichenkette, die die Mindestversion beschreibt, die auf die Paketversion aktualisiert werden kann. Definierte Werte sind:
|
maxVersion |
Zeichenkette |
Falsch |
JSON-Zeichenkette, die die maximale Version beschreibt, die auf die Paketversion aktualisiert werden kann. Definierte Werte sind:
|
Abhängigkeiten
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
componentName |
Zeichenkette |
Wahr |
JSON-Zeichenkette, die den Namen der Komponente beschreibt. Definierte Werte sind:
|
componentMinVersion |
Zeichenkette |
Falsch |
JSON-Zeichenkette, die die erforderliche Mindestversion der jeweiligen Komponente beschreibt. Folgende Werte sind definiert:
|
componentMaxVersion |
Zeichenkette |
Falsch |
JSON-Zeichenkette, die die maximal erforderliche Version dieser Komponente beschreibt. Definierte Werte sind:
|
Typ_Astra_Label
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Name |
Zeichenkette |
Wahr |
|
Wert |
Zeichenkette |
Wahr |
type_astra_metadata
Client- und dienstspezifische Metadaten, die der Ressource zugeordnet sind. Definierte Werte sind:
-
Entspricht dem Astra-Metadatenschema. Falls beim Erstellen keine Bezeichnung angegeben wird, wird ein Metadatenobjekt ohne Bezeichnungen erstellt.
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Etiketten |
Array["Typ_Astra_Label"] |
Wahr |
|
CreationZeitstempel |
Zeichenkette |
Wahr |
|
Änderungszeitstempel |
Zeichenkette |
Wahr |
|
Erstellt von |
Zeichenkette |
Wahr |
|
modifiedBy |
Zeichenkette |
Falsch |
type_astra_stateTransition
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
aus |
Zeichenkette |
Wahr |
|
: |
Array[string] |
Wahr |
additionalDetails
type_astra_stateDetail
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Typ |
Zeichenkette |
Wahr |
|
Titel |
Zeichenkette |
Wahr |
|
Detail |
Zeichenkette |
Wahr |
|
additionalDetails |
Falsch |
invalidParams
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Name |
Zeichenkette |
Wahr |
Name des ungültigen Abfrageparameters |
Grund |
Zeichenkette |
Wahr |
Grund, warum der Abfrageparameter ungültig ist |
invalidFields
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Name |
Zeichenkette |
Wahr |
Name des ungültigen Anfragetextfelds |
Grund |
Zeichenkette |
Wahr |
Grund, warum das Anfragekörperfeld ungültig ist |