private void CreateRule( string firewallName, string firewallGroupId, Configuration.FirewallRule rule, bool dryrun) { var ipType = rule.IpType.ToString().ToLower(); var protocol = rule.Protocol.ToString().ToLower(); Console.WriteLine("Creating firewall rule for {0}", firewallName); ConsoleX.WriteLine("ip_type", ipType); ConsoleX.WriteLine("port", rule.Ports); ConsoleX.WriteLine("protocol", protocol); ConsoleX.WriteLine("source", rule.Source); ConsoleX.WriteLine("subnet", rule.Subnet); ConsoleX.WriteLine("subnet_size", rule.SubnetSize); if (!dryrun) { Client.Firewall.CreateFirewallRule( firewallGroupId, ip_type: ipType, protocol: protocol, subnet: rule.Subnet, subnet_size: rule.SubnetSize, port: rule.Ports, source: rule.Source); } Console.WriteLine("--"); }
private static bool DoesRuleExist( IReadOnlyDictionary <string, FirewallRule> vultrRules, Configuration.FirewallRule rule) { return(vultrRules.Any(f => f.Value.port == rule.Ports && f.Value.protocol == rule.Protocol.ToString().ToLower() && f.Value.subnet == rule.Subnet && f.Value.subnet_size == rule.SubnetSize && f.Value.source == rule.Source)); }