EvaluationSpec には、フラグの値を評価するためのルールが保持されます。
| JSON 表現 |
|---|
{ "variants": [ { object ( |
| フィールド | |
|---|---|
variants[] |
省略可。パターンのリスト。 |
defaultTarget |
必須。フラグのデフォルトのパターンまたは割り当て。 |
allocations[] |
省略可。割り当てのリスト。 |
rules[] |
省略可。評価ルールは、特定のコンテキストに対してフラグを評価するロジックを定義します。ルールは、指定された順序で順番に評価されます。 |
attributes[] |
省略可。評価ルールと割り当てで使用されるコンテキスト属性の名前。 |
パターン
パターンは値の識別子です(値に割り当てられた名前)。非推奨であるため、代わりに Flag.Variants を使用してください。
| JSON 表現 |
|---|
{ "name": string, // Union field |
| フィールド | |
|---|---|
name |
必須。パターンの名前。最大長: 128 バイト。 |
共用体フィールド value。value は、パターンの単一のフラグ値です。value は次のいずれかになります。 |
|
boolValue |
省略可。ブール値のフラグ値。 |
intValue |
省略可。整数値のフラグ値。 |
stringValue |
省略可。文字列のフラグ値。 |
doubleValue |
省略可。double 値のフラグ値。 |
割り当て
割り当ては、重み付けされたフラグ パターンのセットを定義し、ランダム化ユニットに基づいてトラフィックを分割する方法を指定します。
| JSON 表現 |
|---|
{
"id": string,
"randomizedOn": string,
"description": string,
"slots": [
{
object ( |
| フィールド | |
|---|---|
id |
必須。割り当て ID。最大長: 128 バイト。 |
randomizedOn |
必須。トラフィック分割に使用されるコンテキスト属性のキー。 |
description |
省略可。割り当ての説明。最大長: 500 バイト。 |
slots[] |
必須。スロットは、パターンの重み付けされた分布を定義します。 |
AllocationSlot
AllocationSlot は、パターンと、そのパターンに割り当てられたトラフィックの割合を指定します。
| JSON 表現 |
|---|
{ "variant": string, "weight": integer } |
| フィールド | |
|---|---|
variant |
必須。割り当てスロットのパターン。 |
weight |
必須。重みは、同じ割り当て内の他のスロットと比較して、パターンに割り当てるトラフィックの割合を定義します。 |
EvaluationRule
EvaluationRule は、フィーチャー トグルを評価するための単一のルールを定義します。ルールは、条件を満たした場合に特定のパターンまたは割り当てをユーザーに割り当てる条件で構成されます。
| JSON 表現 |
|---|
{ "id": string, "condition": string, "target": string } |
| フィールド | |
|---|---|
id |
必須。評価ルール ID。最大長: 128 バイト。 |
condition |
必須。ブール値に評価される Common Expression Language(CEL)式。式は、指定されたコンテキストに対して評価されます。true が返された場合、ルールのターゲットが適用されます。 |
target |
必須。条件が満たされた場合に適用するターゲット パターンまたは割り当て。これは、定義されたパターンまたは割り当ての ID の名前と一致する必要があります。 |