Reference documentation and code samples for the Compute Engine v1 API class AllocationAggregateReservation.
This reservation type is specified by total resource amounts (e.g. total count of CPUs) and can account for multiple instance SKUs. In other words, one can create instances of varying shapes against this reservation.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-03 UTC."],[[["\u003cp\u003eThis document provides reference documentation for the \u003ccode\u003eAllocationAggregateReservation\u003c/code\u003e class within the Google Cloud Compute Engine v1 API, detailing its properties, constructors, and implemented interfaces.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eAllocationAggregateReservation\u003c/code\u003e class is a specialized reservation type in the Compute Engine API that supports total resource allocations across multiple instance SKUs, allowing for varying shapes of instances.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of this documentation available is version 3.6.0, but also lists the older versions of the documentation dating back to version 1.0.0, accessible via links.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eAllocationAggregateReservation\u003c/code\u003e class exposes properties such as \u003ccode\u003eInUseResources\u003c/code\u003e, \u003ccode\u003eReservedResources\u003c/code\u003e, \u003ccode\u003eVmFamily\u003c/code\u003e, and \u003ccode\u003eWorkloadType\u003c/code\u003e for managing reservations, along with boolean properties that indicate whether \u003ccode\u003evm_family\u003c/code\u003e or \u003ccode\u003eworkload_type\u003c/code\u003e fields are set.\u003c/p\u003e\n"],["\u003cp\u003eThe Class implements various interfaces such as \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, with inherited members including \u003ccode\u003eGetHashCode()\u003c/code\u003e, \u003ccode\u003eGetType()\u003c/code\u003e, and \u003ccode\u003eToString()\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Compute Engine v1 API - Class AllocationAggregateReservation (3.13.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.13.0 (latest)](/dotnet/docs/reference/Google.Cloud.Compute.V1/latest/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [3.12.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/3.12.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [3.11.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/3.11.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [3.10.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/3.10.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [3.9.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/3.9.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/3.8.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/3.7.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/3.6.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/3.5.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/3.4.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/3.3.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/3.2.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/3.1.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/3.0.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.17.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.17.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.16.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.16.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.15.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.15.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.14.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.14.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.13.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.13.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.12.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.12.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.11.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.11.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.10.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.10.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.9.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.9.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.8.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.8.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.7.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.6.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.5.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.4.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.3.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.2.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.1.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/2.0.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [1.4.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/1.4.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [1.3.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/1.3.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/1.2.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/1.1.0/Google.Cloud.Compute.V1.AllocationAggregateReservation)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.Compute.V1/1.0.0/Google.Cloud.Compute.V1.AllocationAggregateReservation) \n\n public sealed class AllocationAggregateReservation : IMessage\u003cAllocationAggregateReservation\u003e, IEquatable\u003cAllocationAggregateReservation\u003e, IDeepCloneable\u003cAllocationAggregateReservation\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Compute Engine v1 API class AllocationAggregateReservation.\n\nThis reservation type is specified by total resource amounts (e.g. total count of CPUs) and can account for multiple instance SKUs. In other words, one can create instances of varying shapes against this reservation. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e AllocationAggregateReservation \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[AllocationAggregateReservation](/dotnet/docs/reference/Google.Cloud.Compute.V1/latest/Google.Cloud.Compute.V1.AllocationAggregateReservation), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[AllocationAggregateReservation](/dotnet/docs/reference/Google.Cloud.Compute.V1/latest/Google.Cloud.Compute.V1.AllocationAggregateReservation), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[AllocationAggregateReservation](/dotnet/docs/reference/Google.Cloud.Compute.V1/latest/Google.Cloud.Compute.V1.AllocationAggregateReservation), [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.Compute.V1](/dotnet/docs/reference/Google.Cloud.Compute.V1/latest/Google.Cloud.Compute.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Compute.V1.dll\n\nConstructors\n------------\n\n### AllocationAggregateReservation()\n\n public AllocationAggregateReservation()\n\n### AllocationAggregateReservation(AllocationAggregateReservation)\n\n public AllocationAggregateReservation(AllocationAggregateReservation other)\n\nProperties\n----------\n\n### HasVmFamily\n\n public bool HasVmFamily { get; }\n\nGets whether the \"vm_family\" field is set\n\n### HasWorkloadType\n\n public bool HasWorkloadType { get; }\n\nGets whether the \"workload_type\" field is set\n\n### InUseResources\n\n public RepeatedField\u003cAllocationAggregateReservationReservedResourceInfo\u003e InUseResources { get; }\n\n\\[Output only\\] List of resources currently in use.\n\n### ReservedResources\n\n public RepeatedField\u003cAllocationAggregateReservationReservedResourceInfo\u003e ReservedResources { get; }\n\nList of reserved resources (CPUs, memory, accelerators).\n\n### VmFamily\n\n public string VmFamily { get; set; }\n\nThe VM family that all instances scheduled against this reservation must belong to.\nCheck the VmFamily enum for the list of possible values.\n\n### WorkloadType\n\n public string WorkloadType { get; set; }\n\nThe workload type of the instances that will target this reservation.\nCheck the WorkloadType enum for the list of possible values."]]