internal static ReservationList DeserializeReservationList(JsonElement element) { Optional <IReadOnlyList <ReservationResponseData> > value = default; Optional <string> nextLink = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("value")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <ReservationResponseData> array = new List <ReservationResponseData>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(ReservationResponseData.DeserializeReservationResponseData(item)); } value = array; continue; } if (property.NameEquals("nextLink")) { nextLink = property.Value.GetString(); continue; } } return(new ReservationList(Optional.ToList(value), nextLink.Value)); }
private void TestReservationReponse(ReservationResponseData responseData) { Assert.IsNotNull(responseData); Assert.AreEqual("/providers/microsoft.capacity/reservationOrders/545d132c-6066-47ad-9f39-e67e542caef2/reservations/c2e14316-531b-4c13-8fc4-f8e1857fb1d2", responseData.Id.ToString()); Assert.AreEqual("Microsoft.Capacity/reservationOrders/reservations", responseData.ResourceType.ToString()); Assert.AreEqual("545d132c-6066-47ad-9f39-e67e542caef2/c2e14316-531b-4c13-8fc4-f8e1857fb1d2", responseData.Name); Assert.AreEqual(9, responseData.Version); Assert.IsNotNull(responseData.Properties); Assert.AreEqual(AppliedScopeType.Single, responseData.Properties.AppliedScopeType); Assert.AreEqual(1, responseData.Properties.Quantity); Assert.AreEqual(ProvisioningState.Succeeded, responseData.Properties.ProvisioningState); Assert.AreEqual("testVM", responseData.Properties.DisplayName); Assert.AreEqual(ReservedResourceType.VirtualMachines, responseData.Properties.ReservedResourceType); Assert.AreEqual(InstanceFlexibility.On, responseData.Properties.InstanceFlexibility); Assert.AreEqual("Reserved VM Instance, Standard_B1ls, US West, 1 Year", responseData.Properties.SkuDescription); Assert.AreEqual(false, responseData.Properties.Renew); Assert.AreEqual(ReservationTerm.P1Y, responseData.Properties.Term); Assert.AreEqual(ReservationBillingPlan.Upfront, responseData.Properties.BillingPlan); Assert.AreEqual("/subscriptions/6d5e2387-bdf5-4ca1-83db-795fd2398b93", responseData.Properties.BillingScopeId); Assert.AreEqual(false, responseData.Properties.Archived); }