public sealed class Backup.Types.QuantityBasedExpiry : IMessage<Backup.Types.QuantityBasedExpiry>, IEquatable<Backup.Types.QuantityBasedExpiry>, IDeepCloneable<Backup.Types.QuantityBasedExpiry>, IBufferMessage, IMessage
Reference documentation and code samples for the AlloyDB v1beta API class Backup.Types.QuantityBasedExpiry.
A backup's position in a quantity-based retention queue, of backups with
the same source cluster and type, with length, retention, specified by the
backup's retention policy.
Once the position is greater than the retention, the backup is eligible to
be garbage collected.
Example: 5 backups from the same source cluster and type with a
quantity-based retention of 3 and denoted by backup_id (position,
retention).
Output only. The backup's position among its backups with the same source
cluster and type, by descending chronological order create time(i.e.
newest first).
[[["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-07 UTC."],[[["\u003cp\u003eThis documentation is for the \u003ccode\u003eBackup.Types.QuantityBasedExpiry\u003c/code\u003e class within the AlloyDB v1beta API, used to manage backups' positions in quantity-based retention queues.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eQuantityBasedExpiry\u003c/code\u003e is a class that implements interfaces like \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, and it inherits from the base \u003ccode\u003eobject\u003c/code\u003e class.\u003c/p\u003e\n"],["\u003cp\u003eThe class has two key properties: \u003ccode\u003eRetentionCount\u003c/code\u003e, which indicates the backup's position in the queue, and \u003ccode\u003eTotalRetentionCount\u003c/code\u003e, which represents the total length of the retention queue.\u003c/p\u003e\n"],["\u003cp\u003eBackups are subject to garbage collection when their position in the quantity-based retention queue exceeds the \u003ccode\u003eTotalRetentionCount\u003c/code\u003e value specified by the backup's retention policy.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version available of this API is 1.0.0-beta09, and 1.0.0-beta08 is also mentioned as another available version.\u003c/p\u003e\n"]]],[],null,["# AlloyDB v1beta API - Class Backup.Types.QuantityBasedExpiry (1.0.0-beta12)\n\nVersion latestkeyboard_arrow_down\n\n- [1.0.0-beta12 (latest)](/dotnet/docs/reference/Google.Cloud.AlloyDb.V1Beta/latest/Google.Cloud.AlloyDb.V1Beta.Backup.Types.QuantityBasedExpiry)\n- [1.0.0-beta11](/dotnet/docs/reference/Google.Cloud.AlloyDb.V1Beta/1.0.0-beta11/Google.Cloud.AlloyDb.V1Beta.Backup.Types.QuantityBasedExpiry) \n\n public sealed class Backup.Types.QuantityBasedExpiry : IMessage\u003cBackup.Types.QuantityBasedExpiry\u003e, IEquatable\u003cBackup.Types.QuantityBasedExpiry\u003e, IDeepCloneable\u003cBackup.Types.QuantityBasedExpiry\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the AlloyDB v1beta API class Backup.Types.QuantityBasedExpiry.\n\nA backup's position in a quantity-based retention queue, of backups with\nthe same source cluster and type, with length, retention, specified by the\nbackup's retention policy.\nOnce the position is greater than the retention, the backup is eligible to\nbe garbage collected.\n\nExample: 5 backups from the same source cluster and type with a\nquantity-based retention of 3 and denoted by backup_id (position,\nretention).\n\nSafe: backup_5 (1, 3), backup_4, (2, 3), backup_3 (3, 3).\nAwaiting garbage collection: backup_2 (4, 3), backup_1 (5, 3) \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Backup.Types.QuantityBasedExpiry \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Backup](/dotnet/docs/reference/Google.Cloud.AlloyDb.V1Beta/latest/Google.Cloud.AlloyDb.V1Beta.Backup)[Types](/dotnet/docs/reference/Google.Cloud.AlloyDb.V1Beta/latest/Google.Cloud.AlloyDb.V1Beta.Backup.Types)[QuantityBasedExpiry](/dotnet/docs/reference/Google.Cloud.AlloyDb.V1Beta/latest/Google.Cloud.AlloyDb.V1Beta.Backup.Types.QuantityBasedExpiry), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Backup](/dotnet/docs/reference/Google.Cloud.AlloyDb.V1Beta/latest/Google.Cloud.AlloyDb.V1Beta.Backup)[Types](/dotnet/docs/reference/Google.Cloud.AlloyDb.V1Beta/latest/Google.Cloud.AlloyDb.V1Beta.Backup.Types)[QuantityBasedExpiry](/dotnet/docs/reference/Google.Cloud.AlloyDb.V1Beta/latest/Google.Cloud.AlloyDb.V1Beta.Backup.Types.QuantityBasedExpiry), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Backup](/dotnet/docs/reference/Google.Cloud.AlloyDb.V1Beta/latest/Google.Cloud.AlloyDb.V1Beta.Backup)[Types](/dotnet/docs/reference/Google.Cloud.AlloyDb.V1Beta/latest/Google.Cloud.AlloyDb.V1Beta.Backup.Types)[QuantityBasedExpiry](/dotnet/docs/reference/Google.Cloud.AlloyDb.V1Beta/latest/Google.Cloud.AlloyDb.V1Beta.Backup.Types.QuantityBasedExpiry), [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.AlloyDb.V1Beta](/dotnet/docs/reference/Google.Cloud.AlloyDb.V1Beta/latest/Google.Cloud.AlloyDb.V1Beta)\n\nAssembly\n--------\n\nGoogle.Cloud.AlloyDb.V1Beta.dll\n\nConstructors\n------------\n\n### QuantityBasedExpiry()\n\n public QuantityBasedExpiry()\n\n### QuantityBasedExpiry(QuantityBasedExpiry)\n\n public QuantityBasedExpiry(Backup.Types.QuantityBasedExpiry other)\n\nProperties\n----------\n\n### RetentionCount\n\n public int RetentionCount { get; set; }\n\nOutput only. The backup's position among its backups with the same source\ncluster and type, by descending chronological order create time(i.e.\nnewest first).\n\n### TotalRetentionCount\n\n public int TotalRetentionCount { get; set; }\n\nOutput only. The length of the quantity-based queue, specified by the\nbackup's retention policy."]]