internal ResourceSku(string resourceType, string name, string tier, string size, string family, string kind, ResourceSkuCapacity capacity, IReadOnlyList <string> locations, IReadOnlyList <ResourceSkuLocationInfo> locationInfo, IReadOnlyList <string> apiVersions, IReadOnlyList <ResourceSkuCosts> costs, IReadOnlyList <ResourceSkuCapabilities> capabilities, IReadOnlyList <ResourceSkuRestrictions> restrictions) { ResourceType = resourceType; Name = name; Tier = tier; Size = size; Family = family; Kind = kind; Capacity = capacity; Locations = locations; LocationInfo = locationInfo; ApiVersions = apiVersions; Costs = costs; Capabilities = capabilities; Restrictions = restrictions; }
internal static ResourceSku DeserializeResourceSku(JsonElement element) { Optional <string> resourceType = default; Optional <string> name = default; Optional <string> tier = default; Optional <string> size = default; Optional <string> family = default; Optional <string> kind = default; Optional <ResourceSkuCapacity> capacity = default; Optional <IReadOnlyList <string> > locations = default; Optional <IReadOnlyList <ResourceSkuLocationInfo> > locationInfo = default; Optional <IReadOnlyList <string> > apiVersions = default; Optional <IReadOnlyList <ResourceSkuCosts> > costs = default; Optional <IReadOnlyList <ResourceSkuCapabilities> > capabilities = default; Optional <IReadOnlyList <ResourceSkuRestrictions> > restrictions = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("resourceType")) { resourceType = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("tier")) { tier = property.Value.GetString(); continue; } if (property.NameEquals("size")) { size = property.Value.GetString(); continue; } if (property.NameEquals("family")) { family = property.Value.GetString(); continue; } if (property.NameEquals("kind")) { kind = property.Value.GetString(); continue; } if (property.NameEquals("capacity")) { capacity = ResourceSkuCapacity.DeserializeResourceSkuCapacity(property.Value); continue; } if (property.NameEquals("locations")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } locations = array; continue; } if (property.NameEquals("locationInfo")) { List <ResourceSkuLocationInfo> array = new List <ResourceSkuLocationInfo>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(ResourceSkuLocationInfo.DeserializeResourceSkuLocationInfo(item)); } locationInfo = array; continue; } if (property.NameEquals("apiVersions")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } apiVersions = array; continue; } if (property.NameEquals("costs")) { List <ResourceSkuCosts> array = new List <ResourceSkuCosts>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(ResourceSkuCosts.DeserializeResourceSkuCosts(item)); } costs = array; continue; } if (property.NameEquals("capabilities")) { List <ResourceSkuCapabilities> array = new List <ResourceSkuCapabilities>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(ResourceSkuCapabilities.DeserializeResourceSkuCapabilities(item)); } capabilities = array; continue; } if (property.NameEquals("restrictions")) { List <ResourceSkuRestrictions> array = new List <ResourceSkuRestrictions>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(ResourceSkuRestrictions.DeserializeResourceSkuRestrictions(item)); } restrictions = array; continue; } } return(new ResourceSku(resourceType.Value, name.Value, tier.Value, size.Value, family.Value, kind.Value, capacity.Value, Optional.ToList(locations), Optional.ToList(locationInfo), Optional.ToList(apiVersions), Optional.ToList(costs), Optional.ToList(capabilities), Optional.ToList(restrictions))); }
internal static ResourceSku DeserializeResourceSku(JsonElement element) { string resourceType = default; string name = default; string tier = default; string size = default; string family = default; string kind = default; ResourceSkuCapacity capacity = default; IReadOnlyList <string> locations = default; IReadOnlyList <ResourceSkuLocationInfo> locationInfo = default; IReadOnlyList <string> apiVersions = default; IReadOnlyList <ResourceSkuCosts> costs = default; IReadOnlyList <ResourceSkuCapabilities> capabilities = default; IReadOnlyList <ResourceSkuRestrictions> restrictions = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("resourceType")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } resourceType = property.Value.GetString(); continue; } if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } name = property.Value.GetString(); continue; } if (property.NameEquals("tier")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } tier = property.Value.GetString(); continue; } if (property.NameEquals("size")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } size = property.Value.GetString(); continue; } if (property.NameEquals("family")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } family = property.Value.GetString(); continue; } if (property.NameEquals("kind")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } kind = property.Value.GetString(); continue; } if (property.NameEquals("capacity")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } capacity = ResourceSkuCapacity.DeserializeResourceSkuCapacity(property.Value); continue; } if (property.NameEquals("locations")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(item.GetString()); } } locations = array; continue; } if (property.NameEquals("locationInfo")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <ResourceSkuLocationInfo> array = new List <ResourceSkuLocationInfo>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(ResourceSkuLocationInfo.DeserializeResourceSkuLocationInfo(item)); } } locationInfo = array; continue; } if (property.NameEquals("apiVersions")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(item.GetString()); } } apiVersions = array; continue; } if (property.NameEquals("costs")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <ResourceSkuCosts> array = new List <ResourceSkuCosts>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(ResourceSkuCosts.DeserializeResourceSkuCosts(item)); } } costs = array; continue; } if (property.NameEquals("capabilities")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <ResourceSkuCapabilities> array = new List <ResourceSkuCapabilities>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(ResourceSkuCapabilities.DeserializeResourceSkuCapabilities(item)); } } capabilities = array; continue; } if (property.NameEquals("restrictions")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <ResourceSkuRestrictions> array = new List <ResourceSkuRestrictions>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(ResourceSkuRestrictions.DeserializeResourceSkuRestrictions(item)); } } restrictions = array; continue; } } return(new ResourceSku(resourceType, name, tier, size, family, kind, capacity, locations, locationInfo, apiVersions, costs, capabilities, restrictions)); }