EvaluationSpec

EvaluationSpec contient des règles pour évaluer la valeur d'un indicateur.

Représentation JSON
{
  "variants": [
    {
      object (Variant)
    }
  ],
  "defaultTarget": string,
  "allocations": [
    {
      object (Allocation)
    }
  ],
  "rules": [
    {
      object (EvaluationRule)
    }
  ],
  "attributes": [
    string
  ]
}
Champs
variants[]
(deprecated)

object (Variant)

Facultatif. Liste des variantes.

defaultTarget

string

Obligatoire. Variante ou allocation par défaut du flag.

allocations[]

object (Allocation)

Facultatif. Liste des allocations.

rules[]

object (EvaluationRule)

Facultatif. Les règles d'évaluation définissent la logique d'évaluation du flag par rapport à un contexte donné. Les règles sont évaluées séquentiellement dans l'ordre spécifié.

attributes[]

string

Facultatif. Noms des attributs de contexte utilisés dans les règles d'évaluation et les allocations.

Variante

Une variante est un identifiant pour une valeur (nom attribué à une valeur). OBSOLÈTE : utilisez plutôt Flag.Variants.

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

string

Obligatoire. Nom de la variante. Longueur maximale : 128 octets.

Champ d'union value. value est une valeur d'indicateur unique pour la variante. value ne peut être qu'un des éléments suivants :
boolValue

boolean

Facultatif. Valeur de l'indicateur booléen.

intValue

string (int64 format)

Facultatif. Valeur de l'indicateur entier.

stringValue

string

Facultatif. Valeur de l'option de chaîne.

doubleValue

number

Facultatif. Valeur double de l'indicateur.

Allocation

Une allocation définit un ensemble de variantes de flag pondérées, en spécifiant la façon dont le trafic est réparti en fonction de l'unité de randomisation.

Représentation JSON
{
  "id": string,
  "randomizedOn": string,
  "description": string,
  "slots": [
    {
      object (AllocationSlot)
    }
  ]
}
Champs
id

string

Obligatoire. ID d'allocation. Longueur maximale : 128 octets.

randomizedOn

string

Obligatoire. Clé de l'attribut de contexte utilisé pour la répartition du trafic.

description

string

Facultatif. Description de l'allocation. Longueur maximale : 500 octets.

slots[]

object (AllocationSlot)

Obligatoire. Les emplacements définissent la distribution pondérée des variantes.

AllocationSlot

AllocationSlot spécifie une variante et la proportion de trafic qui lui est allouée.

Représentation JSON
{
  "variant": string,
  "weight": integer
}
Champs
variant

string

Obligatoire. Variante de l'emplacement d'allocation.

weight

integer

Obligatoire. La pondération définit la proportion de trafic à allouer à la variante, par rapport aux autres emplacements de la même allocation.

EvaluationRule

EvaluationRule définit une règle unique pour évaluer un flag de fonctionnalité. Une règle se compose d'une condition qui, si elle est remplie, attribue une variante ou une répartition spécifique à l'utilisateur.

Représentation JSON
{
  "id": string,
  "condition": string,
  "target": string
}
Champs
id

string

Obligatoire. ID de la règle d'évaluation. Longueur maximale : 128 octets.

condition

string

Obligatoire. Expression CEL (Common Expression Language) qui renvoie une valeur booléenne. L'expression est évaluée par rapport au contexte fourni. Si la valeur renvoyée est "true", la cible de la règle est appliquée.

target

string

Obligatoire. La variante cible ou l'allocation à appliquer si la condition est remplie. Il doit correspondre au nom ou à l'ID d'une variante ou d'une allocation définie.