Herramienta: get_flag_revision
Obtiene un recurso de FlagRevision. Parámetro obligatorio: "name" (p.ej., projects/my-project/locations/us-central1/flagRevisions/my-flagrevision).
En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP get_flag_revision.
| Solicitud de 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 }' |
Esquema de entrada
Es la estructura de la solicitud para el método GetFlagRevision.
GetFlagRevisionRequest
| Representación JSON |
|---|
{ "name": string } |
| Campos | |
|---|---|
name |
Obligatorio. Nombre del recurso dentro de un servicio. |
Esquema de salida
Es una instantánea del EvaluationSpec para el Flag.
FlagRevision
| Representación JSON |
|---|
{ "name": string, "flag": string, "evaluationSpec": { object ( |
| Campos | |
|---|---|
name |
Es el identificador. Nombre del recurso (URI completo del recurso) según el esquema de nombres estándar: "projects/{project}/locations/{location}/flagRevisions/{flag_revision_id}" |
flag |
Obligatorio. Inmutable. Nombre del |
evaluationSpec |
Solo salida. Inmutable. Es una instantánea del |
snapshot |
Solo salida. Inmutable. Es una instantánea de |
labels |
Es opcional. Son las etiquetas del recurso, que se pueden usar para la categorización, de forma similar a las etiquetas de recursos de Kubernetes. Un objeto que contiene una lista de pares |
annotations |
Es opcional. Las anotaciones son un mapa clave-valor no estructurado que se almacena con un recurso que herramientas externas pueden establecer para almacenar y recuperar metadatos arbitrarios. No se pueden consultar y deben conservarse cuando se modifican objetos. Más información: https://kubernetes.io/docs/user-guide/annotations Un objeto que contiene una lista de pares |
uid |
Solo salida. Identificador único del recurso. El UID es único en el tiempo y espacio para este recurso dentro del alcance de este servicio. Normalmente, el servidor lo genera durante la creación correcta de un recurso y no se debe cambiar. El UID se usa para identificar los recursos de manera única en caso de la reutilización de nombres de recursos y debe ser un UUID4. |
etag |
Solo salida. Valor opaco que identifica de manera única a una versión o generación de un recurso. Se puede usar para confirmar que el cliente y el servidor están de acuerdo en el orden del recurso que se escribe. |
createTime |
Solo salida. Marca de tiempo cuando se creó el recurso. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
updateTime |
Solo salida. Marca de tiempo cuando se actualizó el recurso por última vez. Este valor debe actualizarse en caso de que los usuarios hagan cualquier cambio al recurso. Este valor debería actualizarse si el servicio hace cambios al recurso. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
EvaluationSpec
| Representación JSON |
|---|
{ "variants": [ { object ( |
| Campos | |
|---|---|
variants[] |
Es opcional. Es una lista de variantes. |
defaultTarget |
Obligatorio. Es la variante o asignación predeterminada de la marca. |
allocations[] |
Es opcional. Es una lista de asignaciones. |
rules[] |
Es opcional. Las reglas de evaluación definen la lógica para evaluar la marca en función de un contexto determinado. Las reglas se evalúan de forma secuencial en el orden especificado. |
attributes[] |
Es opcional. Son los nombres de los atributos de contexto que se usan en las reglas de evaluación y las asignaciones. |
Variant
| Representación JSON |
|---|
{ "name": string, // Union field |
| Campos | |
|---|---|
name |
Obligatorio. Nombre de la variante. Longitud máxima: 128 bytes. |
Campo de unión value. El valor es un solo valor de la marca para la variante. value puede ser solo uno de los parámetros siguientes: |
|
boolValue |
Es opcional. Valor de la marca booleana. |
intValue |
Es opcional. Es el valor de la marca de número entero. |
stringValue |
Es opcional. Es el valor de la marca de cadena. |
doubleValue |
Es opcional. Es el valor doble de la marca. |
Asignación
| Representación JSON |
|---|
{
"id": string,
"randomizedOn": string,
"description": string,
"slots": [
{
object ( |
| Campos | |
|---|---|
id |
Obligatorio. Es el ID de asignación. Longitud máxima: 128 bytes. |
randomizedOn |
Obligatorio. Es la clave del atributo de contexto que se usa para la división del tráfico. |
description |
Es opcional. Es la descripción de la asignación. Longitud máxima: 500 bytes. |
slots[] |
Obligatorio. Los segmentos definen la distribución ponderada de las variantes. |
AllocationSlot
| Representación JSON |
|---|
{ "variant": string, "weight": integer } |
| Campos | |
|---|---|
variant |
Obligatorio. Es la variante de la ranura de asignación. |
weight |
Obligatorio. El peso define la proporción del tráfico que se asignará a la variante, en relación con otros espacios en la misma asignación. |
EvaluationRule
| Representación JSON |
|---|
{ "id": string, "condition": string, "target": string } |
| Campos | |
|---|---|
id |
Obligatorio. Es el ID de la regla de evaluación. Longitud máxima: 128 bytes. |
condition |
Obligatorio. Es una expresión de Common Expression Language (CEL) que se evalúa como un valor booleano. La expresión se evalúa en función del contexto proporcionado. Si devuelve verdadero, se aplica el destino de la regla. |
target |
Obligatorio. Es la variante de destino o la asignación que se aplicará si se cumple la condición. Debe coincidir con el nombre de una variante definida o con el ID de una asignación. |
Marca
| Representación JSON |
|---|
{ "name": string, "key": string, "valueType": enum ( |
| Campos | |
|---|---|
name |
Es el identificador. Nombre del recurso (URI completo del recurso) según el esquema de nombres estándar: "projects/{project}/locations/{location}/flags/{flag_id}" |
key |
Obligatorio. Inmutable. Es la clave de la marca que se usa en las APIs de evaluación de entorno de ejecución (OpenFeature). Longitud máxima: 256 bytes. |
valueType |
Es opcional. Inmutable. Obsoleto: Usa |
flagValueType |
Es opcional. Inmutable. Es el tipo de valor de la marca. |
evaluationSpec |
Es opcional. Especificación de cómo se debe evaluar el valor de la marca. Si se crea una marca booleana sin un evaluation_spec especificado, se crearán dos variantes predeterminadas, "Habilitada" (con bool_value = true) y "Inhabilitada" (con bool_value = false), y se establecerá "Inhabilitada" como default_target. |
unitKind |
Obligatorio. Inmutable. |
description |
Es opcional. Es la descripción de la marca. Longitud máxima: 500 bytes. |
variants[] |
Es opcional. Es una lista de variantes. |
flagSet |
Es opcional. Es la marca a la que pertenece esta marca. |
state |
Es opcional. Estado actual de la marca. |
labels |
Es opcional. Son las etiquetas del recurso, que se pueden usar para la categorización, de forma similar a las etiquetas de recursos de Kubernetes. Un objeto que contiene una lista de pares |
annotations |
Es opcional. Las anotaciones son un mapa clave-valor no estructurado que se almacena con un recurso que herramientas externas pueden establecer para almacenar y recuperar metadatos arbitrarios. No se pueden consultar y deben conservarse cuando se modifican objetos. Más información: https://kubernetes.io/docs/user-guide/annotations Un objeto que contiene una lista de pares |
uid |
Solo salida. Identificador único del recurso. El UID es único en el tiempo y espacio para este recurso dentro del alcance de este servicio. Normalmente, el servidor lo genera durante la creación correcta de un recurso y no se debe cambiar. El UID se usa para identificar los recursos de manera única en caso de la reutilización de nombres de recursos y debe ser un UUID4. |
etag |
Solo salida. Valor opaco que identifica de manera única a una versión o generación de un recurso. Se puede usar para confirmar que el cliente y el servidor están de acuerdo en el orden del recurso que se escribe. |
createTime |
Solo salida. Marca de tiempo cuando se creó el recurso. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
updateTime |
Solo salida. Marca de tiempo cuando se actualizó el recurso por última vez. Este valor debe actualizarse en caso de que los usuarios hagan cualquier cambio al recurso. Este valor debería actualizarse si el servicio hace cambios al recurso. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
FlagVariant
| Representación JSON |
|---|
{ "id": string, "trackingId": string, "description": string, // Union field |
| Campos | |
|---|---|
id |
Obligatorio. Es el ID de la variante. Longitud máxima: 128 bytes. |
trackingId |
Opcional. El trackingId es único según el nombre y el valor de la variante dentro del alcance del servicio. Por lo general, lo genera el servidor y no se debe cambiar. trackingId se usa para identificar y hacer un seguimiento de las variantes de forma única. |
description |
Es opcional. Es una descripción legible de lo que hace o representa esta variante. |
Campo de unión value. El valor es un solo valor de la marca para la variante. value puede ser solo uno de los parámetros siguientes: |
|
booleanValue |
Es opcional. Es el valor de la variante booleana. |
integerValue |
Es opcional. Es el valor de la variante de número entero. |
stringValue |
Es opcional. Es el valor de la variante de cadena. |
doubleValue |
Es opcional. Es el valor de la variante doble. |
LabelsEntry
| Representación JSON |
|---|
{ "key": string, "value": string } |
| Campos | |
|---|---|
key |
|
value |
|
AnnotationsEntry
| Representación JSON |
|---|
{ "key": string, "value": string } |
| Campos | |
|---|---|
key |
|
value |
|
Marca de tiempo
| Representación JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa los segundos de la hora UTC desde la época de Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de la duración en nanosegundos, no una alternativa a los segundos. Los valores de segundos negativos con fracciones deben tener valores nanos no negativos que se cuentan hacia adelante en el tiempo. Debe ser un valor entre 0 y 999,999,999, inclusive. |
LabelsEntry
| Representación JSON |
|---|
{ "key": string, "value": string } |
| Campos | |
|---|---|
key |
|
value |
|
AnnotationsEntry
| Representación JSON |
|---|
{ "key": string, "value": string } |
| Campos | |
|---|---|
key |
|
value |
|
Anotaciones de herramientas
Sugerencia destructiva: ❌ | Sugerencia idempotente: ✅ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌