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.
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 Saas (1.0.0-beta01)\n\n public sealed class Saas : IMessage\u003cSaas\u003e, IEquatable\u003cSaas\u003e, IDeepCloneable\u003cSaas\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the SaaS Runtime v1beta1 API class Saas.\n\nSaas is a representation of a SaaS service managed by the Producer. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Saas \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Saas](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.Saas), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Saas](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.Saas), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Saas](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.Saas), [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### Saas()\n\n public Saas()\n\n### Saas(Saas)\n\n public Saas(Saas 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### 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### Locations\n\n public RepeatedField\u003cLocation\u003e Locations { get; }\n\nOptional. List of locations that the service is available in. Rollout\nrefers to the list to generate a rollout plan.\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}/saas/{saas}\"\n\n### SaasName\n\n public SaasName SaasName { get; set; }\n\n[SaasName](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.SaasName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1/latest/Google.Cloud.SaasPlatform.SaasServiceMgmt.V1Beta1.Saas#Google_Cloud_SaasPlatform_SaasServiceMgmt_V1Beta1_Saas_Name) resource name property.\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### 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."]]