internal static SupportedCapabilities DeserializeSupportedCapabilities(JsonElement element) { Optional <bool> acceleratedNetwork = default; Optional <ArchitectureTypes> architecture = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("acceleratedNetwork")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } acceleratedNetwork = property.Value.GetBoolean(); continue; } if (property.NameEquals("architecture")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } architecture = new ArchitectureTypes(property.Value.GetString()); continue; } } return(new SupportedCapabilities(Optional.ToNullable(acceleratedNetwork), Optional.ToNullable(architecture))); }
internal static VirtualMachineImage DeserializeVirtualMachineImage(JsonElement element) { string name = default; AzureLocation location = default; Optional <IDictionary <string, string> > tags = default; Optional <ExtendedLocation> extendedLocation = default; Optional <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; Optional <ArchitectureTypes> architecture = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("location")) { location = new AzureLocation(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")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } id = new ResourceIdentifier(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; } if (property0.NameEquals("architecture")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } architecture = new ArchitectureTypes(property0.Value.GetString()); continue; } } continue; } } return(new VirtualMachineImage(id.Value, name, location, Optional.ToDictionary(tags), extendedLocation.Value, plan.Value, osDiskImage.Value, Optional.ToList(dataDiskImages), automaticOSUpgradeProperties.Value, Optional.ToNullable(hyperVGeneration), disallowed.Value, Optional.ToList(features), Optional.ToNullable(architecture))); }