public PSAzureFirewallPolicyRuleCollectionGroupWrapper GetAzureFirewallPolicyRuleGroup(string resourceGroupName, string firewallPolicyName, string name) { var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; var getRuleCollectionGroup = this.AzureFirewallPolicyRuleGroupClient.Get(resourceGroupName, firewallPolicyName, name); var ruleCollectionGroup = new PSAzureFirewallPolicyRuleCollectionGroup(); ruleCollectionGroup.RuleCollection = new List <PSAzureFirewallPolicyBaseRuleCollection>(); for (int ruleCollectionIndex = 0; ruleCollectionIndex < getRuleCollectionGroup.Rules.Count; ruleCollectionIndex++) { var ruleCollection = new PSAzureFirewallPolicyBaseRuleCollection(); if (getRuleCollectionGroup.Rules[ruleCollectionIndex] is MNM.FirewallPolicyFilterRule) { MNM.FirewallPolicyFilterRule filterRule = (MNM.FirewallPolicyFilterRule)getRuleCollectionGroup.Rules[ruleCollectionIndex]; PSAzureFirewallPolicyFilterRuleCollection filterRuleCollection = JsonConvert.DeserializeObject <PSAzureFirewallPolicyFilterRuleCollection>(JsonConvert.SerializeObject(getRuleCollectionGroup.Rules[ruleCollectionIndex])); filterRuleCollection.RuleCollectionType = "FirewallPolicyFilterRule"; filterRuleCollection.Rules = new List <PSAzureFirewallPolicyRule>(); for (int ruleIndex = 0; ruleIndex < filterRule.RuleConditions.Count; ruleIndex++) { if (filterRule.RuleConditions[ruleIndex] is MNM.ApplicationRuleCondition) { PSAzureFirewallPolicyApplicationRule rule = JsonConvert.DeserializeObject <PSAzureFirewallPolicyApplicationRule>(JsonConvert.SerializeObject(filterRule.RuleConditions[ruleIndex])); rule.RuleType = "ApplicationRuleCondition"; filterRuleCollection.Rules.Add(rule); } else { PSAzureFirewallPolicyNetworkRule rule = JsonConvert.DeserializeObject <PSAzureFirewallPolicyNetworkRule>(JsonConvert.SerializeObject(filterRule.RuleConditions[ruleIndex])); rule.RuleType = "NetworkRuleCondition"; filterRuleCollection.Rules.Add(rule); } } ruleCollectionGroup.RuleCollection.Add(filterRuleCollection); } else { MNM.FirewallPolicyNatRule natRule = (MNM.FirewallPolicyNatRule)getRuleCollectionGroup.Rules[ruleCollectionIndex]; PSAzureFirewallPolicyNatRuleCollection natRuleCollection = JsonConvert.DeserializeObject <PSAzureFirewallPolicyNatRuleCollection>(JsonConvert.SerializeObject(getRuleCollectionGroup.Rules[ruleCollectionIndex])); natRuleCollection.RuleCollectionType = "FirewallPolicyNatRule"; natRuleCollection.Rule = JsonConvert.DeserializeObject <PSAzureFirewallPolicyNetworkRule>(JsonConvert.SerializeObject(natRule.RuleCondition)); natRuleCollection.Rule.RuleType = "NetworkRuleCondition"; ruleCollectionGroup.RuleCollection.Add(natRuleCollection); } } var ruleCollectionGroupWrapper = new PSAzureFirewallPolicyRuleCollectionGroupWrapper(); ruleCollectionGroup.Priority = (uint)getRuleCollectionGroup.Priority; ruleCollectionGroupWrapper.Properties = ruleCollectionGroup; ruleCollectionGroupWrapper.Name = getRuleCollectionGroup.Name; ruleCollectionGroupWrapper.Properties.Id = getRuleCollectionGroup.Id; return(ruleCollectionGroupWrapper); }
public override void Execute() { base.Execute(); var natRuleCollections = new PSAzureFirewallPolicyNatRuleCollection { Name = this.Name, Priority = this.Priority, Rules = this.Rule?.ToList(), Action = new PSAzureFirewallPolicyNatRuleCollectionAction { Type = ActionType }, RuleCollectionType = "FirewallPolicyNatRuleCollection" }; WriteObject(natRuleCollections); }
public override void Execute() { base.Execute(); var natRuleCollections = new PSAzureFirewallPolicyNatRuleCollection { Name = this.Name, Priority = this.Priority, Rule = this.Rule, Action = new PSAzureFirewallPolicyNatRuleCollectionAction { Type = ActionType }, TranslatedAddress = this.TranslatedAddress, TranslatedPort = this.TranslatedPort, RuleCollectionType = "FirewallPolicyNatRule" }; WriteObject(natRuleCollections); }