internal static VirtualMachineImage DeserializeVirtualMachineImage(JsonElement element) { string name = default; string location = default; Optional <IDictionary <string, string> > tags = default; Optional <ExtendedLocation> extendedLocation = default; ResourceIdentifier id = default; Optional <PurchasePlan> plan = default; Optional <OSDiskImage> osDiskImage = default; Optional <IList <DataDiskImage> > dataDiskImages = default; Optional <AutomaticOSUpgradeProperties> automaticOSUpgradeProperties = default; Optional <HyperVGenerationTypes> hyperVGeneration = default; Optional <DisallowedConfiguration> disallowed = default; Optional <IList <VirtualMachineImageFeature> > features = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("location")) { location = property.Value.GetString(); continue; } if (property.NameEquals("tags")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } Dictionary <string, string> dictionary = new Dictionary <string, string>(); foreach (var property0 in property.Value.EnumerateObject()) { dictionary.Add(property0.Name, property0.Value.GetString()); } tags = dictionary; continue; } if (property.NameEquals("extendedLocation")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } extendedLocation = ExtendedLocation.DeserializeExtendedLocation(property.Value); continue; } if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("properties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("plan")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } plan = PurchasePlan.DeserializePurchasePlan(property0.Value); continue; } if (property0.NameEquals("osDiskImage")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } osDiskImage = OSDiskImage.DeserializeOSDiskImage(property0.Value); continue; } if (property0.NameEquals("dataDiskImages")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <DataDiskImage> array = new List <DataDiskImage>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(DataDiskImage.DeserializeDataDiskImage(item)); } dataDiskImages = array; continue; } if (property0.NameEquals("automaticOSUpgradeProperties")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } automaticOSUpgradeProperties = AutomaticOSUpgradeProperties.DeserializeAutomaticOSUpgradeProperties(property0.Value); continue; } if (property0.NameEquals("hyperVGeneration")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } hyperVGeneration = new HyperVGenerationTypes(property0.Value.GetString()); continue; } if (property0.NameEquals("disallowed")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } disallowed = DisallowedConfiguration.DeserializeDisallowedConfiguration(property0.Value); continue; } if (property0.NameEquals("features")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <VirtualMachineImageFeature> array = new List <VirtualMachineImageFeature>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(VirtualMachineImageFeature.DeserializeVirtualMachineImageFeature(item)); } features = array; continue; } } continue; } } return(new VirtualMachineImage(id, name, location, Optional.ToDictionary(tags), extendedLocation.Value, plan.Value, osDiskImage.Value, Optional.ToList(dataDiskImages), automaticOSUpgradeProperties.Value, Optional.ToNullable(hyperVGeneration), disallowed.Value, Optional.ToList(features))); }
internal VirtualMachineImage(string id, string name, string location, IDictionary <string, string> tags, ExtendedLocation extendedLocation, PurchasePlan plan, OSDiskImage osDiskImage, IList <DataDiskImage> dataDiskImages, AutomaticOSUpgradeProperties automaticOSUpgradeProperties, HyperVGenerationTypes?hyperVGeneration, DisallowedConfiguration disallowed, IList <VirtualMachineImageFeature> features) : base(id, name, location, tags, extendedLocation) { Plan = plan; OsDiskImage = osDiskImage; DataDiskImages = dataDiskImages; AutomaticOSUpgradeProperties = automaticOSUpgradeProperties; HyperVGeneration = hyperVGeneration; Disallowed = disallowed; Features = features; }
internal VirtualMachineImage(string id, string name, string location, IDictionary <string, string> tags, PurchasePlan plan, OSDiskImage osDiskImage, IList <DataDiskImage> dataDiskImages, AutomaticOSUpgradeProperties automaticOSUpgradeProperties, HyperVGenerationTypes?hyperVGeneration) : base(id, name, location, tags) { Plan = plan; OsDiskImage = osDiskImage; DataDiskImages = dataDiskImages; AutomaticOSUpgradeProperties = automaticOSUpgradeProperties; HyperVGeneration = hyperVGeneration; }