SaaS Runtime v1beta1 API - Class UnitOperation (1.0.0-beta01)
public sealed class UnitOperation : IMessage<UnitOperation>, IEquatable<UnitOperation>, IDeepCloneable<UnitOperation>, IBufferMessage, IMessage
Reference documentation and code samples for the SaaS Runtime v1beta1 API class UnitOperation.
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: 19
public MapField<string, string> Annotations { get; }
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.
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.
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)
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.
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.
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-12 UTC."],[],[],null,["# SaaS Runtime v1beta1 API - Class UnitOperation (1.0.0-beta01)\n\n public sealed class UnitOperation : IMessage\u003cUnitOperation\u003e, IEquatable\u003cUnitOperation\u003e, IDeepCloneable\u003cUnitOperation\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the SaaS Runtime v1beta1 API class UnitOperation.\n\nUnitOperation encapsulates the intent of changing/interacting with the\nservice component represented by the specific Unit. Multiple UnitOperations\ncan be created (requested) and scheduled in the future, however only one will\nbe allowed to execute at a time (that can change in the future for\nnon-mutating operations).\n\nUnitOperations allow different actors interacting with the same\nunit to focus only on the change they have requested.\n\nThis is a base object that contains the common fields in all unit operations.\nNext: 19 \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e UnitOperation \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[UnitOperation](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.UnitOperation), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[UnitOperation](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.UnitOperation), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[UnitOperation](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.UnitOperation), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1)\n\nAssembly\n--------\n\nGoogle.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.dll\n\nConstructors\n------------\n\n### UnitOperation()\n\n public UnitOperation()\n\n### UnitOperation(UnitOperation)\n\n public UnitOperation(UnitOperation other)\n\nProperties\n----------\n\n### Annotations\n\n public MapField\u003cstring, string\u003e Annotations { get; }\n\nOptional. Annotations is an unstructured key-value map stored with a\nresource that may be set by external tools to store and retrieve arbitrary\nmetadata. They are not queryable and should be preserved when modifying\nobjects.\n\nMore info: \u003chttps://kubernetes.io/docs/user-guide/annotations\u003e\n\n### Cancel\n\n public bool Cancel { get; set; }\n\nOptional. When true, attempt to cancel the operation. Cancellation may fail\nif the operation is already executing. (Optional)\n\n### Conditions\n\n public RepeatedField\u003cUnitOperationCondition\u003e Conditions { get; }\n\nOptional. Output only. A set of conditions which indicate the various\nconditions this resource can have.\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nOutput only. The timestamp when the resource was created.\n\n### Deprovision\n\n public Deprovision Deprovision { get; set; }\n\n### EngineState\n\n public string EngineState { get; set; }\n\nOptional. Output only. The engine state for on-going\ndeployment engine operation(s).\nThis field is opaque for external usage.\n\n### ErrorCategory\n\n public UnitOperationErrorCategory ErrorCategory { get; set; }\n\nOptional. Output only. UnitOperationErrorCategory describe the error\ncategory.\n\n### Etag\n\n public string Etag { get; set; }\n\nOutput only. An opaque value that uniquely identifies a version or\ngeneration of a resource. It can be used to confirm that the client\nand server agree on the ordering of a resource being written.\n\n### Labels\n\n public MapField\u003cstring, string\u003e Labels { get; }\n\nOptional. The labels on the resource, which can be used for categorization.\nsimilar to Kubernetes resource labels.\n\n### Name\n\n public string Name { get; set; }\n\nIdentifier. The resource name (full URI of the resource) following the\nstandard naming scheme:\n\n\"projects/{project}/locations/{location}/unitOperations/{unitOperation}\"\n\n### ParentUnitOperation\n\n public string ParentUnitOperation { get; set; }\n\nOptional. Reference to parent resource: UnitOperation. If an operation\nneeds to create other operations as part of its workflow, each of the child\noperations should have this field set to the parent. This can be used for\ntracing. (Optional)\n\n### ParentUnitOperationAsUnitOperationName\n\n public UnitOperationName ParentUnitOperationAsUnitOperationName { get; set; }\n\n[UnitOperationName](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.UnitOperationName)-typed view over the [ParentUnitOperation](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.UnitOperation#Google_Cloud_SaasPlatform_SaasServiceMgmt_V1Beta1_UnitOperation_ParentUnitOperation) resource name\nproperty.\n\n### Provision\n\n public Provision Provision { get; set; }\n\n### Rollout\n\n public string Rollout { get; set; }\n\nOptional. Specifies which rollout created this Unit Operation. This cannot\nbe modified and is used for filtering purposes only. If a dependent unit\nand unit operation are created as part of another unit operation, they will\nuse the same rolloutId.\n\n### RolloutAsRolloutName\n\n public RolloutName RolloutAsRolloutName { get; set; }\n\n[RolloutName](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.RolloutName)-typed view over the [Rollout](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.UnitOperation#Google_Cloud_SaasPlatform_SaasServiceMgmt_V1Beta1_UnitOperation_Rollout) resource name property.\n\n### Schedule\n\n public Schedule Schedule { get; set; }\n\nOptional. When to schedule this operation.\n\n### State\n\n public UnitOperation.Types.UnitOperationState State { get; set; }\n\nOptional. Output only. UnitOperationState describes the current state of\nthe unit operation.\n\n### Uid\n\n public string Uid { get; set; }\n\nOutput only. The unique identifier of the resource. UID is unique in the\ntime and space for this resource within the scope of the service. It is\ntypically generated by the server on successful creation of a resource\nand must not be changed. UID is used to uniquely identify resources\nwith resource name reuses. This should be a UUID4.\n\n### Unit\n\n public string Unit { get; set; }\n\nRequired. Immutable. The Unit a given UnitOperation will act upon.\n\n### UnitAsUnitName\n\n public UnitName UnitAsUnitName { get; set; }\n\n[UnitName](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.UnitName)-typed view over the [Unit](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.UnitOperation#Google_Cloud_SaasPlatform_SaasServiceMgmt_V1Beta1_UnitOperation_Unit) resource name property.\n\n### UnitOperationName\n\n public UnitOperationName UnitOperationName { get; set; }\n\n[UnitOperationName](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.UnitOperationName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.UnitOperation#Google_Cloud_SaasPlatform_SaasServiceMgmt_V1Beta1_UnitOperation_Name) resource name property.\n\n### UnitOperationTypeCase\n\n public UnitOperation.UnitOperationTypeOneofCase UnitOperationTypeCase { get; }\n\n### UpdateTime\n\n public Timestamp UpdateTime { get; set; }\n\nOutput only. The timestamp when the resource was last updated. Any\nchange to the resource made by users must refresh this value.\nChanges to a resource made by the service should refresh this value.\n\n### Upgrade\n\n public Upgrade Upgrade { get; set; }"]]