ツール: list_flags
Flag リソースを一覧表示します。必須パラメータ: 「parent」(例: projects/my-project/locations/us-central1)。省略可能なパラメータ: 'page_size'、'page_token'、'filter'、'order_by'。
次のサンプルは、curl を使用して list_flags 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": "list_flags", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
入力スキーマ
ListFlags メソッドのリクエスト構造。
ListFlagsRequest
| JSON 表現 |
|---|
{ "parent": string, "pageSize": integer, "pageToken": string, "filter": string, "orderBy": string } |
| フィールド | |
|---|---|
parent |
必須。フラグの親。 |
pageSize |
ページごとに送信するフラグの最大数。 |
pageToken |
ページトークン: 前のレスポンスの next_page_token が指定されている場合、このリクエストは次のページを送信します。 |
filter |
https://google.aip.dev/160 で指定されているとおりにリストをフィルタします。 |
orderBy |
https://google.aip.dev/132 で指定されているとおりに結果を並べ替えます。 |
出力スキーマ
ListFlags メソッドのレスポンス構造。
ListFlagsResponse
| JSON 表現 |
|---|
{
"flags": [
{
object ( |
| フィールド | |
|---|---|
flags[] |
結果のフラグ。 |
nextPageToken |
存在する場合、次のページトークンを後続の ListFlags 呼び出しに指定して、次のページを一覧表示できます。空の場合、これ以上のページはありません。 |
unreachable[] |
到達できなかったロケーション。 |
フラグ
| JSON 表現 |
|---|
{ "name": string, "key": string, "valueType": enum ( |
| フィールド | |
|---|---|
name |
ID。標準の命名スキームに沿ったリソース名(リソースの完全な URI)。 "projects/{project}/locations/{location}/flags/{flag_id}" |
key |
必須。変更不可。ランタイム評価 API で使用されるフラグキー(OpenFeature)。最大長: 256 バイト。 |
valueType |
省略可。変更不可。非推奨: 代わりに、 |
flagValueType |
省略可。変更不可。フラグ値の型。 |
evaluationSpec |
省略可。フラグ値の評価方法の仕様。 evaluation_spec を指定せずにブール値フラグを作成すると、デフォルトで「Enabled」(bool_value = true)と「Disabled」(bool_value = false)の 2 つのデフォルト バリエーションが作成され、「Disabled」が default_target として設定されます。 |
unitKind |
必須。変更不可。このフラグを使用できる |
description |
省略可。フラグの説明。最大長: 500 バイト。 |
variants[] |
省略可。バリアントのリスト。 |
flagSet |
省略可。このフラグが属するフラグセット。 |
state |
省略可。フラグの現在の状態。 |
labels |
省略可。リソースのラベル。分類に使用できます。Kubernetes リソースラベルに似ています。
|
annotations |
省略可。アノテーションは、任意のメタデータを保存して取得するため、外部ツールによって設定される可能性のあるリソースとともに保存される非構造化 Key-Value マップです。クエリは実行可能ではなく、オブジェクトを変更する際に保持する必要があります。 詳細: https://kubernetes.io/docs/user-guide/annotations
|
uid |
出力専用。リソースの一意の識別子。UID は、サービスのスコープ内で、このリソースの時間と場所において一意性を持ちます。通常は、リソースの作成時にサーバーによって生成され、変更されることはありません。UID は、リソース名が再利用される場合でも一意にリソースを識別するために使用されます。UUID4 であることが必要です。 |
etag |
出力専用。リソースのバージョンまたは世代を一意に識別する、不透明な値です。書き込まれるリソースの順序についてクライアントとサーバーの間で確実に同意するために使用できます。 |
createTime |
出力専用。リソース作成時のタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
updateTime |
出力専用。リソース最終更新時のタイムスタンプ。ユーザーがリソースを変更した場合は、この値を更新する必要があります。サービスがリソースを変更した場合は、この値を更新する必要があります。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
EvaluationSpec
| JSON 表現 |
|---|
{ "variants": [ { object ( |
| フィールド | |
|---|---|
variants[] |
省略可。バリアントのリスト。 |
defaultTarget |
必須。フラグのデフォルトのバリエーションまたは割り当て。 |
allocations[] |
省略可。割り当てのリスト。 |
rules[] |
省略可。評価ルールは、特定のコンテキストに対してフラグを評価するロジックを定義します。ルールは指定された順序で順番に評価されます。 |
attributes[] |
省略可。評価ルールと割り当てで使用されるコンテキスト属性の名前。 |
パターン
| 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
| JSON 表現 |
|---|
{ "variant": string, "weight": integer } |
| フィールド | |
|---|---|
variant |
必須。割り当てスロットのバリエーション。 |
weight |
必須。重みは、同じ割り当て内の他のスロットと比較して、バリエーションに割り当てるトラフィックの割合を定義します。 |
EvaluationRule
| JSON 表現 |
|---|
{ "id": string, "condition": string, "target": string } |
| フィールド | |
|---|---|
id |
必須。評価ルール ID。最大長: 128 バイト。 |
condition |
必須。ブール値に評価される Common Expression Language(CEL)式。式は、指定されたコンテキストに対して評価されます。true が返された場合、ルールのターゲットが適用されます。 |
target |
必須。条件が満たされた場合に適用するターゲット バリアントまたは割り当て。これは、定義されたバリエーションまたは割り当ての ID の名前と一致する必要があります。 |
FlagVariant
| JSON 表現 |
|---|
{ "id": string, "trackingId": string, "description": string, // Union field |
| フィールド | |
|---|---|
id |
必須。バリエーション ID。最大長: 128 バイト。 |
trackingId |
省略可。trackingId は、サービスのスコープ内のバリエーションの名前と値に応じて一意になります。通常はサーバーによって生成され、変更されることはありません。trackingId は、バリアントを一意に識別して追跡するために使用されます。 |
description |
省略可。このバリエーションの機能や内容を説明する、人が読める形式の説明。 |
共用体フィールド value。value はバリアントの単一のフラグ値です。value は次のいずれかになります。 |
|
booleanValue |
省略可。ブール値のバリエーション値。 |
integerValue |
省略可。整数型のバリアント値。 |
stringValue |
省略可。文字列バリアント値。 |
doubleValue |
省略可。double バリエーション値。 |
LabelsEntry
| JSON 表現 |
|---|
{ "key": string, "value": string } |
| フィールド | |
|---|---|
key |
|
value |
|
AnnotationsEntry
| JSON 表現 |
|---|
{ "key": string, "value": string } |
| フィールド | |
|---|---|
key |
|
value |
|
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
ツールのアノテーション
破壊的ヒント: ❌ | べき等ヒント: ✅ | 読み取り専用ヒント: ✅ | オープン ワールド ヒント: ❌