REST Resource: projects.locations.fleetPackages

Recurso: FleetPackage

Es un recurso FleetPackage en la API de Config Delivery.

Un FleetPackage define un paquete a través del cual se implementa la configuración de Kubernetes en una flota de clústeres de Kubernetes.

Representación 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)
}
Campos
name

string

Es el identificador. Nombre del FleetPackage. El formato es projects/{project}/locations/{location}/fleetPackages/{fleetPackage}. El componente fleetPackage debe coincidir con [a-z][a-z0-9\-]{0,62}

createTime

string (Timestamp format)

Solo salida. Fecha y hora en que se creó el objeto FleetPackage.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo salida. Es la fecha y hora más reciente en la que se actualizó el FleetPackage.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

Es opcional. Las etiquetas son atributos que pueden establecer y usar tanto el usuario como Config Delivery. Las etiquetas deben cumplir con las siguientes restricciones:

  • Las claves y los valores solo pueden contener letras en minúscula, números, guiones bajos y guiones.
  • Todos los caracteres deben usar la codificación UTF-8 y se permiten los caracteres internacionales.
  • Las claves deben empezar con una letra en minúscula o un carácter internacional.
  • Cada recurso está limitado a un máximo de 64 etiquetas.

Además, tanto las claves como los valores están restringidos a un máximo de 128 bytes.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

resourceBundleSelector

object (ResourceBundleSelector)

Obligatorio. Es información que especifica la fuente de la configuración de Kubernetes que se implementará.

target

object (Target)

Es opcional. Es la configuración para seleccionar los clústeres de destino en los que se implementará la configuración de Kubernetes.

rolloutStrategy

object (RolloutStrategy)

Es opcional. Es la estrategia que se usará para implementar la configuración de Kubernetes en los clústeres.

variantSelector

object (VariantSelector)

Obligatorio. Es información que especifica cómo asignar una variante de ResourceBundle a un clúster de destino.

info

object (FleetPackageInfo)

Solo salida. Es información que contiene el estado del lanzamiento de FleetPackage en todos los clústeres objetivo.

deletionPropagationPolicy

enum (DeletionPropagationPolicy)

Es opcional. Es la información sobre cómo controlar los recursos de Kubernetes en los clústeres de destino cuando se borra el objeto FleetPackage.

state

enum (State)

Es opcional. Es el estado deseado del paquete de flota.

ResourceBundleSelector

Es información que especifica la fuente de la configuración de Kubernetes que se implementará.

Representación 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.
}
Campos
Campo de unión source. La fuente puede ser un ResourceBundle o un CloudBuildRepository enviados directamente que contengan la configuración de Kubernetes. source puede ser solo uno de los siguientes valores:
resourceBundle

object (ResourceBundleTag)

Es la información que especifica ResourceBundle.

cloudBuildRepository

object (CloudBuildRepository)

Es la información que especifica CloudBuildRepository.

ResourceBundleTag

ResourceBundleTag contiene la información para hacer referencia a una versión de un ResourceBundle.

Representación JSON
{
  "name": string,
  "tag": string
}
Campos
name

string

Obligatorio. Nombre del ResourceBundle. El formato es projects/{p}/locations/{l}/resourceBundles/{r}.

tag

string

Obligatorio. Es la etiqueta de Git para una versión de la versión en un ResourceBundle. La etiqueta debe seguir el formato de control de versiones semántico vX.Y.Z.

CloudBuildRepository

CloudBuildRepository contiene información para recuperar la configuración de Kubernetes de un CloudBuildRepository.

Representación 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.
}
Campos
name

string

Obligatorio. Nombre del repositorio de Cloud Build. El formato es projects/{p}/locations/{l}/connections/{c}/repositories/{r}.

path

string

Es opcional. Ruta de acceso al directorio o archivo dentro del repositorio que contiene la configuración de Kubernetes. Si no se especifica, se supone que la ruta de acceso es el directorio raíz de nivel superior del repositorio.

tag

string

Obligatorio. Es la etiqueta de Git del repositorio de Git subyacente. La etiqueta de Git debe tener el formato de versión semántica vX.Y.Z.

serviceAccount

string

Obligatorio. Es la cuenta de servicio de Google que se usará en los activadores de Cloud Build para recuperar y almacenar la configuración de Kubernetes.

Campo de unión variants. Especifica la configuración para encontrar variantes en el repositorio. variants puede ser solo uno de los parámetros siguientes:
variantsPattern

string

Es opcional. Es el patrón glob que se usará para encontrar variantes en el repositorio. Ejemplos: variants/*.yaml, us-*

Objetivo

El destino define diferentes formas de segmentar un conjunto de clústeres de Kubernetes.

Representación JSON
{

  // Union field target can be only one of the following:
  "fleet": {
    object (Fleet)
  }
  // End of list of possible types for union field target.
}
Campos
Campo de unión target. Es el objetivo del paquete de flota. target puede ser solo uno de los parámetros siguientes:
fleet

object (Fleet)

Es la información de la flota de GKE para segmentar el lanzamiento de FleetPackage.

Flota

Es la flota en la que se debe implementar el objeto FleetPackage.

Representación JSON
{
  "project": string,
  "selector": {
    object (LabelSelector)
  }
}
Campos
project

string

Obligatorio. Es el proyecto host de la flota de GKE. El formato es projects/{project}.

selector

object (LabelSelector)

Es opcional. El selector permite segmentar un subconjunto de miembros de la flota con sus etiquetas.

LabelSelector

Un selector de etiquetas es una consulta de etiquetas sobre un conjunto de recursos. Un selector de etiquetas vacío coincide con todos los objetos.

Representación JSON
{
  "matchLabels": {
    string: string,
    ...
  }
}
Campos
matchLabels

map (key: string, value: string)

Es opcional. Mapa de pares {clave,valor}. Cada par {clave,valor} debe coincidir exactamente con una clave y un valor de etiqueta existentes para satisfacer la coincidencia.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

VariantSelector

VariantSelector contiene información para seleccionar una variante en ResourceBundle y, luego, implementarla en un clúster de destino.

Representación JSON
{

  // Union field strategy can be only one of the following:
  "variantNameTemplate": string
  // End of list of possible types for union field strategy.
}
Campos
Campo de unión strategy. Estrategia para seleccionar una variante. strategy puede ser solo uno de los parámetros siguientes:
variantNameTemplate

string

Obligatorio. variantNameTemplate es una plantilla que puede hacer referencia a variables que contienen metadatos de membresía del clúster, como la ubicación, el nombre y las etiquetas, para generar el nombre de la variante para un clúster de destino. La sintaxis de la variable es similar a las variables de shell de Unix.

Las variables disponibles son ${membership.name}, ${membership.location}, ${membership.project} y ${membership.labels['label_name']}.

Si quieres implementar una variante específica, como "default", en todos los clústeres, puedes usar "default" (cadena sin variables) como variantNameTemplate.

FleetPackageInfo

FleetPackageInfo representa el estado de FleetPackage en todos los clústeres de destino.

Representación JSON
{
  "activeRollout": string,
  "lastCompletedRollout": string,
  "state": enum (State),
  "errors": [
    {
      object (FleetPackageError)
    }
  ]
}
Campos
activeRollout

string

Es opcional. Es el lanzamiento activo, si corresponde. El formato es projects/{project}/locations/{location}/fleetPackages/{fleetPackage}/rollouts/{rollout}.

lastCompletedRollout

string

Es opcional. Es el último lanzamiento completado, si corresponde. El formato es projects/{project}/locations/{location}/fleetPackages/{fleetPackage}/rollouts/{rollout}.

state

enum (State)

Es opcional. Solo salida. Es el estado actual del FleetPackage.

errors[]

object (FleetPackageError)

Es opcional. Solo salida. Errores encontrados durante la implementación de la configuración (si los hay).

Estado

Valores posibles para el estado FleetPackage.

Enums
STATE_UNSPECIFIED Significa que el estado no se especificó.
ACTIVE FleetPackage está activo.
SUSPENDED Se suspendió FleetPackage.
FAILED No se pudo conciliar FleetPackage.
DELETING Se está borrando FleetPackage.

FleetPackageError

Es información que representa un error que se produjo durante la implementación de la configuración.

Representación JSON
{
  "errorMessage": string
}
Campos
errorMessage

string

Es opcional. Es una descripción del error.

Estado

El estado indica el estado deseado para el paquete de flota. El valor no especificado equivale a ACTIVE. Si el estado se establece en SUSPENDED, continuará el lanzamiento activo (si hay alguno), pero no se programarán lanzamientos nuevos.

Enums
STATE_UNSPECIFIED Significa que el estado no se especificó.
ACTIVE FleetPackage debe estar activo.
SUSPENDED Se prevé que se suspenda FleetPackage.

Métodos

create

Crea un nuevo FleetPackage en un proyecto y una ubicación determinados.

delete

Borra un solo FleetPackage.

get

Obtiene detalles de un solo FleetPackage.

list

Enumera FleetPackages en una ubicación y un proyecto determinados.

patch

Actualiza los parámetros de un solo FleetPackage.