Tool: get_unit_operation
Gets a UnitOperation resource. Required parameter: 'name' (e.g. projects/my-project/locations/us-central1/unitOperations/my-unitoperation).
The following sample demonstrate how to use curl
to invoke the get_unit_operation
MCP tool.
| 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_unit_operation", "arguments": { // provide these details according to the tool' s MCP specification } } , "jsonrpc" : "2.0" , "id" : 1 } ' |
Input Schema
The request structure for the GetUnitOperation method.
GetUnitOperationRequest
| JSON representation |
|---|
{ "name" : string } |
| Fields | |
|---|---|
name
|
Required. The resource name of the resource within a service. |
Output Schema
UnitOperation encapsulates the intent of changing/interacting with the service component represented by the specific Unit. Multiple UnitOperations can be created (requested) and scheduled in the future, however only one will be allowed to execute at a time (that can change in the future for non-mutating operations).
UnitOperations allow different actors interacting with the same unit to focus only on the change they have requested.
This is a base object that contains the common fields in all unit operations. Next: 22
UnitOperation
| JSON representation |
|---|
{ "name" : string , "unit" : string , "parentUnitOperation" : string , "rollout" : string , "cancel" : boolean , "state" : enum ( |
name
string
Identifier. The resource name (full URI of the resource) following the standard naming scheme:
"projects/{project}/locations/{location}/unitOperations/{unitOperation}"
unit
string
Required. Immutable. The Unit a given UnitOperation will act upon.
parentUnitOperation
string
Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional)
rollout
string
Optional. Specifies which rollout created this Unit Operation. This cannot be modified and is used for filtering purposes only. If a dependent unit and unit operation are created as part of another unit operation, they will use the same rolloutId.
cancel
boolean
Optional. When true, attempt to cancel the operation. Cancellation may fail if the operation is already executing. (Optional)
state
enum (
UnitOperationState
)
Optional. Output only. UnitOperationState describes the current state of the unit operation.
conditions[]
object (
UnitOperationCondition
)
Optional. Output only. A set of conditions which indicate the various conditions this resource can have.
schedule
object (
Schedule
)
Optional. When to schedule this operation.
engineState
string
Optional. Output only. The engine state for on-going deployment engine operation(s). This field is opaque for external usage.
errorCategory
enum (
UnitOperationErrorCategory
)
Optional. Output only. UnitOperationErrorCategory describe the error category.
labels
map (key: string, value: string)
Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
An object containing a list of "key": value
pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }
.
annotations
map (key: string, value: string)
Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.
More info: https://kubernetes.io/docs/user-guide/annotations
An object containing a list of "key": value
pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }
.
uid
string
Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
etag
string
Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
createTime
string (
Timestamp
format)
Output only. The timestamp when the resource was created.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
or "2014-10-02T15:01:23+05:30"
.
updateTime
string (
Timestamp
format)
Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
or "2014-10-02T15:01:23+05:30"
.
deleteTime
string (
Timestamp
format)
Output only. The timestamp when the resource was marked for deletion (deletion is an asynchronous operation).
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
or "2014-10-02T15:01:23+05:30"
.
Union field unit_operation_type
.
unit_operation_type
can be only one of the following:
provision
object (
Provision
)
upgrade
object (
Upgrade
)
deprovision
object (
Deprovision
)
flagUpdate
object (
FlagUpdate
)
Provision
| JSON representation |
|---|
{
"release"
:
string
,
"inputVariables"
:
[
{
object (
|
| Fields | |
|---|---|
release
|
Optional. Reference to the Release object to use for the Unit. (optional). |
inputVariables[]
|
Optional. Set of input variables. Maximum 100. (optional) |
UnitVariable
| JSON representation |
|---|
{
"variable"
:
string
,
"type"
:
enum (
|
| Fields | |
|---|---|
variable
|
Required. Immutable. Name of the variable from actuation configs. |
type
|
Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool. |
value
|
Optional. String encoded value for the variable. |
Upgrade
| JSON representation |
|---|
{
"release"
:
string
,
"inputVariables"
:
[
{
object (
|
| Fields | |
|---|---|
release
|
Optional. Reference to the Release object to use for the Unit. (optional). |
inputVariables[]
|
Optional. Set of input variables. Maximum 100. (optional) |
FlagUpdate
| JSON representation |
|---|
{ "flagRelease" : string } |
| Fields | |
|---|---|
flagRelease
|
Required. Flag release being applied by UnitOperation. |
UnitOperationCondition
| JSON representation |
|---|
{ "status" : enum ( |
| Fields | |
|---|---|
status
|
Required. Status of the condition. |
type
|
Required. Type of the condition. |
lastTransitionTime
|
Required. Last time the condition transited from one status to another. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
message
|
Required. Human readable message indicating details about the last transition. |
reason
|
Required. Brief reason for the condition's last transition. |
Timestamp
| JSON representation |
|---|
{ "seconds" : string , "nanos" : integer } |
| Fields | |
|---|---|
seconds
|
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos
|
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
Schedule
| JSON representation |
|---|
{ "startTime" : string } |
| Fields | |
|---|---|
startTime
|
Optional. Start of operation. If not set, will be set to the start of the next window. (optional) Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
LabelsEntry
| JSON representation |
|---|
{ "key" : string , "value" : string } |
| Fields | |
|---|---|
key
|
|
value
|
|
AnnotationsEntry
| JSON representation |
|---|
{ "key" : string , "value" : string } |
| Fields | |
|---|---|
key
|
|
value
|
|
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌

