Strumento: create_unit
Crea una risorsa Unit. Parametri obbligatori: "parent" (ad es. projects/my-project/locations/us-central1), "unit_id", "unit". Parametri facoltativi: "validate_only", "request_id".
Il seguente esempio mostra come utilizzare curl per richiamare lo strumento MCP create_unit.
| 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": "create_unit", "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 CreateUnit.
CreateUnitRequest
| Rappresentazione JSON |
|---|
{
"parent": string,
"unitId": string,
"unit": {
object ( |
| Campi | |
|---|---|
parent |
Obbligatorio. L'unità principale. |
unitId |
Obbligatorio. Il valore ID della nuova unità. |
unit |
Obbligatorio. Lo stato desiderato per l'unità. |
validateOnly |
Se "validate_only" è impostato su true, il servizio tenterà di convalidare che questa richiesta andrà a buon fine, ma non apporterà modifiche. |
requestId |
Un ID richiesta facoltativo per identificare le richieste. Specifica un ID richiesta univoco in modo che, se devi riprovare a inviare la richiesta, il server sappia che deve ignorarla se è già stata completata. Il server garantirà di ignorare la seconda richiesta per almeno 60 minuti dopo la prima. Ad esempio, considera una situazione in cui effettui una richiesta iniziale e questa scade. Se effettui nuovamente la richiesta con lo stesso ID richiesta, il server può verificare se l'operazione originale con lo stesso ID richiesta è stata ricevuta e, in caso affermativo, ignorerà la seconda richiesta. In questo modo, i client non creano impegni duplicati per errore. L'ID richiesta deve essere un UUID valido, ad eccezione dell'UUID zero, che non è supportato (00000000-0000-0000-0000-000000000000). |
Unità
| Rappresentazione JSON |
|---|
{ "name": string, "unitKind": string, "release": string, "tenant": string, "ongoingOperations": [ string ], "pendingOperations": [ string ], "scheduledOperations": [ string ], "dependents": [ { object ( |
| Campi | |
|---|---|
name |
Identificatore. Il nome della risorsa (URI completo della risorsa) che segue lo schema di denominazione standard: "projects/{project}/locations/{location}/units/{unit}" |
unitKind |
Facoltativo. Riferimento al tipo di unità a cui appartiene questa unità. Immutabile una volta impostato. |
release |
Facoltativo. Solo output. L'oggetto Release corrente per questa unità. |
tenant |
Facoltativo. Riferimento alla risorsa Tenant SaaS a cui appartiene questa unità. Ad esempio, indica le policy di manutenzione da utilizzare per pianificare gli aggiornamenti futuri su un'unità. (facoltativo e non modificabile una volta creato) |
ongoingOperations[] |
Facoltativo. Solo output. Elenco delle operazioni unità simultanee che operano su questa unità. |
pendingOperations[] |
Facoltativo. Solo output. Elenco delle UnitOperation in attesa (da eseguire) per questa unità. |
scheduledOperations[] |
Facoltativo. Solo output. Elenco delle UnitOperation pianificate per questa unità. |
dependents[] |
Facoltativo. Solo output. Elenco delle unità che dipendono da questa unità. L'unità può essere deprovisioning solo se questo elenco è vuoto. Massimo 1000. |
dependencies[] |
Facoltativo. Solo output. Insieme di dipendenze per questa unità. Massimo 10. |
inputVariables[] |
Facoltativo. Solo output. Indica le variabili di input correnti implementate dall'unità |
outputVariables[] |
Facoltativo. Solo output. Set di coppie chiave/valore corrispondenti alle variabili di output dell'esecuzione dei modelli di attuazione. Le variabili vengono dichiarate nelle configurazioni di attivazione (ad es.nel grafico Helm o in Terraform) e i valori vengono recuperati e restituiti dal motore di attivazione al termine dell'esecuzione. |
maintenance |
Facoltativo. Acquisisce le direttive richieste per eseguire la manutenzione futura dell'unità. Ciò include una richiesta all'unità di saltare la manutenzione per un periodo di tempo e rimanere bloccata sulla release attuale, nonché controlli per posticipare la manutenzione pianificata in futuro. |
state |
Facoltativo. Solo output. Stato attuale del ciclo di vita della risorsa (ad es. se è in fase di creazione o pronta all'uso). |
conditions[] |
Facoltativo. Solo output. Un insieme di condizioni che indicano le varie condizioni che questa risorsa può avere. |
managementMode |
Facoltativo. Immutabile. Indica se il ciclo di vita dell'unità è controllato dall'utente o dal sistema. Immutabile una volta creato. |
systemManagedState |
Facoltativo. Solo output. Indica lo stato gestito dal sistema dell'unità. |
systemCleanupAt |
Facoltativo. Solo output. Se impostata, indica l'ora in cui il sistema inizierà a rimuovere l'unità. 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: |
flagRevisions[] |
Facoltativo. Solo output. Revisioni dei flag utilizzate da questa unità. |
application |
Facoltativo. Riferimento all'applicazione App Hub a cui appartiene questa unità. Tutte le risorse di cui è stato eseguito il deployment in questa unità verranno associate all'applicazione specificata. |
flagConfigName |
Solo output. Questo campo memorizza l'identificatore univoco della configurazione del flag da utilizzare per questa unità. |
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: |
satisfiesPzs |
Solo output. Indica se la località della risorsa soddisfa i vincoli di separazione delle zone. Questa opzione è disattivata per impostazione predefinita. |
satisfiesPzi |
Solo output. Riservato per l'uso futuro. |
UnitDependency
| Rappresentazione JSON |
|---|
{ "alias": string, "unit": string } |
| Campi | |
|---|---|
alias |
Solo output. Alias per il nome della dipendenza. |
unit |
Solo output. Un riferimento all'oggetto Unit. |
UnitVariable
| Rappresentazione JSON |
|---|
{
"variable": string,
"type": enum ( |
| Campi | |
|---|---|
variable |
Obbligatorio. Immutabile. Nome della variabile dalle configurazioni di attuazione. |
type |
Facoltativo. Immutabile. Nome di un tipo di variabile supportato. I tipi supportati sono stringa, int e bool. |
value |
Facoltativo. Valore codificato della stringa per la variabile. |
MaintenanceSettings
| Rappresentazione JSON |
|---|
{ "pinnedUntilTime": string } |
| Campi | |
|---|---|
pinnedUntilTime |
Facoltativo. Se presente, fissa la data di release dell'unità fino alla data/ora specificata, ad esempio le modifiche al campo della release verranno rifiutate. Le implementazioni devono e rispetteranno questa impostazione, dato che non richiederanno un upgrade. 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: |
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. |
UnitCondition
| Rappresentazione JSON |
|---|
{ "status": enum ( |
| Campi | |
|---|---|
status |
Obbligatorio. Stato della condizione. |
type |
Obbligatorio. Il tipo di condizione. |
lastTransitionTime |
Obbligatorio. L'ultima volta che la condizione è passata da uno stato all'altro. 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: |
message |
Obbligatorio. Messaggio leggibile che indica i dettagli dell'ultima transizione. |
reason |
Obbligatorio. Breve motivo dell'ultima transizione della condizione. |
LabelsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
AnnotationsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
Schema di output
Un'unità di deployment che ha il suo ciclo di vita tramite un'API CRUD che utilizza un motore di attivazione sottostante (ad es. basato su Terraform, Helm o un'implementazione personalizzata fornita da un producer di servizi). Un componente di base di un tenant SaaS.
Unità
| Rappresentazione JSON |
|---|
{ "name": string, "unitKind": string, "release": string, "tenant": string, "ongoingOperations": [ string ], "pendingOperations": [ string ], "scheduledOperations": [ string ], "dependents": [ { object ( |
| Campi | |
|---|---|
name |
Identificatore. Il nome della risorsa (URI completo della risorsa) che segue lo schema di denominazione standard: "projects/{project}/locations/{location}/units/{unit}" |
unitKind |
Facoltativo. Riferimento al tipo di unità a cui appartiene questa unità. Immutabile una volta impostato. |
release |
Facoltativo. Solo output. L'oggetto Release corrente per questa unità. |
tenant |
Facoltativo. Riferimento alla risorsa Tenant SaaS a cui appartiene questa unità. Ad esempio, indica le policy di manutenzione da utilizzare per pianificare gli aggiornamenti futuri su un'unità. (facoltativo e non modificabile una volta creato) |
ongoingOperations[] |
Facoltativo. Solo output. Elenco delle operazioni unità simultanee che operano su questa unità. |
pendingOperations[] |
Facoltativo. Solo output. Elenco delle UnitOperation in attesa (da eseguire) per questa unità. |
scheduledOperations[] |
Facoltativo. Solo output. Elenco delle UnitOperation pianificate per questa unità. |
dependents[] |
Facoltativo. Solo output. Elenco delle unità che dipendono da questa unità. L'unità può essere deprovisioning solo se questo elenco è vuoto. Massimo 1000. |
dependencies[] |
Facoltativo. Solo output. Insieme di dipendenze per questa unità. Massimo 10. |
inputVariables[] |
Facoltativo. Solo output. Indica le variabili di input correnti implementate dall'unità |
outputVariables[] |
Facoltativo. Solo output. Set di coppie chiave/valore corrispondenti alle variabili di output dell'esecuzione dei modelli di attuazione. Le variabili vengono dichiarate nelle configurazioni di attivazione (ad es.nel grafico Helm o in Terraform) e i valori vengono recuperati e restituiti dal motore di attivazione al termine dell'esecuzione. |
maintenance |
Facoltativo. Acquisisce le direttive richieste per eseguire la manutenzione futura dell'unità. Ciò include una richiesta all'unità di saltare la manutenzione per un periodo di tempo e rimanere bloccata sulla release attuale, nonché controlli per posticipare la manutenzione pianificata in futuro. |
state |
Facoltativo. Solo output. Stato attuale del ciclo di vita della risorsa (ad es. se è in fase di creazione o pronta all'uso). |
conditions[] |
Facoltativo. Solo output. Un insieme di condizioni che indicano le varie condizioni che questa risorsa può avere. |
managementMode |
Facoltativo. Immutabile. Indica se il ciclo di vita dell'unità è controllato dall'utente o dal sistema. Immutabile una volta creato. |
systemManagedState |
Facoltativo. Solo output. Indica lo stato gestito dal sistema dell'unità. |
systemCleanupAt |
Facoltativo. Solo output. Se impostata, indica l'ora in cui il sistema inizierà a rimuovere l'unità. 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: |
flagRevisions[] |
Facoltativo. Solo output. Revisioni dei flag utilizzate da questa unità. |
application |
Facoltativo. Riferimento all'applicazione App Hub a cui appartiene questa unità. Tutte le risorse di cui è stato eseguito il deployment in questa unità verranno associate all'applicazione specificata. |
flagConfigName |
Solo output. Questo campo memorizza l'identificatore univoco della configurazione del flag da utilizzare per questa unità. |
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: |
satisfiesPzs |
Solo output. Indica se la località della risorsa soddisfa i vincoli di separazione delle zone. Questa opzione è disattivata per impostazione predefinita. |
satisfiesPzi |
Solo output. Riservato per l'uso futuro. |
UnitDependency
| Rappresentazione JSON |
|---|
{ "alias": string, "unit": string } |
| Campi | |
|---|---|
alias |
Solo output. Alias per il nome della dipendenza. |
unit |
Solo output. Un riferimento all'oggetto Unit. |
UnitVariable
| Rappresentazione JSON |
|---|
{
"variable": string,
"type": enum ( |
| Campi | |
|---|---|
variable |
Obbligatorio. Immutabile. Nome della variabile dalle configurazioni di attuazione. |
type |
Facoltativo. Immutabile. Nome di un tipo di variabile supportato. I tipi supportati sono stringa, int e bool. |
value |
Facoltativo. Valore codificato della stringa per la variabile. |
MaintenanceSettings
| Rappresentazione JSON |
|---|
{ "pinnedUntilTime": string } |
| Campi | |
|---|---|
pinnedUntilTime |
Facoltativo. Se presente, fissa la data di release dell'unità fino alla data/ora specificata, ad esempio le modifiche al campo della release verranno rifiutate. Le implementazioni devono e rispetteranno questa impostazione, dato che non richiederanno un upgrade. 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: |
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. |
UnitCondition
| Rappresentazione JSON |
|---|
{ "status": enum ( |
| Campi | |
|---|---|
status |
Obbligatorio. Stato della condizione. |
type |
Obbligatorio. Il tipo di condizione. |
lastTransitionTime |
Obbligatorio. L'ultima volta che la condizione è passata da uno stato all'altro. 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: |
message |
Obbligatorio. Messaggio leggibile che indica i dettagli dell'ultima transizione. |
reason |
Obbligatorio. Breve motivo dell'ultima transizione della condizione. |
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: ❌