REST Resource: projects.locations.fleetPackages

Ressource: FleetPackage

Eine FleetPackage-Ressource in der Config Delivery API.

Ein FleetPackage definiert ein Paket, über das die Kubernetes-Konfiguration in einer Flotte von Kubernetes-Clustern bereitgestellt wird.

JSON-Darstellung
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "resourceBundleSelector": {
    object (ResourceBundleSelector)
  },
  "target": {
    object (Target)
  },
  "rolloutStrategy": {
    object (RolloutStrategy)
  },
  "variantSelector": {
    object (VariantSelector)
  },
  "info": {
    object (FleetPackageInfo)
  },
  "deletionPropagationPolicy": enum (DeletionPropagationPolicy),
  "state": enum (State)
}
Felder
name

string

ID. Name des FleetPackage. Das Format ist projects/{project}/locations/{location}/fleetPackages/{fleetPackage}. Die Komponente fleetPackage muss mit [a-z][a-z0-9\-]{0,62} übereinstimmen.

createTime

string (Timestamp format)

Nur Ausgabe. Zeitpunkt, zu dem die FleetPackage erstellt wurde.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

Nur Ausgabe. Der Zeitpunkt, zu dem FleetPackage zuletzt aktualisiert wurde.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

Optional. Labels sind Attribute, die sowohl vom Nutzer als auch von Config Delivery festgelegt und verwendet werden können. Labels müssen die folgenden Einschränkungen erfüllen:

  • Schlüssel und Werte dürfen nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten.
  • Alle Zeichen müssen UTF-8-codiert sein. Internationale Zeichen sind zulässig.
  • Schlüssel müssen mit einem Kleinbuchstaben oder einem internationalen Zeichen beginnen.
  • Jede Ressource kann maximal 64 Labels haben.

Sowohl Schlüssel als auch Werte dürfen außerdem nicht länger als 128 Byte sein.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

resourceBundleSelector

object (ResourceBundleSelector)

Erforderlich. Informationen zur Quelle der bereitzustellenden Kubernetes-Konfiguration.

target

object (Target)

Optional. Konfiguration zum Auswählen von Zielclustern für die Bereitstellung der Kubernetes-Konfiguration.

rolloutStrategy

object (RolloutStrategy)

Optional. Die Strategie, die zum Bereitstellen der Kubernetes-Konfiguration in Clustern verwendet werden soll.

variantSelector

object (VariantSelector)

Erforderlich. Informationen dazu, wie eine ResourceBundle-Variante einem Zielcluster zugeordnet wird.

info

object (FleetPackageInfo)

Nur Ausgabe. Informationen zum Roll-out-Status von FleetPackage in allen Zielclustern.

deletionPropagationPolicy

enum (DeletionPropagationPolicy)

Optional. Informationen zum Umgang mit Kubernetes-Ressourcen in den Zielclustern, wenn FleetPackage gelöscht wird.

state

enum (State)

Optional. Der gewünschte Status des Flottenpakets.

ResourceBundleSelector

Informationen zur Quelle der bereitzustellenden Kubernetes-Konfiguration.

JSON-Darstellung
{

  // Union field source can be only one of the following:
  "resourceBundle": {
    object (ResourceBundleTag)
  },
  "cloudBuildRepository": {
    object (CloudBuildRepository)
  }
  // End of list of possible types for union field source.
}
Felder
Union-Feld source. Die Quelle kann ein direkt gepushtes ResourceBundle oder CloudBuildRepository sein, das die Kubernetes-Konfiguration enthält. Für source ist nur einer der folgenden Werte zulässig:
resourceBundle

object (ResourceBundleTag)

Informationen zur Angabe von ResourceBundle.

cloudBuildRepository

object (CloudBuildRepository)

Informationen zur Angabe von CloudBuildRepository.

ResourceBundleTag

ResourceBundleTag enthält die Informationen, um auf ein Release für eine ResourceBundle zu verweisen.

JSON-Darstellung
{
  "name": string,
  "tag": string
}
Felder
name

string

Erforderlich. Name des ResourceBundle. Format: projects/{p}/locations/{l}/resourceBundles/{r}.

tag

string

Erforderlich. Das Git-Tag für eine Version des Releases in einem ResourceBundle. Das Tag muss dem Format der semantischen Versionierung vX.Y.Z entsprechen.

CloudBuildRepository

CloudBuildRepository enthält Informationen zum Abrufen der Kubernetes-Konfiguration aus einem CloudBuildRepository.

JSON-Darstellung
{
  "name": string,
  "path": string,
  "tag": string,
  "serviceAccount": string,

  // Union field variants can be only one of the following:
  "variantsPattern": string
  // End of list of possible types for union field variants.
}
Felder
name

string

Erforderlich. Name des Cloud Build-Repositorys. Format: projects/{p}/locations/{l}/connections/{c}/repositories/{r}.

path

string

Optional. Pfad zum Verzeichnis oder zur Datei im Repository, die die Kubernetes-Konfiguration enthält. Wenn nicht angegeben, wird davon ausgegangen, dass sich der Pfad auf das Stammverzeichnis der obersten Ebene des Repositorys bezieht.

tag

string

Erforderlich. Git-Tag des zugrunde liegenden Git-Repositorys. Das Git-Tag muss das semantische Versionsformat vX.Y.Z haben.

serviceAccount

string

Erforderlich. Google-Dienstkonto, das in Cloud Build-Triggern zum Abrufen und Speichern der Kubernetes-Konfiguration verwendet werden soll.

Union-Feld variants. Gibt die Konfiguration für die Suche nach Varianten im Repository an. Für variants ist nur einer der folgenden Werte zulässig:
variantsPattern

string

Optional. Glob-Muster, das zum Suchen von Varianten im Repository verwendet wird. Beispiele: variants/*.yaml, us-*

Ziel

Das Ziel definiert verschiedene Möglichkeiten, eine Gruppe von Kubernetes-Clustern auszurichten.

JSON-Darstellung
{

  // Union field target can be only one of the following:
  "fleet": {
    object (Fleet)
  }
  // End of list of possible types for union field target.
}
Felder
Union-Feld target. Ziel für das Flottenpaket. Für target ist nur einer der folgenden Werte zulässig:
fleet

object (Fleet)

GKE-Flotteninformationen für das Targeting des Roll-outs des FleetPackage.

Flotte

Die Flotte, in der FleetPackage bereitgestellt werden soll.

JSON-Darstellung
{
  "project": string,
  "selector": {
    object (LabelSelector)
  }
}
Felder
project

string

Erforderlich. Das Hostprojekt für die GKE-Flotte. Das Format ist projects/{project}.

selector

object (LabelSelector)

Optional. Mit dem Selektor können Sie eine Teilmenge von Flottenmitgliedern anhand ihrer Labels ausrichten.

LabelSelector

Ein Label-Selektor ist eine Label-Abfrage für eine Reihe von Ressourcen. Ein leerer Label-Selektor stimmt mit allen Objekten überein.

JSON-Darstellung
{
  "matchLabels": {
    string: string,
    ...
  }
}
Felder
matchLabels

map (key: string, value: string)

Optional. Zuordnung von {key,value}-Paaren. Jedes {Schlüssel,Wert}-Paar muss genau mit einem vorhandenen Labelschlüssel und -wert übereinstimmen, damit die Übereinstimmung erfüllt ist.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

VariantSelector

VariantSelector enthält Informationen zum Auswählen einer Variante in ResourceBundle, die in einem Zielcluster bereitgestellt werden soll.

JSON-Darstellung
{

  // Union field strategy can be only one of the following:
  "variantNameTemplate": string
  // End of list of possible types for union field strategy.
}
Felder
Union-Feld strategy. Strategie zur Auswahl einer Variante. Für strategy ist nur einer der folgenden Werte zulässig:
variantNameTemplate

string

Erforderlich. „variantNameTemplate“ ist eine Vorlage, die auf Variablen verweisen kann, die Metadaten zur Clustermitgliedschaft enthalten, wie z. B. Standort, Name und Labels, um den Namen der Variante für einen Zielcluster zu generieren. Die Variablensyntax ähnelt der von Unix-Shell-Variablen.

Verfügbare Variablen sind ${membership.name}, ${membership.location}, ${membership.project} und ${membership.labels['label_name']}.

Wenn eine bestimmte Variante, z. B. „default“, in allen Clustern verwendet werden soll, kann einfach „default“ (String ohne Variablen) als „variantNameTemplate“ verwendet werden.

FleetPackageInfo

FleetPackageInfo stellt den Status von FleetPackage in allen Zielclustern dar.

JSON-Darstellung
{
  "activeRollout": string,
  "lastCompletedRollout": string,
  "state": enum (State),
  "errors": [
    {
      object (FleetPackageError)
    }
  ]
}
Felder
activeRollout

string

Optional. Der aktive Roll-out, falls vorhanden. Das Format ist projects/{project}/locations/{location}/fleetPackages/{fleetPackage}/rollouts/{rollout}.

lastCompletedRollout

string

Optional. Das letzte abgeschlossene Roll-out, falls vorhanden. Das Format ist projects/{project}/locations/{location}/fleetPackages/{fleetPackage}/rollouts/{rollout}.

state

enum (State)

Optional. Nur Ausgabe. Der aktuelle Status von FleetPackage.

errors[]

object (FleetPackageError)

Optional. Nur Ausgabe. Fehler, die bei der Bereitstellung der Konfiguration aufgetreten sind (falls vorhanden).

Bundesland

Mögliche Werte für den Status FleetPackage.

Enums
STATE_UNSPECIFIED Nicht angegebener Zustand.
ACTIVE FleetPackage ist aktiv.
SUSPENDED FleetPackage wurde gesperrt.
FAILED FleetPackage konnte nicht abgeglichen werden.
DELETING FleetPackage wird gelöscht.

FleetPackageError

Informationen zu einem Fehler, der beim Einführen von Konfigurationen aufgetreten ist.

JSON-Darstellung
{
  "errorMessage": string
}
Felder
errorMessage

string

Optional. Eine Beschreibung des Fehlers.

Bundesland

„State“ gibt den gewünschten Status für das Flottenpaket an. Ein nicht angegebener Wert entspricht ACTIVE. Wenn der Status auf SUSPENDED festgelegt ist, wird ein aktives Roll-out (falls vorhanden) fortgesetzt, aber es werden keine neuen Roll-outs geplant.

Enums
STATE_UNSPECIFIED Nicht angegebener Zustand.
ACTIVE FleetPackage soll aktiv sein.
SUSPENDED FleetPackage soll gesperrt werden.

Methoden

create

Erstellt ein neues FleetPackage in einem bestimmten Projekt und an einem bestimmten Standort.

delete

Löscht ein einzelnes FleetPackage.

get

Ruft Details zu einem einzelnen FleetPackage ab.

list

Listet FleetPackages in einem bestimmten Projekt und an einem bestimmten Standort auf.

patch

Aktualisiert die Parameter eines einzelnen FleetPackage.