Outil : get_flag_revision
Obtient une ressource FlagRevision. Paramètre obligatoire : "name" (par exemple, projects/my-project/locations/us-central1/flagRevisions/my-flagrevision).
L'exemple suivant montre comment utiliser curl pour appeler l'outil MCP get_flag_revision.
| Requête curl |
|---|
curl --location 'https://saasservicemgmt.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_flag_revision", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Schéma d'entrée
Structure de la requête pour la méthode GetFlagRevision.
GetFlagRevisionRequest
| Représentation JSON |
|---|
{ "name": string } |
| Champs | |
|---|---|
name |
Obligatoire. Nom de la ressource dans un service. |
Schéma de sortie
Instantané de EvaluationSpec pour Flag.
FlagRevision
| Représentation JSON |
|---|
{ "name": string, "flag": string, "evaluationSpec": { object ( |
| Champs | |
|---|---|
name |
Identifiant. Nom de la ressource (URI complet de la ressource) suivant le schéma de dénomination standard : "projects/{project}/locations/{location}/flagRevisions/{flag_revision_id}" |
flag |
Obligatoire. Immuable. Nom de l' |
evaluationSpec |
Uniquement en sortie. Immuable. Instantané de |
snapshot |
Uniquement en sortie. Immuable. Instantané de |
labels |
Facultatif. Étiquettes de la ressource, qui peuvent être utilisées pour la catégorisation. Elles sont semblables aux étiquettes de ressources Kubernetes. Objet contenant une liste de paires |
annotations |
Facultatif. Les annotations sont un mappage clé-valeur non structuré stocké avec une ressource. Elles peuvent être définies par des outils externes pour stocker et récupérer des métadonnées arbitraires. Elles ne peuvent pas faire l'objet de requêtes et doivent être conservées lors de la modification d'objets. Pour en savoir plus, consultez https://kubernetes.io/docs/user-guide/annotations. Objet contenant une liste de paires |
uid |
Uniquement en sortie. Identifiant unique de la ressource. L'UID est unique dans le temps et l'espace pour cette ressource dans le cadre du service. Il est habituellement généré par le serveur lors de la création réussie d'une ressource et ne doit pas être modifié. L'UID permet d'identifier de manière unique les ressources avec réutilisation du nom. Il doit être un UUID4. |
etag |
Uniquement en sortie. Valeur opaque qui identifie de manière unique la version ou la génération d'une ressource. Cet identifiant permet de confirmer que le client et le serveur sont d'accord sur l'ordre d'écriture d'une ressource. |
createTime |
Uniquement en sortie. Code temporel de la création de la ressource. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
updateTime |
Uniquement en sortie. Code temporel de la dernière mise à jour de la ressource. Toute modification de la ressource par les utilisateurs doit actualiser cette valeur. Les modifications d'une ressource par le service doivent actualiser cette valeur. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
EvaluationSpec
| Représentation JSON |
|---|
{ "variants": [ { object ( |
| Champs | |
|---|---|
variants[] |
Facultatif. Liste des variantes. |
defaultTarget |
Obligatoire. Variante ou allocation par défaut du flag. |
allocations[] |
Facultatif. Liste des allocations. |
rules[] |
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[] |
Facultatif. Noms des attributs de contexte utilisés dans les règles d'évaluation et les allocations. |
Variante
| Représentation JSON |
|---|
{ "name": string, // Union field |
| Champs | |
|---|---|
name |
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 |
Facultatif. Valeur de l'indicateur booléen. |
intValue |
Facultatif. Valeur de l'indicateur entier. |
stringValue |
Facultatif. Valeur de l'option de chaîne. |
doubleValue |
Facultatif. Valeur double de l'indicateur. |
Allocation
| Représentation JSON |
|---|
{
"id": string,
"randomizedOn": string,
"description": string,
"slots": [
{
object ( |
| Champs | |
|---|---|
id |
Obligatoire. ID d'allocation. Longueur maximale : 128 octets. |
randomizedOn |
Obligatoire. Clé de l'attribut de contexte utilisé pour la répartition du trafic. |
description |
Facultatif. Description de l'allocation. Longueur maximale : 500 octets. |
slots[] |
Obligatoire. Les emplacements définissent la distribution pondérée des variantes. |
AllocationSlot
| Représentation JSON |
|---|
{ "variant": string, "weight": integer } |
| Champs | |
|---|---|
variant |
Obligatoire. Variante de l'emplacement d'allocation. |
weight |
Obligatoire. La pondération définit la proportion de trafic à allouer à la variante, par rapport aux autres emplacements de la même allocation. |
EvaluationRule
| Représentation JSON |
|---|
{ "id": string, "condition": string, "target": string } |
| Champs | |
|---|---|
id |
Obligatoire. ID de la règle d'évaluation. Longueur maximale : 128 octets. |
condition |
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 |
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. |
Option
| Représentation JSON |
|---|
{ "name": string, "key": string, "valueType": enum ( |
| Champs | |
|---|---|
name |
Identifiant. Nom de la ressource (URI complet de la ressource) suivant le schéma de dénomination standard : "projects/{project}/locations/{location}/flags/{flag_id}" |
key |
Obligatoire. Immuable. Clé de flag utilisée dans les API d'évaluation d'exécution (OpenFeature). Longueur maximale : 256 octets. |
valueType |
Facultatif. Immuable. Obsolète : utilisez plutôt |
flagValueType |
Facultatif. Immuable. Type de valeur de l'indicateur. |
evaluationSpec |
Facultatif. Spécification de la façon dont la valeur du flag doit être évaluée. Si un indicateur booléen est créé sans spécification evaluation_spec, deux variantes par défaut sont créées : "Activé" (avec bool_value = true) et "Désactivé" (avec bool_value = false). La variante "Désactivé" est définie comme default_target. |
unitKind |
Obligatoire. Immuable. |
description |
Facultatif. Description du signalement. Longueur maximale : 500 octets. |
variants[] |
Facultatif. Liste des variantes. |
flagSet |
Facultatif. Ensemble d'indicateurs auquel appartient cet indicateur. |
state |
Facultatif. État actuel du signalement. |
labels |
Facultatif. Étiquettes de la ressource, qui peuvent être utilisées pour la catégorisation. Elles sont semblables aux étiquettes de ressources Kubernetes. Objet contenant une liste de paires |
annotations |
Facultatif. Les annotations sont un mappage clé-valeur non structuré stocké avec une ressource. Elles peuvent être définies par des outils externes pour stocker et récupérer des métadonnées arbitraires. Elles ne peuvent pas faire l'objet de requêtes et doivent être conservées lors de la modification d'objets. Pour en savoir plus, consultez https://kubernetes.io/docs/user-guide/annotations. Objet contenant une liste de paires |
uid |
Uniquement en sortie. Identifiant unique de la ressource. L'UID est unique dans le temps et l'espace pour cette ressource dans le cadre du service. Il est habituellement généré par le serveur lors de la création réussie d'une ressource et ne doit pas être modifié. L'UID permet d'identifier de manière unique les ressources avec réutilisation du nom. Il doit être un UUID4. |
etag |
Uniquement en sortie. Valeur opaque qui identifie de manière unique la version ou la génération d'une ressource. Cet identifiant permet de confirmer que le client et le serveur sont d'accord sur l'ordre d'écriture d'une ressource. |
createTime |
Uniquement en sortie. Code temporel de la création de la ressource. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
updateTime |
Uniquement en sortie. Code temporel de la dernière mise à jour de la ressource. Toute modification de la ressource par les utilisateurs doit actualiser cette valeur. Les modifications d'une ressource par le service doivent actualiser cette valeur. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
FlagVariant
| Représentation JSON |
|---|
{ "id": string, "trackingId": string, "description": string, // Union field |
| Champs | |
|---|---|
id |
Obligatoire. ID de la variante. Longueur maximale : 128 octets. |
trackingId |
Facultatif. trackingId est unique en fonction du nom et de la valeur de la variante dans le champ d'application du service. Il est généralement généré par le serveur et ne doit pas être modifié. trackingId permet d'identifier et de suivre les variantes de manière unique. |
description |
Facultatif. Description lisible de ce que fait ou représente cette variante. |
Champ d'union value. value est une valeur d'indicateur unique pour la variante. value ne peut être qu'un des éléments suivants : |
|
booleanValue |
Facultatif. Valeur booléenne de la variante. |
integerValue |
Facultatif. Valeur de variante entière. |
stringValue |
Facultatif. Valeur de variante de type chaîne. |
doubleValue |
Facultatif. Valeur de variante double. |
LabelsEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
AnnotationsEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
Horodatage
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. La valeur doit être comprise entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z et 9999-12-31T23:59:59Z). |
nanos |
Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. La valeur doit être comprise entre 0 et 999 999 999 inclus. |
LabelsEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
AnnotationsEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
Annotations d'outils
Indication destructive : ❌ | Indication idempotente : ✅ | Indication en lecture seule : ✅ | Indication Open World : ❌