Strumento: get_flag_revision
Recupera una risorsa FlagRevision. Parametro obbligatorio: "name" (ad es. projects/my-project/locations/us-central1/flagRevisions/my-flagrevision).
Il seguente esempio mostra come utilizzare curl per richiamare lo strumento MCP get_flag_revision.
| Curl Request |
|---|
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 }' |
Schema di input
La struttura della richiesta per il metodo GetFlagRevision.
GetFlagRevisionRequest
| Rappresentazione JSON |
|---|
{ "name": string } |
| Campi | |
|---|---|
name |
Obbligatorio. Nome della risorsa all'interno di un servizio. |
Schema di output
Uno snapshot di EvaluationSpec per Flag.
FlagRevision
| Rappresentazione JSON |
|---|
{ "name": string, "flag": string, "evaluationSpec": { object ( |
| Campi | |
|---|---|
name |
Identificatore. Il nome della risorsa (URI completo della risorsa) che segue lo schema di denominazione standard: "projects/{project}/locations/{location}/flagRevisions/{flag_revision_id}" |
flag |
Obbligatorio. Immutabile. Nome dell' |
evaluationSpec |
Solo output. Immutabile. Snapshot di |
snapshot |
Solo output. Immutabile. Snapshot di |
labels |
Facoltativo. Le etichette sulla risorsa, che possono essere utilizzate per la categorizzazione, simili alle etichette delle risorse Kubernetes. Un oggetto contenente un elenco di coppie |
annotations |
Facoltativo. Le annotazioni sono una mappa chiave-valore non strutturata archiviata con una risorsa che può essere impostata da strumenti esterni per archiviare e recuperare metadati arbitrari. Non sono interrogabili e devono essere conservati durante la modifica degli oggetti. Scopri di più: https://kubernetes.io/docs/user-guide/annotations Un oggetto contenente un elenco di coppie |
uid |
Solo output. Identificatore unico della risorsa. L'UID è unico nello spazio e nel tempo per questa risorsa nell'ambito del servizio. Viene tipicamente generato dal server durante la creazione di una risorsa e non deve essere modificato. L'UID viene utilizzato per identificare in modo unico le risorse quando i nomi risorsa vengono riutilizzati. Deve essere un UUID4. |
etag |
Solo output. Valore opaco che identifica in modo unico una versione o generazione di una risorsa. Può essere usato per confermare che client e server concordano nell'ordine di una risorsa in fase di scrittura. |
createTime |
Solo output. Timestamp di creazione della risorsa. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
updateTime |
Solo output. Timestamp dell'ultimo aggiornamento della risorsa. Qualsiasi modifica apportata alla risorsa dagli utenti deve aggiornare questo valore. Le modifiche a una risorsa apportate dal servizio devono aggiornare questo valore. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
EvaluationSpec
| Rappresentazione JSON |
|---|
{ "variants": [ { object ( |
| Campi | |
|---|---|
variants[] |
Facoltativo. Un elenco di varianti. |
defaultTarget |
Obbligatorio. Variante o allocazione predefinita del flag. |
allocations[] |
Facoltativo. Un elenco di allocazioni. |
rules[] |
Facoltativo. Le regole di valutazione definiscono la logica per valutare il flag in base a un determinato contesto. Le regole vengono valutate in sequenza nell'ordine specificato. |
attributes[] |
Facoltativo. Nomi degli attributi di contesto utilizzati nelle regole di valutazione e nelle allocazioni. |
Variante
| Rappresentazione JSON |
|---|
{ "name": string, // Union field |
| Campi | |
|---|---|
name |
Obbligatorio. Nome della variante. Lunghezza massima: 128 byte. |
Campo unione value. value è un singolo valore del flag per la variante. value può essere solo uno dei seguenti tipi: |
|
boolValue |
Facoltativo. Valore del flag booleano. |
intValue |
Facoltativo. Valore del flag intero. |
stringValue |
Facoltativo. Valore flag stringa. |
doubleValue |
Facoltativo. Valore flag doppio. |
Allocazione
| Rappresentazione JSON |
|---|
{
"id": string,
"randomizedOn": string,
"description": string,
"slots": [
{
object ( |
| Campi | |
|---|---|
id |
Obbligatorio. ID allocazione. Lunghezza massima: 128 byte. |
randomizedOn |
Obbligatorio. Chiave dell'attributo di contesto utilizzato per la suddivisione del traffico. |
description |
Facoltativo. Descrizione dell'assegnazione. Lunghezza massima: 500 byte. |
slots[] |
Obbligatorio. Gli slot definiscono la distribuzione ponderata delle varianti. |
AllocationSlot
| Rappresentazione JSON |
|---|
{ "variant": string, "weight": integer } |
| Campi | |
|---|---|
variant |
Obbligatorio. Variante dello slot di allocazione. |
weight |
Obbligatorio. La ponderazione definisce la proporzione di traffico da allocare alla variante, rispetto agli altri slot della stessa allocazione. |
EvaluationRule
| Rappresentazione JSON |
|---|
{ "id": string, "condition": string, "target": string } |
| Campi | |
|---|---|
id |
Obbligatorio. ID regola di valutazione. Lunghezza massima: 128 byte. |
condition |
Obbligatorio. Un'espressione Common Expression Language (CEL) che restituisce un valore booleano. L'espressione viene valutata in base al contesto fornito. Se restituisce true, viene applicato il target della regola. |
target |
Obbligatorio. La variante di destinazione o l'allocazione da applicare se la condizione è soddisfatta. Deve corrispondere al nome di una variante definita o all'ID dell'allocazione. |
Flag
| Rappresentazione JSON |
|---|
{ "name": string, "key": string, "valueType": enum ( |
| Campi | |
|---|---|
name |
Identificatore. Il nome della risorsa (URI completo della risorsa) che segue lo schema di denominazione standard: "projects/{project}/locations/{location}/flags/{flag_id}" |
key |
Obbligatorio. Immutabile. Chiave flag utilizzata nelle API di valutazione di runtime (OpenFeature). Lunghezza massima: 256 byte. |
valueType |
Facoltativo. Immutabile. Deprecato: utilizza |
flagValueType |
Facoltativo. Immutabile. Tipo di valore del flag. |
evaluationSpec |
Facoltativo. Specifica di come deve essere valutato il valore del flag. Se viene creato un flag booleano senza specificare un evaluation_spec, vengono create per impostazione predefinita due varianti predefinite, "Enabled" (con bool_value = true) e "Disabled" (con bool_value = false), e "Disabled" viene impostata come default_target. |
unitKind |
Obbligatorio. Immutabile. |
description |
Facoltativo. Descrizione del flag. Lunghezza massima: 500 byte. |
variants[] |
Facoltativo. Un elenco di varianti. |
flagSet |
Facoltativo. Il set di flag a cui appartiene questo flag. |
state |
Facoltativo. Stato attuale del flag. |
labels |
Facoltativo. Le etichette sulla risorsa, che possono essere utilizzate per la categorizzazione, simili alle etichette delle risorse Kubernetes. Un oggetto contenente un elenco di coppie |
annotations |
Facoltativo. Le annotazioni sono una mappa chiave-valore non strutturata archiviata con una risorsa che può essere impostata da strumenti esterni per archiviare e recuperare metadati arbitrari. Non sono interrogabili e devono essere conservati durante la modifica degli oggetti. Scopri di più: https://kubernetes.io/docs/user-guide/annotations Un oggetto contenente un elenco di coppie |
uid |
Solo output. Identificatore unico della risorsa. L'UID è unico nello spazio e nel tempo per questa risorsa nell'ambito del servizio. Viene tipicamente generato dal server durante la creazione di una risorsa e non deve essere modificato. L'UID viene utilizzato per identificare in modo unico le risorse quando i nomi risorsa vengono riutilizzati. Deve essere un UUID4. |
etag |
Solo output. Valore opaco che identifica in modo unico una versione o generazione di una risorsa. Può essere usato per confermare che client e server concordano nell'ordine di una risorsa in fase di scrittura. |
createTime |
Solo output. Timestamp di creazione della risorsa. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
updateTime |
Solo output. Timestamp dell'ultimo aggiornamento della risorsa. Qualsiasi modifica apportata alla risorsa dagli utenti deve aggiornare questo valore. Le modifiche a una risorsa apportate dal servizio devono aggiornare questo valore. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
FlagVariant
| Rappresentazione JSON |
|---|
{ "id": string, "trackingId": string, "description": string, // Union field |
| Campi | |
|---|---|
id |
Obbligatorio. ID variante. Lunghezza massima: 128 byte. |
trackingId |
(Facoltativo) trackingId è univoco a seconda del nome e del valore della variante nell'ambito del servizio. Viene tipicamente generato dal server e non deve essere modificato. trackingId viene utilizzato per identificare e monitorare in modo univoco le varianti. |
description |
Facoltativo. Una descrizione leggibile di cosa fa o rappresenta questa variante. |
Campo unione value. value è un singolo valore del flag per la variante. value può essere solo uno dei seguenti tipi: |
|
booleanValue |
Facoltativo. Valore della variante booleana. |
integerValue |
Facoltativo. Valore della variante intera. |
stringValue |
Facoltativo. Valore della variante stringa. |
doubleValue |
Facoltativo. Valore della variante doppio. |
LabelsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
AnnotationsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Rappresenta i secondi di tempo UTC dall'epoca di Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (corrispondenti a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z). |
nanos |
Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la porzione di nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori di nanosecondi non negativi che vengono conteggiati in avanti nel tempo. Deve essere compreso tra 0 e 999.999.999 inclusi. |
LabelsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
AnnotationsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
Annotazioni dello strumento
Suggerimento distruttivo: ❌ | Suggerimento idempotente: ✅ | Suggerimento di sola lettura: ✅ | Suggerimento open world: ❌