Class CapacityReservationGroupInner

java.lang.Object
com.azure.core.management.ProxyResource
com.azure.core.management.Resource
com.azure.resourcemanager.compute.fluent.models.CapacityReservationGroupInner
All Implemented Interfaces:
com.azure.json.JsonSerializable<com.azure.core.management.ProxyResource>

public final class CapacityReservationGroupInner extends com.azure.core.management.Resource
Specifies information about the capacity reservation group that the capacity reservations should be assigned to. Currently, a capacity reservation can only be added to a capacity reservation group at creation time. An existing capacity reservation cannot be added or moved to another capacity reservation group.
  • Constructor Details

    • CapacityReservationGroupInner

      public CapacityReservationGroupInner()
      Creates an instance of CapacityReservationGroupInner class.
  • Method Details

    • zones

      public List<String> zones()
      Get the zones property: The availability zones.
      Returns:
      the zones value.
    • withZones

      public CapacityReservationGroupInner withZones(List<String> zones)
      Set the zones property: The availability zones.
      Parameters:
      zones - the zones value to set.
      Returns:
      the CapacityReservationGroupInner object itself.
    • systemData

      public com.azure.core.management.SystemData systemData()
      Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
      Returns:
      the systemData value.
    • type

      public String type()
      Get the type property: The type of the resource.
      Overrides:
      type in class com.azure.core.management.ProxyResource
      Returns:
      the type value.
    • name

      public String name()
      Get the name property: The name of the resource.
      Overrides:
      name in class com.azure.core.management.ProxyResource
      Returns:
      the name value.
    • id

      public String id()
      Get the id property: Fully qualified resource Id for the resource.
      Overrides:
      id in class com.azure.core.management.ProxyResource
      Returns:
      the id value.
    • withLocation

      public CapacityReservationGroupInner withLocation(String location)
      Overrides:
      withLocation in class com.azure.core.management.Resource
    • withTags

      Overrides:
      withTags in class com.azure.core.management.Resource
    • capacityReservations

      public List<SubResourceReadOnly> capacityReservations()
      Get the capacityReservations property: A list of all capacity reservation resource ids that belong to capacity reservation group.
      Returns:
      the capacityReservations value.
    • virtualMachinesAssociated

      public List<SubResourceReadOnly> virtualMachinesAssociated()
      Get the virtualMachinesAssociated property: A list of references to all virtual machines associated to the capacity reservation group.
      Returns:
      the virtualMachinesAssociated value.
    • instanceView

      public CapacityReservationGroupInstanceView instanceView()
      Get the instanceView property: The capacity reservation group instance view which has the list of instance views for all the capacity reservations that belong to the capacity reservation group.
      Returns:
      the instanceView value.
    • sharingProfile

      public ResourceSharingProfile sharingProfile()
      Get the sharingProfile property: Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. The capacity reservation group resource can generally be shared across subscriptions belonging to a single Azure AAD tenant or across AAD tenants if there is a trust relationship established between the tenants. Block capacity reservation does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.
      Returns:
      the sharingProfile value.
    • withSharingProfile

      public CapacityReservationGroupInner withSharingProfile(ResourceSharingProfile sharingProfile)
      Set the sharingProfile property: Specifies the settings to enable sharing across subscriptions for the capacity reservation group resource. The capacity reservation group resource can generally be shared across subscriptions belonging to a single Azure AAD tenant or across AAD tenants if there is a trust relationship established between the tenants. Block capacity reservation does not support sharing across subscriptions. **Note:** Minimum api-version: 2023-09-01. Please refer to https://aka.ms/computereservationsharing for more details.
      Parameters:
      sharingProfile - the sharingProfile value to set.
      Returns:
      the CapacityReservationGroupInner object itself.
    • reservationType

      public ReservationType reservationType()
      Get the reservationType property: Indicates the type of capacity reservation. Allowed values are 'Block' for block capacity reservations and 'Targeted' for reservations that enable a VM to consume a specific capacity reservation when a capacity reservation group is provided. The reservation type is immutable and cannot be changed after it is assigned.
      Returns:
      the reservationType value.
    • withReservationType

      public CapacityReservationGroupInner withReservationType(ReservationType reservationType)
      Set the reservationType property: Indicates the type of capacity reservation. Allowed values are 'Block' for block capacity reservations and 'Targeted' for reservations that enable a VM to consume a specific capacity reservation when a capacity reservation group is provided. The reservation type is immutable and cannot be changed after it is assigned.
      Parameters:
      reservationType - the reservationType value to set.
      Returns:
      the CapacityReservationGroupInner object itself.
    • validate

      public void validate()
      Validates the instance.
      Throws:
      IllegalArgumentException - thrown if the instance is not valid.
    • toJson

      public com.azure.json.JsonWriter toJson(com.azure.json.JsonWriter jsonWriter) throws IOException
      Specified by:
      toJson in interface com.azure.json.JsonSerializable<com.azure.core.management.ProxyResource>
      Overrides:
      toJson in class com.azure.core.management.Resource
      Throws:
      IOException
    • fromJson

      public static CapacityReservationGroupInner fromJson(com.azure.json.JsonReader jsonReader) throws IOException
      Reads an instance of CapacityReservationGroupInner from the JsonReader.
      Parameters:
      jsonReader - The JsonReader being read.
      Returns:
      An instance of CapacityReservationGroupInner if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
      Throws:
      IllegalStateException - If the deserialized JSON object was missing any required properties.
      IOException - If an error occurs while reading the CapacityReservationGroupInner.