REST Resource: projects.locations.fleetPackages

Recurso: FleetPackage

Um recurso FleetPackage na API Config Delivery.

Um FleetPackage define um pacote em que a configuração do Kubernetes é implantada em uma frota de clusters do Kubernetes.

Representação 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

Identificador. Nome da FleetPackage. O formato é projects/{project}/locations/{location}/fleetPackages/{fleetPackage}. O componente fleetPackage precisa corresponder a [a-z][a-z0-9\-]{0,62}

createTime

string (Timestamp format)

Apenas saída. Horário em que o FleetPackage foi criado.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Apenas saída. A hora mais recente em que o FleetPackage foi atualizado.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "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)

Opcional. Os rótulos são atributos que podem ser definidos e usados pelo usuário e pela entrega de configurações. Os rótulos precisam atender às seguintes restrições:

  • As chaves e os valores podem conter apenas letras minúsculas, caracteres numéricos, sublinhados e traços.
  • Todos os caracteres precisam usar a codificação UTF-8, e os caracteres internacionais são permitidos.
  • As chaves precisam começar com uma letra minúscula ou um caractere internacional.
  • Cada recurso é limitado a um máximo de 64 rótulos.

Além disso, as chaves e os valores precisam ter 128 bytes ou menos.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

resourceBundleSelector

object (ResourceBundleSelector)

Obrigatório. Informações que especificam a origem da configuração do Kubernetes a ser implantada.

target

object (Target)

Opcional. Configuração para selecionar clusters de destino para implantar a configuração do Kubernetes.

rolloutStrategy

object (RolloutStrategy)

Opcional. A estratégia a ser usada para implantar a configuração do Kubernetes em clusters.

variantSelector

object (VariantSelector)

Obrigatório. Informações que especificam como mapear uma variante ResourceBundle para um cluster de destino.

info

object (FleetPackageInfo)

Apenas saída. Informações que contêm o status do lançamento do FleetPackage em todos os clusters de destino.

deletionPropagationPolicy

enum (DeletionPropagationPolicy)

Opcional. Informações sobre como processar recursos do Kubernetes nos clusters de destino quando o FleetPackage é excluído.

state

enum (State)

Opcional. O estado desejado do pacote de frota.

ResourceBundleSelector

Informações que especificam a origem da configuração do Kubernetes a ser implantada.

Representação 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ão source. A origem pode ser um ResourceBundle ou CloudBuildRepository enviado diretamente que contenha a configuração do Kubernetes. source pode ser apenas de um dos tipos a seguir:
resourceBundle

object (ResourceBundleTag)

Informações que especificam ResourceBundle.

cloudBuildRepository

object (CloudBuildRepository)

Informações que especificam CloudBuildRepository.

ResourceBundleTag

ResourceBundleTag contém as informações para se referir a uma versão de um ResourceBundle.

Representação JSON
{
  "name": string,
  "tag": string
}
Campos
name

string

Obrigatório. Nome da ResourceBundle. O formato é projects/{p}/locations/{l}/resourceBundles/{r}.

tag

string

Obrigatório. A tag do Git para uma versão do lançamento em um ResourceBundle. A tag precisa seguir o formato de controle de versões semântico vX.Y.Z.

CloudBuildRepository

O CloudBuildRepository contém informações sobre como buscar a configuração do Kubernetes de um CloudBuildRepository.

Representação 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

Obrigatório. Nome do repositório do Cloud Build. O formato é projects/{p}/locations/{l}/connections/{c}/repositories/{r}.

path

string

Opcional. Caminho para o diretório ou arquivo no repositório que contém a configuração do Kubernetes. Se não for especificado, o caminho será considerado o diretório raiz de nível superior do repositório.

tag

string

Obrigatório. Tag do Git do repositório Git subjacente. A tag do Git precisa estar no formato de versão semântica vX.Y.Z.

serviceAccount

string

Obrigatório. Conta de serviço do Google a ser usada em gatilhos do Cloud Build para buscar e armazenar a configuração do Kubernetes.

Campo de união variants. Especifica a configuração de como encontrar variantes no repositório. variants pode ser apenas de um dos tipos a seguir:
variantsPattern

string

Opcional. Padrão glob que será usado para encontrar variantes no repositório. Por exemplo: variants/*.yaml, us-*

Destino

O destino define diferentes maneiras de segmentar um conjunto de clusters do Kubernetes.

Representação 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ão target. Destino do pacote de frota. target pode ser apenas de um dos tipos a seguir:
fleet

object (Fleet)

Informações da frota do GKE para segmentar o lançamento do FleetPackage.

Frota

A frota em que o FleetPackage será implantado.

Representação JSON
{
  "project": string,
  "selector": {
    object (LabelSelector)
  }
}
Campos
project

string

Obrigatório. O projeto host da frota do GKE. O formato é: projects/{project}

selector

object (LabelSelector)

Opcional. O seletor permite segmentar um subconjunto de membros da frota usando os rótulos deles.

LabelSelector

Um seletor de rótulo é uma consulta de rótulo em um conjunto de recursos. Um seletor de rótulos vazio corresponde a todos os objetos.

Representação JSON
{
  "matchLabels": {
    string: string,
    ...
  }
}
Campos
matchLabels

map (key: string, value: string)

Opcional. Mapa de pares {chave,valor}. Cada par {chave,valor} precisa corresponder exatamente a uma chave do rótulo e um valor existentes para satisfazer a correspondência.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

VariantSelector

O VariantSelector contém informações para selecionar uma variante em ResourceBundle e implantar em um cluster de destino.

Representação 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ão strategy. estratégia para selecionar uma variante. strategy pode ser apenas de um dos tipos a seguir:
variantNameTemplate

string

Obrigatório. "variantNameTemplate" é um modelo que pode se referir a variáveis que contêm metadados de assinatura de clusters, como locais, nomes e rótulos, para gerar o nome da variante para um cluster de destino. A sintaxe da variável é parecida com as variáveis do shell do Unix.

As variáveis disponíveis são ${membership.name}, ${membership.location}, ${membership.project} e ${membership.labels['label_name']}.

Se você quiser implantar uma variante específica, como "default" para todos os clusters, use "default" (uma string sem variáveis) como o variantNameTemplate.

FleetPackageInfo

"FleetPackageInfo" representa o status do FleetPackage em todos os clusters de destino.

Representação JSON
{
  "activeRollout": string,
  "lastCompletedRollout": string,
  "state": enum (State),
  "errors": [
    {
      object (FleetPackageError)
    }
  ]
}
Campos
activeRollout

string

Opcional. O lançamento ativo, se houver. O formato é: projects/{project}/locations/{location}/fleetPackages/{fleetPackage}/rollouts/{rollout}

lastCompletedRollout

string

Opcional. O último lançamento concluído, se houver. O formato é: projects/{project}/locations/{location}/fleetPackages/{fleetPackage}/rollouts/{rollout}

state

enum (State)

Opcional. Apenas saída. O estado atual do FleetPackage.

errors[]

object (FleetPackageError)

Opcional. Apenas saída. Erros encontrados durante a implantação da configuração (se houver).

Estado

Valores possíveis para o estado FleetPackage.

Tipos enumerados
STATE_UNSPECIFIED Estado não especificado.
ACTIVE O FleetPackage está ativo.
SUSPENDED O FleetPackage está suspenso.
FAILED Falha ao conciliar FleetPackage.
DELETING FleetPackage está sendo excluído.

FleetPackageError

Informações que representam um erro encontrado durante a implantação de configurações.

Representação JSON
{
  "errorMessage": string
}
Campos
errorMessage

string

Opcional. Uma descrição do erro.

Estado

O estado indica o estado desejado para o pacote da frota. O valor não especificado é equivalente a ACTIVE. Se o estado for definido como SUSPENDED, o lançamento ativo (se houver) vai continuar, mas nenhum lançamento novo será programado.

Tipos enumerados
STATE_UNSPECIFIED Estado não especificado.
ACTIVE FleetPackage deve estar ativo.
SUSPENDED A conta FleetPackage será suspensa.

Métodos

create

Cria um FleetPackage em determinado projeto e local.

delete

Exclui um único FleetPackage.

get

Recebe detalhes de um único FleetPackage.

list

Lista os FleetPackages em determinado projeto e local.

patch

Atualiza os parâmetros de um único FleetPackage.