EvaluationSpec

EvaluationSpec contém regras para avaliar o valor de uma flag.

Representação JSON
{
  "variants": [
    {
      object (Variant)
    }
  ],
  "defaultTarget": string,
  "allocations": [
    {
      object (Allocation)
    }
  ],
  "rules": [
    {
      object (EvaluationRule)
    }
  ],
  "attributes": [
    string
  ]
}
Campos
variants[]
(deprecated)

object (Variant)

Opcional. Uma lista de variantes.

defaultTarget

string

Obrigatório. Variante ou alocação padrão da flag.

allocations[]

object (Allocation)

Opcional. Uma lista de alocações.

rules[]

object (EvaluationRule)

Opcional. As regras de avaliação definem a lógica para avaliar a flag em relação a um contexto específico. As regras são avaliadas sequencialmente na ordem especificada.

attributes[]

string

Opcional. Nomes dos atributos de contexto usados nas regras de avaliação e alocações.

Variante

Variante é um identificador de um valor (nome atribuído a um valor). OBSOLETO: use Flag.Variants.

Representação JSON
{
  "name": string,

  // Union field value can be only one of the following:
  "boolValue": boolean,
  "intValue": string,
  "stringValue": string,
  "doubleValue": number
  // End of list of possible types for union field value.
}
Campos
name

string

Obrigatório. Nome da variante. Tamanho máximo: 128 bytes.

Campo de união value. value é um único valor de flag para a variante. value pode ser apenas de um dos tipos a seguir:
boolValue

boolean

Opcional. Valor booleano da flag.

intValue

string (int64 format)

Opcional. Valor inteiro da flag.

stringValue

string

Opcional. Valor de string da flag.

doubleValue

number

Opcional. Valor duplo da flag.

Alocação

A alocação define um conjunto de variantes de flag ponderadas, especificando como o tráfego é dividido com base na unidade de randomização.

Representação JSON
{
  "id": string,
  "randomizedOn": string,
  "description": string,
  "slots": [
    {
      object (AllocationSlot)
    }
  ]
}
Campos
id

string

Obrigatório. ID da alocação. Tamanho máximo: 128 bytes.

randomizedOn

string

Obrigatório. Chave do atributo de contexto usado para dividir o tráfego.

description

string

Opcional. Descrição da alocação. Tamanho máximo: 500 bytes.

slots[]

object (AllocationSlot)

Obrigatório. Os slots definem a distribuição ponderada de variantes.

AllocationSlot

AllocationSlot especifica uma variante e a proporção de tráfego alocada a ela.

Representação JSON
{
  "variant": string,
  "weight": integer
}
Campos
variant

string

Obrigatório. Variante do slot de alocação.

weight

integer

Obrigatório. A ponderação define a proporção de tráfego a ser alocada à variante, em relação a outros slots na mesma alocação.

EvaluationRule

EvaluationRule define uma única regra para avaliar uma flag de recurso. Uma regra consiste em uma condição que, se atendida, atribui uma variante ou alocação específica ao usuário.

Representação JSON
{
  "id": string,
  "condition": string,
  "target": string
}
Campos
id

string

Obrigatório. ID da regra de avaliação. Tamanho máximo: 128 bytes.

condition

string

Obrigatório. Uma expressão da Common Expression Language (CEL) que é avaliada como booleana. A expressão é avaliada em relação ao contexto fornecido. Se ela retornar "true", o destino da regra será aplicado.

target

string

Obrigatório. A variante ou alocação de destino a ser aplicada se a condição for atendida. Isso precisa corresponder ao nome de uma variante definida ou ao ID da alocação.