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