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. The configuration for error budget. If the number of failed units
exceeds max(allowed_count, allowed_ratio * total_units), the rollout will
be paused. If not set, all units will be attempted to be updated regardless
of the number of failures encountered.
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.
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.
Required. Immutable. UnitKind that this rollout kind corresponds to.
Rollouts stemming from this rollout kind will target the units of this unit
kind. In other words, this defines the population of target units to be
upgraded by rollouts.
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 RolloutKind (1.0.0-beta01)\n\n public sealed class RolloutKind : IMessage\u003cRolloutKind\u003e, IEquatable\u003cRolloutKind\u003e, IDeepCloneable\u003cRolloutKind\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the SaaS Runtime v1beta1 API class RolloutKind.\n\nAn object that describes various settings of Rollout execution. Includes\nbuilt-in policies across GCP and GDC, and customizable policies. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e RolloutKind \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[RolloutKind](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.RolloutKind), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[RolloutKind](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.RolloutKind), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[RolloutKind](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.RolloutKind), [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### RolloutKind()\n\n public RolloutKind()\n\n### RolloutKind(RolloutKind)\n\n public RolloutKind(RolloutKind 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### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nOutput only. The timestamp when the resource was created.\n\n### ErrorBudget\n\n public ErrorBudget ErrorBudget { get; set; }\n\nOptional. The configuration for error budget. If the number of failed units\nexceeds max(allowed_count, allowed_ratio \\* total_units), the rollout will\nbe paused. If not set, all units will be attempted to be updated regardless\nof the number of failures encountered.\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}/rolloutKinds/{rollout_kind_id}\"\n\n### RolloutKindName\n\n public RolloutKindName RolloutKindName { get; set; }\n\n[RolloutKindName](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.RolloutKindName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.RolloutKind#Google_Cloud_SaasPlatform_SaasServiceMgmt_V1Beta1_RolloutKind_Name) resource name property.\n\n### RolloutOrchestrationStrategy\n\n public string RolloutOrchestrationStrategy { get; set; }\n\nOptional. The strategy used for executing a Rollout. This is a required\nfield.\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 associated UnitKind's Saas Locations.\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.\n\n### UnitKind\n\n public string UnitKind { get; set; }\n\nRequired. Immutable. UnitKind that this rollout kind corresponds to.\nRollouts stemming from this rollout kind will target the units of this unit\nkind. In other words, this defines the population of target units to be\nupgraded by rollouts.\n\n### UnitKindAsUnitKindName\n\n public UnitKindName UnitKindAsUnitKindName { get; set; }\n\n[UnitKindName](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.UnitKindName)-typed view over the [UnitKind](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.RolloutKind#Google_Cloud_SaasPlatform_SaasServiceMgmt_V1Beta1_RolloutKind_UnitKind) resource name property.\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### UpdateUnitKindStrategy\n\n public RolloutKind.Types.UpdateUnitKindStrategy UpdateUnitKindStrategy { get; set; }\n\nOptional. The config for updating the unit kind. By default, the unit kind\nwill be updated on the rollout start."]]