Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }