REST Resource: projects.locations.fleetPackages

Ressource : FleetPackage

Ressource FleetPackage dans l'API Config Delivery.

Un FleetPackage définit un package par lequel la configuration Kubernetes est déployée sur un parc de clusters Kubernetes.

Représentation JSON
{
  "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)
}
Champs
name

string

Identifiant. Nom du FleetPackage. Le format est le suivant : projects/{project}/locations/{location}/fleetPackages/{fleetPackage}. Le composant fleetPackage doit correspondre à [a-z][a-z0-9\-]{0,62}

createTime

string (Timestamp format)

Uniquement en sortie. Heure à laquelle le FleetPackage a été créé.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Uniquement en sortie. Heure la plus récente à laquelle FleetPackage a été mis à jour.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

Facultatif. Les libellés sont des attributs qui peuvent être définis et utilisés à la fois par l'utilisateur et par Config Delivery. Les libellés doivent respecter les contraintes suivantes :

  • Les clés et les valeurs ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets.
  • Tous les caractères doivent être au format d'encodage UTF-8. Les caractères internationaux sont autorisés.
  • Les clés doivent commencer par une lettre minuscule ou un caractère international.
  • Chaque ressource est limitée à 64 libellés maximum.

Les clés et les valeurs sont également limitées à 128 octets maximum.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

resourceBundleSelector

object (ResourceBundleSelector)

Obligatoire. Informations spécifiant la source de la configuration Kubernetes à déployer.

target

object (Target)

Facultatif. Configuration permettant de sélectionner les clusters cibles sur lesquels déployer la configuration Kubernetes.

rolloutStrategy

object (RolloutStrategy)

Facultatif. Stratégie à utiliser pour déployer la configuration Kubernetes sur les clusters.

variantSelector

object (VariantSelector)

Obligatoire. Informations spécifiant comment mapper une variante ResourceBundle à un cluster cible.

info

object (FleetPackageInfo)

Uniquement en sortie. Informations contenant l'état du déploiement de FleetPackage sur tous les clusters cibles.

deletionPropagationPolicy

enum (DeletionPropagationPolicy)

Facultatif. Informations sur la façon de gérer les ressources Kubernetes dans les clusters cibles lorsque le FleetPackage est supprimé.

state

enum (State)

Facultatif. État souhaité du package de parc.

ResourceBundleSelector

Informations spécifiant la source de la configuration Kubernetes à déployer.

Représentation JSON
{

  // 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.
}
Champs
Champ d'union source. La source peut être un ResourceBundle ou un CloudBuildRepository contenant la configuration Kubernetes, qui sont directement envoyés. source ne peut être qu'un des éléments suivants :
resourceBundle

object (ResourceBundleTag)

Informations spécifiant ResourceBundle.

cloudBuildRepository

object (CloudBuildRepository)

Informations spécifiant CloudBuildRepository.

ResourceBundleTag

ResourceBundleTag contient les informations permettant de faire référence à une version pour un ResourceBundle.

Représentation JSON
{
  "name": string,
  "tag": string
}
Champs
name

string

Obligatoire. Nom du ResourceBundle. Le format est projects/{p}/locations/{l}/resourceBundles/{r}.

tag

string

Obligatoire. Tag Git pour une version de la version dans un ResourceBundle. Le tag doit respecter le format de version sémantique vX.Y.Z.

CloudBuildRepository

CloudBuildRepository contient des informations sur la récupération de la configuration Kubernetes à partir d'un CloudBuildRepository.

Représentation JSON
{
  "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.
}
Champs
name

string

Obligatoire. Nom du dépôt Cloud Build. Le format est projects/{p}/locations/{l}/connections/{c}/repositories/{r}.

path

string

Facultatif. Chemin d'accès au répertoire ou au fichier du dépôt contenant la configuration Kubernetes. Si aucun chemin d'accès n'est spécifié, il est supposé être le répertoire racine de premier niveau du dépôt.

tag

string

Obligatoire. Tag Git du dépôt Git sous-jacent. Le tag Git doit être au format de version sémantique vX.Y.Z.

serviceAccount

string

Obligatoire. Compte de service Google à utiliser dans les déclencheurs Cloud Build pour récupérer et stocker la configuration Kubernetes.

Champ d'union variants. Spécifie la configuration permettant de trouver des variantes dans le dépôt. variants ne peut être qu'un des éléments suivants :
variantsPattern

string

Facultatif. Modèle glob qui sera utilisé pour trouver des variantes dans le dépôt. Exemples : variants/*.yaml, us-*

Cible

La cible définit différentes manières de cibler un ensemble de clusters Kubernetes.

Représentation JSON
{

  // Union field target can be only one of the following:
  "fleet": {
    object (Fleet)
  }
  // End of list of possible types for union field target.
}
Champs
Champ d'union target. Cible du package de parc. target ne peut être qu'un des éléments suivants :
fleet

object (Fleet)

Informations sur le parc GKE pour cibler le déploiement de FleetPackage.

Parc

Flotte dans laquelle le FleetPackage doit être déployé.

Représentation JSON
{
  "project": string,
  "selector": {
    object (LabelSelector)
  }
}
Champs
project

string

Obligatoire. Projet hôte du parc GKE. Le format est le suivant : projects/{project}.

selector

object (LabelSelector)

Facultatif. Le sélecteur permet de cibler un sous-ensemble de membres du parc à l'aide de leurs libellés.

LabelSelector

Un sélecteur d'étiquettes est une requête d'étiquettes sur un ensemble de ressources. Un sélecteur de libellé vide correspond à tous les objets.

Représentation JSON
{
  "matchLabels": {
    string: string,
    ...
  }
}
Champs
matchLabels

map (key: string, value: string)

Facultatif. Carte de paires {clé,valeur}. Chaque paire {clé,valeur} doit correspondre exactement à une clé et une valeur de libellé existantes pour que la correspondance soit établie.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

VariantSelector

VariantSelector contient des informations permettant de sélectionner une variante dans ResourceBundle à déployer sur un cluster cible.

Représentation JSON
{

  // Union field strategy can be only one of the following:
  "variantNameTemplate": string
  // End of list of possible types for union field strategy.
}
Champs
Champ d'union strategy. stratégie de sélection d'une variante. strategy ne peut être qu'un des éléments suivants :
variantNameTemplate

string

Obligatoire. variantNameTemplate est un modèle qui peut faire référence à des variables contenant des métadonnées d'appartenance à un cluster, telles que l'emplacement, le nom et les libellés servant à générer le nom de la variante pour un cluster cible. La syntaxe des variables est semblable à celle des variables de shell UNIX.

Les variables disponibles sont ${membership.name}, ${membership.location}, ${membership.project} et ${membership.labels['label_name']}.

Pour déployer une variante spécifique, par exemple "default" sur tous les clusters, il suffit d'utiliser la chaîne "default" (sans la moindre variable) comme valeur de variantNameTemplate.

FleetPackageInfo

FleetPackageInfo représente l'état de FleetPackage dans tous les clusters cibles.

Représentation JSON
{
  "activeRollout": string,
  "lastCompletedRollout": string,
  "state": enum (State),
  "errors": [
    {
      object (FleetPackageError)
    }
  ]
}
Champs
activeRollout

string

Facultatif. Déploiement actif, le cas échéant. Le format est le suivant : projects/{project}/locations/{location}/fleetPackages/{fleetPackage}/rollouts/{rollout}.

lastCompletedRollout

string

Facultatif. Le dernier déploiement terminé, le cas échéant. Le format est le suivant : projects/{project}/locations/{location}/fleetPackages/{fleetPackage}/rollouts/{rollout}.

state

enum (State)

Facultatif. Uniquement en sortie. État actuel de FleetPackage.

errors[]

object (FleetPackageError)

Facultatif. Uniquement en sortie. Erreurs rencontrées lors du déploiement de la configuration (le cas échéant).

État

Valeurs possibles pour l'état FleetPackage.

Enums
STATE_UNSPECIFIED État non spécifié.
ACTIVE FleetPackage est actif.
SUSPENDED FleetPackage est suspendu.
FAILED Échec de la réconciliation pour FleetPackage.
DELETING La ressource FleetPackage est en cours de suppression.

FleetPackageError

Informations représentant une erreur rencontrée lors du déploiement des configurations.

Représentation JSON
{
  "errorMessage": string
}
Champs
errorMessage

string

Facultatif. Description de l'erreur.

État

L'état indique l'état souhaité du package de parc. Une valeur non spécifiée équivaut à ACTIVE. Si l'état est défini sur SUSPENDED, le déploiement actif (le cas échéant) se poursuivra, mais aucun nouveau déploiement ne sera planifié.

Enums
STATE_UNSPECIFIED État non spécifié.
ACTIVE FleetPackage est censé être actif.
SUSPENDED La suspension de FleetPackage est prévue.

Méthodes

create

Crée un FleetPackage dans un projet et un emplacement donnés.

delete

Supprime un seul FleetPackage.

get

Récupère les détails d'un seul FleetPackage.

list

Liste les FleetPackages d'un projet et d'un emplacement donnés.

patch

Met à jour les paramètres d'un seul FleetPackage.