MCP Tools Reference: saasservicemgmt

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

string

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 (EvaluationSpec)
  },
  "snapshot": {
    object (Flag)
  },
  "labels": {
    string: string,
    ...
  },
  "annotations": {
    string: string,
    ...
  },
  "uid": string,
  "etag": string,
  "createTime": string,
  "updateTime": string
}
Campos
name

string

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

string

Obligatorio. Inmutable. Nombre del Flag del que esta es una revisión.

evaluationSpec
(deprecated)

object (EvaluationSpec)

Solo salida. Inmutable. Es una instantánea del EvaluationSpec para el flag. OBSOLETO: Usa snapshot en su lugar.

snapshot

object (Flag)

Solo salida. Inmutable. Es una instantánea de Flag.

labels

map (key: string, value: string)

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 "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

annotations

map (key: string, value: string)

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 "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

uid

string

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

string

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

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

EvaluationSpec

Representación JSON
{
  "variants": [
    {
      object (Variant)
    }
  ],
  "defaultTarget": string,
  "allocations": [
    {
      object (Allocation)
    }
  ],
  "rules": [
    {
      object (EvaluationRule)
    }
  ],
  "attributes": [
    string
  ]
}
Campos
variants[]
(deprecated)

object (Variant)

Es opcional. Es una lista de variantes.

defaultTarget

string

Obligatorio. Es la variante o asignación predeterminada de la marca.

allocations[]

object (Allocation)

Es opcional. Es una lista de asignaciones.

rules[]

object (EvaluationRule)

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[]

string

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 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

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

boolean

Es opcional. Valor de la marca booleana.

intValue

string (int64 format)

Es opcional. Es el valor de la marca de número entero.

stringValue

string

Es opcional. Es el valor de la marca de cadena.

doubleValue

number

Es opcional. Es el valor doble de la marca.

Asignación

Representación JSON
{
  "id": string,
  "randomizedOn": string,
  "description": string,
  "slots": [
    {
      object (AllocationSlot)
    }
  ]
}
Campos
id

string

Obligatorio. Es el ID de asignación. Longitud máxima: 128 bytes.

randomizedOn

string

Obligatorio. Es la clave del atributo de contexto que se usa para la división del tráfico.

description

string

Es opcional. Es la descripción de la asignación. Longitud máxima: 500 bytes.

slots[]

object (AllocationSlot)

Obligatorio. Los segmentos definen la distribución ponderada de las variantes.

AllocationSlot

Representación JSON
{
  "variant": string,
  "weight": integer
}
Campos
variant

string

Obligatorio. Es la variante de la ranura de asignación.

weight

integer

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

string

Obligatorio. Es el ID de la regla de evaluación. Longitud máxima: 128 bytes.

condition

string

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

string

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 (FlagValueType),
  "flagValueType": enum (ValueType),
  "evaluationSpec": {
    object (EvaluationSpec)
  },
  "unitKind": string,
  "description": string,
  "variants": [
    {
      object (FlagVariant)
    }
  ],
  "flagSet": string,
  "state": enum (State),
  "labels": {
    string: string,
    ...
  },
  "annotations": {
    string: string,
    ...
  },
  "uid": string,
  "etag": string,
  "createTime": string,
  "updateTime": string
}
Campos
name

string

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

string

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
(deprecated)

enum (FlagValueType)

Es opcional. Inmutable. Obsoleto: Usa flag_value_type en su lugar. Es el tipo de valor de la marca.

flagValueType

enum (ValueType)

Es opcional. Inmutable. Es el tipo de valor de la marca.

evaluationSpec

object (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

string

Obligatorio. Inmutable. UnitKind que puede consumir esta marca.

description

string

Es opcional. Es la descripción de la marca. Longitud máxima: 500 bytes.

variants[]

object (FlagVariant)

Es opcional. Es una lista de variantes.

flagSet

string

Es opcional. Es la marca a la que pertenece esta marca.

state

enum (State)

Es opcional. Estado actual de la marca.

labels

map (key: string, value: string)

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 "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

annotations

map (key: string, value: string)

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 "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

uid

string

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

string

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

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

FlagVariant

Representación JSON
{
  "id": string,
  "trackingId": string,
  "description": string,

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

string

Obligatorio. Es el ID de la variante. Longitud máxima: 128 bytes.

trackingId

string

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

string

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

boolean

Es opcional. Es el valor de la variante booleana.

integerValue

string (int64 format)

Es opcional. Es el valor de la variante de número entero.

stringValue

string

Es opcional. Es el valor de la variante de cadena.

doubleValue

number

Es opcional. Es el valor de la variante doble.

LabelsEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

AnnotationsEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

Marca de tiempo

Representación JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

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

integer

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

string

value

string

AnnotationsEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

Anotaciones de herramientas

Sugerencia destructiva: ❌ | Sugerencia idempotente: ✅ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌