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.
Optional. Requested change to the execution of this rollout.
Default RolloutControl.action is ROLLOUT_ACTION_RUN meaning
the rollout will be executed to completion while progressing through
all natural Rollout States (such as RUNNING -> SUCCEEDED or RUNNING ->
FAILED). Requests can only be made when the Rollout is in a non-terminal
state.
Optional. Output only. The time when the rollout finished execution
(regardless of success, failure, or cancellation). Will be empty if the
rollout hasn't finished yet. Once set, the rollout is in terminal state and
all the results are final.
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. Output only. The direct parent rollout that this rollout is
stemming from. The resource name (full URI of the resource) following the
standard naming scheme:
public string RolloutOrchestrationStrategy { get; set; }
Optional. The strategy used for executing this Rollout.
This strategy will override whatever strategy is specified in the
RolloutType. If not specified on creation, the
strategy from RolloutType will be used.
There are two supported values strategies which are used to control
"Google.Cloud.Simple.AllAtOnce"
"Google.Cloud.Simple.OneLocationAtATime"
A rollout with one of these simple strategies will rollout across
all locations defined in the targeted UnitKind's Saas Locations.
Optional. Output only. The root rollout that this rollout is stemming from.
The resource name (full URI of the resource) following the standard naming
scheme:
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.
Optional. CEL(https://github.com/google/cel-spec) formatted filter string
against Unit. The filter will be applied to determine the eligible unit
population. This filter can only reduce, but not expand the scope of the
rollout. If not provided, the unit_filter from the RolloutType will be
used.
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 Rollout (1.0.0-beta01)\n\n public sealed class Rollout : IMessage\u003cRollout\u003e, IEquatable\u003cRollout\u003e, IDeepCloneable\u003cRollout\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the SaaS Runtime v1beta1 API class Rollout.\n\nRepresents a single rollout execution and its results \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Rollout \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Rollout](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.Rollout), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Rollout](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.Rollout), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Rollout](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.Rollout), [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### Rollout()\n\n public Rollout()\n\n### Rollout(Rollout)\n\n public Rollout(Rollout 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### Control\n\n public RolloutControl Control { get; set; }\n\nOptional. Requested change to the execution of this rollout.\nDefault RolloutControl.action is ROLLOUT_ACTION_RUN meaning\nthe rollout will be executed to completion while progressing through\nall natural Rollout States (such as RUNNING -\\\u003e SUCCEEDED or RUNNING -\\\u003e\nFAILED). Requests can only be made when the Rollout is in a non-terminal\nstate.\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nOutput only. The timestamp when the resource was created.\n\n### EndTime\n\n public Timestamp EndTime { get; set; }\n\nOptional. Output only. The time when the rollout finished execution\n(regardless of success, failure, or cancellation). Will be empty if the\nrollout hasn't finished yet. Once set, the rollout is in terminal state and\nall the results are final.\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}/rollout/{rollout_id}\"\n\n### ParentRollout\n\n public string ParentRollout { get; set; }\n\nOptional. Output only. The direct parent rollout that this rollout is\nstemming from. The resource name (full URI of the resource) following the\nstandard naming scheme:\n\n\"projects/{project}/locations/{location}/rollouts/{rollout_id}\"\n\n### ParentRolloutAsRolloutName\n\n public RolloutName ParentRolloutAsRolloutName { get; set; }\n\n[RolloutName](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.RolloutName)-typed view over the [ParentRollout](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.Rollout#Google_Cloud_SaasPlatform_SaasServiceMgmt_V1Beta1_Rollout_ParentRollout) resource name property.\n\n### Release\n\n public string Release { get; set; }\n\nOptional. Immutable. Name of the Release that gets rolled out to target\nUnits. Required if no other type of release is specified.\n\n### ReleaseAsReleaseName\n\n public ReleaseName ReleaseAsReleaseName { get; set; }\n\n[ReleaseName](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.ReleaseName)-typed view over the [Release](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.Rollout#Google_Cloud_SaasPlatform_SaasServiceMgmt_V1Beta1_Rollout_Release) resource name property.\n\n### RolloutKind\n\n public string RolloutKind { get; set; }\n\nOptional. Immutable. Name of the RolloutKind this rollout is stemming from\nand adhering to.\n\n### RolloutKindAsRolloutKindName\n\n public RolloutKindName RolloutKindAsRolloutKindName { get; set; }\n\n[RolloutKindName](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.RolloutKindName)-typed view over the [RolloutKind](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.Rollout#Google_Cloud_SaasPlatform_SaasServiceMgmt_V1Beta1_Rollout_RolloutKind) resource name property.\n\n### RolloutName\n\n public RolloutName RolloutName { get; set; }\n\n[RolloutName](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.RolloutName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.Rollout#Google_Cloud_SaasPlatform_SaasServiceMgmt_V1Beta1_Rollout_Name) resource name property.\n\n### RolloutOrchestrationStrategy\n\n public string RolloutOrchestrationStrategy { get; set; }\n\nOptional. The strategy used for executing this Rollout.\nThis strategy will override whatever strategy is specified in the\nRolloutType. If not specified on creation, the\nstrategy from RolloutType will be used.\n\nThere are two supported values strategies which are used to control\n\n- \"Google.Cloud.Simple.AllAtOnce\"\n- \"Google.Cloud.Simple.OneLocationAtATime\"\n\nA rollout with one of these simple strategies will rollout across\nall locations defined in the targeted UnitKind's Saas Locations.\n\n### RootRollout\n\n public string RootRollout { get; set; }\n\nOptional. Output only. The root rollout that this rollout is stemming from.\nThe resource name (full URI of the resource) following the standard naming\nscheme:\n\n\"projects/{project}/locations/{location}/rollouts/{rollout_id}\"\n\n### RootRolloutAsRolloutName\n\n public RolloutName RootRolloutAsRolloutName { get; set; }\n\n[RolloutName](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.RolloutName)-typed view over the [RootRollout](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.Rollout#Google_Cloud_SaasPlatform_SaasServiceMgmt_V1Beta1_Rollout_RootRollout) resource name property.\n\n### StartTime\n\n public Timestamp StartTime { get; set; }\n\nOptional. Output only. The time when the rollout started executing. Will be\nempty if the rollout hasn't started yet.\n\n### State\n\n public Rollout.Types.RolloutState State { get; set; }\n\nOutput only. Current state of the rollout.\n\n### StateMessage\n\n public string StateMessage { get; set; }\n\nOutput only. Human readable message indicating details about the last state\ntransition.\n\n### StateTransitionTime\n\n public Timestamp StateTransitionTime { get; set; }\n\nOptional. Output only. The time when the rollout transitioned into its\ncurrent state.\n\n### Stats\n\n public RolloutStats Stats { get; set; }\n\nOptional. Output only. Details about the progress of the rollout.\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### UnitFilter\n\n public string UnitFilter { get; set; }\n\nOptional. CEL(\u003chttps://github.com/google/cel-spec\u003e) formatted filter string\nagainst Unit. The filter will be applied to determine the eligible unit\npopulation. This filter can only reduce, but not expand the scope of the\nrollout. If not provided, the unit_filter from the RolloutType will be\nused.\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."]]