Tool: get_flag_revision
Ruft eine FlagRevision-Ressource ab. Erforderlicher Parameter: „name“ (z.B. „projects/my-project/locations/us-central1/flagRevisions/my-flagrevision“).
Im folgenden Beispiel wird gezeigt, wie Sie mit curl das MCP-Tool get_flag_revision aufrufen.
| Curl-Anfrage |
|---|
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 }' |
Eingabeschema
Die Anfragestruktur für die Methode „GetFlagRevision“.
GetFlagRevisionRequest
| JSON-Darstellung |
|---|
{ "name": string } |
| Felder | |
|---|---|
name |
Erforderlich. Der Name der Ressource in einem Dienst. |
Ausgabeschema
Eine Momentaufnahme der EvaluationSpec für die Flag.
FlagRevision
| JSON-Darstellung |
|---|
{ "name": string, "flag": string, "evaluationSpec": { object ( |
| Felder | |
|---|---|
name |
ID. Der Ressourcenname (vollständiger URI der Ressource) gemäß dem Standardbenennungsschema: "projects/{project}/locations/{location}/flagRevisions/{flag_revision_id}" |
flag |
Erforderlich. Nicht veränderbar. Name der |
evaluationSpec |
Nur Ausgabe. Nicht veränderbar. Snapshot der |
snapshot |
Nur Ausgabe. Nicht veränderbar. Snapshot von |
labels |
Optional. Die Labels der Ressource, die zur Kategorisierung verwendet werden können, ähnlich wie Kubernetes-Ressourcenlabels. Ein Objekt, das eine Liste von |
annotations |
Optional. „Annotations“ ist eine unstrukturierte Schlüssel/Wert-Zuordnung, die mit einer Ressource gespeichert wird und von externen Tools festgelegt werden kann, um beliebige Metadaten zu speichern und abzurufen. Sie können nicht abgefragt werden und sollten beim Ändern von Objekten beibehalten werden. Weitere Informationen: https://kubernetes.io/docs/user-guide/annotations Ein Objekt, das eine Liste von |
uid |
Nur Ausgabe. Die eindeutige Kennzeichnung der Ressource. Die UID gilt zeitlich und räumlich im Rahmen des Dienstes nur für diese eine Ressource. Sie wird in der Regel nach dem Erstellen der Ressource vom Server generiert und darf nicht geändert werden. Die UID dient dazu, Ressourcen, deren Namen wiederverwendet werden, eindeutig zu kennzeichnen. Dies sollte eine UUID4 sein. |
etag |
Nur Ausgabe. Ein opaker Wert, der eine Version oder Generation einer Ressource eindeutig kennzeichnet. Damit kann bestätigt werden, dass Client und Server der Reihenfolge einer Ressource, die gerade geschrieben wird, zustimmen. |
createTime |
Nur Ausgabe. Der Zeitstempel, der angibt, wann die Ressource erstellt wurde. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
updateTime |
Nur Ausgabe. Der Zeitstempel, der angibt, wann die Ressource zuletzt aktualisiert wurde. Wenn Nutzer Änderungen an der Ressource vornehmen, muss dieser Wert aktualisiert werden. Gleiches gilt bei Änderungen an der Ressource durch den Dienst. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
EvaluationSpec
| JSON-Darstellung |
|---|
{ "variants": [ { object ( |
| Felder | |
|---|---|
variants[] |
Optional. Eine Liste von Varianten. |
defaultTarget |
Erforderlich. Standardvariante oder ‑zuweisung des Flags. |
allocations[] |
Optional. Eine Liste der Zuweisungen. |
rules[] |
Optional. Mit Bewertungsregeln wird die Logik für die Bewertung des Flags anhand eines bestimmten Kontexts definiert. Die Regeln werden sequenziell in der angegebenen Reihenfolge ausgewertet. |
attributes[] |
Optional. Namen der Kontextattribute, die in den Bewertungsregeln und Zuweisungen verwendet werden. |
Variante
| JSON-Darstellung |
|---|
{ "name": string, // Union field |
| Felder | |
|---|---|
name |
Erforderlich. Name der Variante. Maximale Länge: 128 Bytes. |
Union-Feld value. „value“ ist ein einzelner Flag-Wert für die Variante. Für value ist nur einer der folgenden Werte zulässig: |
|
boolValue |
Optional. Boolescher Flag-Wert. |
intValue |
Optional. Ganzzahliger Flag-Wert. |
stringValue |
Optional. String-Flag-Wert. |
doubleValue |
Optional. Doppelter Flag-Wert. |
Zuordnung
| JSON-Darstellung |
|---|
{
"id": string,
"randomizedOn": string,
"description": string,
"slots": [
{
object ( |
| Felder | |
|---|---|
id |
Erforderlich. Zuweisungs-ID. Maximale Länge: 128 Bytes. |
randomizedOn |
Erforderlich. Schlüssel des Kontextattributs, das für die Traffic-Aufteilung verwendet wird. |
description |
Optional. Beschreibung der Zuweisung. Maximale Länge: 500 Bytes. |
slots[] |
Erforderlich. Mit „Slots“ wird die gewichtete Verteilung von Varianten definiert. |
AllocationSlot
| JSON-Darstellung |
|---|
{ "variant": string, "weight": integer } |
| Felder | |
|---|---|
variant |
Erforderlich. Variante des Zuweisungsslots. |
weight |
Erforderlich. Mit der Gewichtung wird der Anteil des Traffics festgelegt, der der Variante zugewiesen werden soll, im Verhältnis zu anderen Slots in derselben Zuweisung. |
EvaluationRule
| JSON-Darstellung |
|---|
{ "id": string, "condition": string, "target": string } |
| Felder | |
|---|---|
id |
Erforderlich. ID der Bewertungsregel. Maximale Länge: 128 Bytes. |
condition |
Erforderlich. Ein CEL-Ausdruck (Common Expression Language), der als boolescher Wert ausgewertet wird. Der Ausdruck wird anhand des bereitgestellten Kontexts ausgewertet. Wenn „true“ zurückgegeben wird, wird das Ziel der Regel angewendet. |
target |
Erforderlich. Die Zielvariante oder Zuweisung, die angewendet werden soll, wenn die Bedingung erfüllt ist. Er muss mit der ID einer definierten Variante oder Zuweisung übereinstimmen. |
Flag
| JSON-Darstellung |
|---|
{ "name": string, "key": string, "valueType": enum ( |
| Felder | |
|---|---|
name |
ID. Der Ressourcenname (vollständiger URI der Ressource) gemäß dem Standardbenennungsschema: "projects/{project}/locations/{location}/flags/{flag_id}" |
key |
Erforderlich. Nicht veränderbar. In Laufzeitbewertungs-APIs verwendeter Flag-Schlüssel (OpenFeature). Maximale Länge: 256 Bytes. |
valueType |
Optional. Nicht veränderbar. Nicht mehr unterstützt: Verwenden Sie stattdessen |
flagValueType |
Optional. Nicht veränderbar. Typ des Flag-Werts. |
evaluationSpec |
Optional. Gibt an, wie der Flag-Wert ausgewertet werden soll. Wenn ein boolesches Flag ohne Angabe von „evaluation_spec“ erstellt wird, werden standardmäßig zwei Standardvarianten erstellt: „Aktiviert“ (mit „bool_value“ = „true“) und „Deaktiviert“ (mit „bool_value“ = „false“). „Deaktiviert“ wird als „default_target“ festgelegt. |
unitKind |
Erforderlich. Nicht veränderbar. |
description |
Optional. Beschreibung des Flags. Maximale Länge: 500 Bytes. |
variants[] |
Optional. Eine Liste von Varianten. |
flagSet |
Optional. Die Flag-Gruppe, zu der dieses Flag gehört. |
state |
Optional. Aktueller Status des Flags. |
labels |
Optional. Die Labels der Ressource, die zur Kategorisierung verwendet werden können, ähnlich wie Kubernetes-Ressourcenlabels. Ein Objekt, das eine Liste von |
annotations |
Optional. „Annotations“ ist eine unstrukturierte Schlüssel/Wert-Zuordnung, die mit einer Ressource gespeichert wird und von externen Tools festgelegt werden kann, um beliebige Metadaten zu speichern und abzurufen. Sie können nicht abgefragt werden und sollten beim Ändern von Objekten beibehalten werden. Weitere Informationen: https://kubernetes.io/docs/user-guide/annotations Ein Objekt, das eine Liste von |
uid |
Nur Ausgabe. Die eindeutige Kennzeichnung der Ressource. Die UID gilt zeitlich und räumlich im Rahmen des Dienstes nur für diese eine Ressource. Sie wird in der Regel nach dem Erstellen der Ressource vom Server generiert und darf nicht geändert werden. Die UID dient dazu, Ressourcen, deren Namen wiederverwendet werden, eindeutig zu kennzeichnen. Dies sollte eine UUID4 sein. |
etag |
Nur Ausgabe. Ein opaker Wert, der eine Version oder Generation einer Ressource eindeutig kennzeichnet. Damit kann bestätigt werden, dass Client und Server der Reihenfolge einer Ressource, die gerade geschrieben wird, zustimmen. |
createTime |
Nur Ausgabe. Der Zeitstempel, der angibt, wann die Ressource erstellt wurde. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
updateTime |
Nur Ausgabe. Der Zeitstempel, der angibt, wann die Ressource zuletzt aktualisiert wurde. Wenn Nutzer Änderungen an der Ressource vornehmen, muss dieser Wert aktualisiert werden. Gleiches gilt bei Änderungen an der Ressource durch den Dienst. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
FlagVariant
| JSON-Darstellung |
|---|
{ "id": string, "trackingId": string, "description": string, // Union field |
| Felder | |
|---|---|
id |
Erforderlich. Varianten-ID. Maximale Länge: 128 Bytes. |
trackingId |
Optional. „trackingId“ ist je nach Name und Wert der Variante im Rahmen des Dienstes eindeutig. Sie wird in der Regel vom Server generiert und darf nicht geändert werden. Mit „trackingId“ werden Varianten eindeutig identifiziert und nachverfolgt. |
description |
Optional. Eine für Menschen lesbare Beschreibung der Funktion oder Bedeutung dieser Variante. |
Union-Feld value. „value“ ist ein einzelner Flag-Wert für die Variante. Für value ist nur einer der folgenden Werte zulässig: |
|
booleanValue |
Optional. Boolescher Variantenwert. |
integerValue |
Optional. Ganzzahliger Variantenwert. |
stringValue |
Optional. String-Variantenwert. |
doubleValue |
Optional. Doppelter Variantenwert. |
LabelsEntry
| JSON-Darstellung |
|---|
{ "key": string, "value": string } |
| Felder | |
|---|---|
key |
|
value |
|
AnnotationsEntry
| JSON-Darstellung |
|---|
{ "key": string, "value": string } |
| Felder | |
|---|---|
key |
|
value |
|
Zeitstempel
| JSON-Darstellung |
|---|
{ "seconds": string, "nanos": integer } |
| Felder | |
|---|---|
seconds |
Stellt Sekunden der UTC-Zeit seit Unix-Epoche 1970-01-01T00:00:00Z dar. Muss einschließlich zwischen -62135596800 und 253402300799 liegen (entspricht 0001-01-01T00:00:00Z bis 9999-12-31T23:59:59Z). |
nanos |
Nicht negative Sekundenbruchteile Nanosekunden-Auflösung. Dieses Feld enthält den Nanosekundenanteil der Dauer und ist keine Alternative zu Sekunden. Negative Sekundenwerte mit Bruchteilen müssen weiterhin nicht negative Nano-Werte haben, die zeitlich vorwärts gezählt werden. Muss zwischen 0 und 999.999.999 liegen (einschließlich). |
LabelsEntry
| JSON-Darstellung |
|---|
{ "key": string, "value": string } |
| Felder | |
|---|---|
key |
|
value |
|
AnnotationsEntry
| JSON-Darstellung |
|---|
{ "key": string, "value": string } |
| Felder | |
|---|---|
key |
|
value |
|
Tool-Annotationen
Destruktiver Hinweis: ❌ | Idempotenter Hinweis: ✅ | Nur-Lese-Hinweis: ✅ | Open-World-Hinweis: ❌