MCP Tools Reference: saasservicemgmt

工具:get_flag_revision

获取 FlagRevision 资源。必需参数:“name”(例如 projects/my-project/locations/us-central1/flagRevisions/my-flagrevision)。

以下示例演示了如何使用 curl 调用 get_flag_revision MCP 工具。

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

输入架构

GetFlagRevision 方法的请求结构。

GetFlagRevisionRequest

JSON 表示法
{
  "name": string
}
字段
name

string

必需。服务内资源的名称。

输出架构

FlagEvaluationSpec的快照。

FlagRevision

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
}
字段
name

string

标识符。遵循标准命名方案的资源名称(资源的完整 URI):

"projects/{project}/locations/{location}/flagRevisions/{flag_revision_id}"

flag

string

必需。不可变。相应 Flag 的名称,此 Flag 是该 Flag 的修订版本。

evaluationSpec
(deprecated)

object (EvaluationSpec)

仅限输出。不可变。flagEvaluationSpec 快照。已弃用:请改用快照。

snapshot

object (Flag)

仅限输出。不可变。Flag 的快照。

labels

map (key: string, value: string)

可选。资源上的标签,可用于分类。与 Kubernetes 资源标签类似。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

annotations

map (key: string, value: string)

可选。注解是与资源一起存储的非结构化键值对映射,可由外部工具设置,用于存储和检索任意元数据。它们无法查询,并且在修改对象时应予以保留。

如需了解详情,请参阅 https://kubernetes.io/docs/user-guide/annotations

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

uid

string

仅限输出。资源的唯一标识符。在服务范围内,UID 在此资源的时间和空间内是唯一的。它通常是服务器在成功创建资源时生成的,不得进行更改。当存在资源名称重用时,UID 可用来唯一地标识资源。此字段应为 UUID4。

etag

string

仅限输出。不透明值,用于唯一地标识资源的版本或世代。它可用于确认客户端和服务器是否就正在写入的资源的顺序达成一致。

createTime

string (Timestamp format)

仅限输出。创建资源时的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

仅限输出。上次更新资源时的时间戳。用户对此资源的任何更改都必须刷新此值。服务对资源的更改应刷新此值。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

EvaluationSpec

JSON 表示法
{
  "variants": [
    {
      object (Variant)
    }
  ],
  "defaultTarget": string,
  "allocations": [
    {
      object (Allocation)
    }
  ],
  "rules": [
    {
      object (EvaluationRule)
    }
  ],
  "attributes": [
    string
  ]
}
字段
variants[]
(deprecated)

object (Variant)

可选。变体的列表。

defaultTarget

string

必需。标志的默认变体或分配。

allocations[]

object (Allocation)

可选。分配列表。

rules[]

object (EvaluationRule)

可选。评估规则定义了根据给定上下文评估标志的逻辑。系统会按指定顺序依次评估规则。

attributes[]

string

可选。评估规则和分配中使用的上下文属性的名称。

变体

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.
}
字段
name

string

必需。变体的名称。长度上限:128 字节。

联合字段 value。value 是变体的单个标志值。value 只能是下列其中一项:
boolValue

boolean

可选。布尔值标志值。

intValue

string (int64 format)

可选。整数标志值。

stringValue

string

可选。字符串标志值。

doubleValue

number

可选。双精度标志值。

分配

JSON 表示法
{
  "id": string,
  "randomizedOn": string,
  "description": string,
  "slots": [
    {
      object (AllocationSlot)
    }
  ]
}
字段
id

string

必需。分配 ID。长度上限:128 字节。

randomizedOn

string

必需。用于流量拆分的上下文属性的键。

description

string

可选。分配的说明。长度上限:500 字节。

slots[]

object (AllocationSlot)

必需。Slot 定义了变体的加权分布。

AllocationSlot

JSON 表示法
{
  "variant": string,
  "weight": integer
}
字段
variant

string

必需。分配槽的变体。

weight

integer

必需。权重用于定义要分配给相应变体的流量比例,相对于同一分配中的其他广告资源而言。

EvaluationRule

JSON 表示法
{
  "id": string,
  "condition": string,
  "target": string
}
字段
id

string

必需。评估规则 ID。长度上限:128 字节。

condition

string

必需。计算结果为布尔值的通用表达式语言 (CEL) 表达式。系统会根据提供的上下文评估表达式。如果返回 true,则应用相应规则的目标。

target

string

必需。如果满足条件,要应用的目标变体或分配。此值应与已定义的变体或分配的 ID 一致。

标志

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
}
字段
name

string

标识符。遵循标准命名方案的资源名称(资源的完整 URI):

"projects/{project}/locations/{location}/flags/{flag_id}"

key

string

必需。不可变。运行时评估 API (OpenFeature) 中使用的标志键。长度上限:256 字节。

valueType
(deprecated)

enum (FlagValueType)

可选。不可变。已弃用:请改用 flag_value_type。标志值类型。

flagValueType

enum (ValueType)

可选。不可变。标志值类型。

evaluationSpec

object (EvaluationSpec)

可选。有关如何评估标志值的规范。

如果创建的布尔值标志未指定 evaluation_spec,系统会默认创建两个变体:“已启用”(bool_value = true)和“已停用”(bool_value = false),并将“已停用”设置为 default_target。

unitKind

string

必需。不可变。UnitKind 可以使用此标志。

description

string

可选。标志的说明。长度上限:500 字节。

variants[]

object (FlagVariant)

可选。变体的列表。

flagSet

string

可选。相应标志所属的标志集。

state

enum (State)

可选。标志的当前状态。

labels

map (key: string, value: string)

可选。资源上的标签,可用于分类。与 Kubernetes 资源标签类似。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

annotations

map (key: string, value: string)

可选。注解是与资源一起存储的非结构化键值对映射,可由外部工具设置,用于存储和检索任意元数据。它们无法查询,并且在修改对象时应予以保留。

如需了解详情,请参阅 https://kubernetes.io/docs/user-guide/annotations

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

uid

string

仅限输出。资源的唯一标识符。在服务范围内,UID 在此资源的时间和空间内是唯一的。它通常是服务器在成功创建资源时生成的,不得进行更改。当存在资源名称重用时,UID 可用来唯一地标识资源。此字段应为 UUID4。

etag

string

仅限输出。不透明值,用于唯一地标识资源的版本或世代。它可用于确认客户端和服务器是否就正在写入的资源的顺序达成一致。

createTime

string (Timestamp format)

仅限输出。创建资源时的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

仅限输出。上次更新资源时的时间戳。用户对此资源的任何更改都必须刷新此值。服务对资源的更改应刷新此值。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

FlagVariant

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.
}
字段
id

string

必需。变体 ID。长度上限:128 字节。

trackingId

string

可选。trackingId 在服务范围内是唯一的,具体取决于变体的名称和值。它通常由服务器生成,不得进行更改。trackingId 用于唯一标识和跟踪变体。

description

string

可选。此变体的功能或代表的含义的人类可读说明。

联合字段 value。value 是变体的单个标志值。value 只能是下列其中一项:
booleanValue

boolean

可选。布尔值变体。

integerValue

string (int64 format)

可选。整数变体值。

stringValue

string

可选。字符串变体值。

doubleValue

number

可选。双精度变体值。

LabelsEntry

JSON 表示法
{
  "key": string,
  "value": string
}
字段
key

string

value

string

AnnotationsEntry

JSON 表示法
{
  "key": string,
  "value": string
}
字段
key

string

value

string

时间戳

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。

nanos

integer

秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。

LabelsEntry

JSON 表示法
{
  "key": string,
  "value": string
}
字段
key

string

value

string

AnnotationsEntry

JSON 表示法
{
  "key": string,
  "value": string
}
字段
key

string

value

string

工具注解

破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌