internal static AzureFirewallApplicationRule DeserializeAzureFirewallApplicationRule(JsonElement element) { string name = default; string description = default; IList <string> sourceAddresses = default; IList <AzureFirewallApplicationRuleProtocol> protocols = default; IList <string> targetFqdns = default; IList <string> fqdnTags = default; IList <string> sourceIpGroups = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } description = property.Value.GetString(); continue; } if (property.NameEquals("sourceAddresses")) { 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()); } } sourceAddresses = array; continue; } if (property.NameEquals("protocols")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <AzureFirewallApplicationRuleProtocol> array = new List <AzureFirewallApplicationRuleProtocol>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(AzureFirewallApplicationRuleProtocol.DeserializeAzureFirewallApplicationRuleProtocol(item)); } } protocols = array; continue; } if (property.NameEquals("targetFqdns")) { 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()); } } targetFqdns = array; continue; } if (property.NameEquals("fqdnTags")) { 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()); } } fqdnTags = array; continue; } if (property.NameEquals("sourceIpGroups")) { 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()); } } sourceIpGroups = array; continue; } } return(new AzureFirewallApplicationRule(name, description, sourceAddresses, protocols, targetFqdns, fqdnTags, sourceIpGroups)); }
internal static AzureFirewallApplicationRule DeserializeAzureFirewallApplicationRule(JsonElement element) { Optional <string> name = default; Optional <string> description = default; Optional <IList <string> > sourceAddresses = default; Optional <IList <AzureFirewallApplicationRuleProtocol> > protocols = default; Optional <IList <string> > targetFqdns = default; Optional <IList <string> > fqdnTags = default; Optional <IList <string> > sourceIpGroups = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("description")) { description = property.Value.GetString(); continue; } if (property.NameEquals("sourceAddresses")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } sourceAddresses = array; continue; } if (property.NameEquals("protocols")) { List <AzureFirewallApplicationRuleProtocol> array = new List <AzureFirewallApplicationRuleProtocol>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(AzureFirewallApplicationRuleProtocol.DeserializeAzureFirewallApplicationRuleProtocol(item)); } protocols = array; continue; } if (property.NameEquals("targetFqdns")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } targetFqdns = array; continue; } if (property.NameEquals("fqdnTags")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } fqdnTags = array; continue; } if (property.NameEquals("sourceIpGroups")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } sourceIpGroups = array; continue; } } return(new AzureFirewallApplicationRule(name.Value, description.Value, Optional.ToList(sourceAddresses), Optional.ToList(protocols), Optional.ToList(targetFqdns), Optional.ToList(fqdnTags), Optional.ToList(sourceIpGroups))); }