MCP Tools Reference: saasservicemgmt

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

string

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 ( UnitOperationState 
) 
 , 
 "conditions" 
 : 
 [ 
 { 
 object (  UnitOperationCondition 
 
) 
 } 
 ] 
 , 
 "schedule" 
 : 
 { 
 object (  Schedule 
 
) 
 } 
 , 
 "engineState" 
 : 
 string 
 , 
 "errorCategory" 
 : 
 enum ( UnitOperationErrorCategory 
) 
 , 
 "labels" 
 : 
 { 
 string 
 : 
 string 
 , 
 ... 
 } 
 , 
 "annotations" 
 : 
 { 
 string 
 : 
 string 
 , 
 ... 
 } 
 , 
 "uid" 
 : 
 string 
 , 
 "etag" 
 : 
 string 
 , 
 "createTime" 
 : 
 string 
 , 
 "updateTime" 
 : 
 string 
 , 
 "deleteTime" 
 : 
 string 
 , 
 // Union field unit_operation_type 
can be only one of the following: 
 "provision" 
 : 
 { 
 object (  Provision 
 
) 
 } 
 , 
 "upgrade" 
 : 
 { 
 object (  Upgrade 
 
) 
 } 
 , 
 "deprovision" 
 : 
 { 
 object ( Deprovision 
) 
 } 
 , 
 "flagUpdate" 
 : 
 { 
 object (  FlagUpdate 
 
) 
 } 
 // End of list of possible types for union field unit_operation_type 
. 
 } 
Fields
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 (  UnitVariable 
 
) 
 } 
 ] 
 } 
Fields
release

string

Optional. Reference to the Release object to use for the Unit. (optional).

inputVariables[]

object ( UnitVariable )

Optional. Set of input variables. Maximum 100. (optional)

UnitVariable

JSON representation
 { 
 "variable" 
 : 
 string 
 , 
 "type" 
 : 
 enum ( Type 
) 
 , 
 "value" 
 : 
 string 
 } 
Fields
variable

string

Required. Immutable. Name of the variable from actuation configs.

type

enum ( Type )

Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.

value

string

Optional. String encoded value for the variable.

Upgrade

JSON representation
 { 
 "release" 
 : 
 string 
 , 
 "inputVariables" 
 : 
 [ 
 { 
 object (  UnitVariable 
 
) 
 } 
 ] 
 } 
Fields
release

string

Optional. Reference to the Release object to use for the Unit. (optional).

inputVariables[]

object ( UnitVariable )

Optional. Set of input variables. Maximum 100. (optional)

FlagUpdate

JSON representation
 { 
 "flagRelease" 
 : 
 string 
 } 
Fields
flagRelease

string

Required. Flag release being applied by UnitOperation.

UnitOperationCondition

JSON representation
 { 
 "status" 
 : 
 enum ( Status 
) 
 , 
 "type" 
 : 
 enum ( Type 
) 
 , 
 "lastTransitionTime" 
 : 
 string 
 , 
 "message" 
 : 
 string 
 , 
 "reason" 
 : 
 string 
 } 
Fields
status

enum ( Status )

Required. Status of the condition.

type

enum ( Type )

Required. Type of the condition.

lastTransitionTime

string ( Timestamp format)

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: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30" .

message

string

Required. Human readable message indicating details about the last transition.

reason

string

Required. Brief reason for the condition's last transition.

Timestamp

JSON representation
 { 
 "seconds" 
 : 
 string 
 , 
 "nanos" 
 : 
 integer 
 } 
Fields
seconds

string ( int64 format)

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

integer

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

string ( Timestamp format)

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: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30" .

LabelsEntry

JSON representation
 { 
 "key" 
 : 
 string 
 , 
 "value" 
 : 
 string 
 } 
Fields
key

string

value

string

AnnotationsEntry

JSON representation
 { 
 "key" 
 : 
 string 
 , 
 "value" 
 : 
 string 
 } 
Fields
key

string

value

string

Tool Annotations

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌

Design a Mobile Site
View Site in Mobile | Classic
Share by: