예제 #1
0
        public static List <FirewallRule> GetRulesForNode2(string nodeName,
                                                           string clientConnectionPort,
                                                           string serviceConnectionPort,
                                                           string clusterConnectionPort,
                                                           string clusterManagerReplicatorPort,
                                                           string repairManagerReplicatorPort,
                                                           string namingReplicatorPort,
                                                           string failoverManagerReplicatorPort,
                                                           string imageStoreServiceReplicatorPort,
                                                           string upgradeServiceReplicatorPort)
        {
            List <FirewallRule>     rules     = new List <FirewallRule>();
            FabricNodeFirewallRules nodeRules = new FabricNodeFirewallRules()
            {
                NodeName = nodeName,
            };

            rules.Add(nodeRules.GetCustomTcpPortException(FabricNodeFirewallRules.ClientConnectionExceptionTemplate, clientConnectionPort, FabricNodeFirewallRules.inDirection));
            rules.Add(nodeRules.GetCustomTcpPortException(FabricNodeFirewallRules.ClientConnectionExceptionTemplate, clientConnectionPort, FabricNodeFirewallRules.outDirection));

            rules.Add(nodeRules.GetCustomTcpPortException(FabricNodeFirewallRules.ServiceConnectionExceptionTemplate, serviceConnectionPort, FabricNodeFirewallRules.inDirection));
            rules.Add(nodeRules.GetCustomTcpPortException(FabricNodeFirewallRules.ServiceConnectionExceptionTemplate, serviceConnectionPort, FabricNodeFirewallRules.outDirection));

            rules.Add(nodeRules.GetCustomTcpPortException(FabricNodeFirewallRules.ClusterConnectionExceptionTemplate, clusterConnectionPort, FabricNodeFirewallRules.inDirection));
            rules.Add(nodeRules.GetCustomTcpPortException(FabricNodeFirewallRules.ClusterConnectionExceptionTemplate, clusterConnectionPort, FabricNodeFirewallRules.outDirection));

            if (!string.IsNullOrEmpty(clusterManagerReplicatorPort))
            {
                rules.Add(
                    nodeRules.GetCustomTcpPortException(
                        FabricNodeFirewallRules.ClusterManagerReplicatorEndpointExceptionTemplate,
                        clusterManagerReplicatorPort, FabricNodeFirewallRules.inDirection));
                rules.Add(
                    nodeRules.GetCustomTcpPortException(
                        FabricNodeFirewallRules.ClusterManagerReplicatorEndpointExceptionTemplate,
                        clusterManagerReplicatorPort, FabricNodeFirewallRules.outDirection));
            }

            if (!string.IsNullOrEmpty(repairManagerReplicatorPort))
            {
                rules.Add(
                    nodeRules.GetCustomTcpPortException(
                        FabricNodeFirewallRules.RepairManagerReplicatorEndpointExceptionTemplate,
                        repairManagerReplicatorPort, FabricNodeFirewallRules.inDirection));
                rules.Add(
                    nodeRules.GetCustomTcpPortException(
                        FabricNodeFirewallRules.RepairManagerReplicatorEndpointExceptionTemplate,
                        repairManagerReplicatorPort, FabricNodeFirewallRules.outDirection));
            }

            if (!string.IsNullOrEmpty(namingReplicatorPort))
            {
                rules.Add(
                    nodeRules.GetCustomTcpPortException(
                        FabricNodeFirewallRules.NamingReplicatorEndpointExceptionTemplate, namingReplicatorPort,
                        FabricNodeFirewallRules.inDirection));
                rules.Add(
                    nodeRules.GetCustomTcpPortException(
                        FabricNodeFirewallRules.NamingReplicatorEndpointExceptionTemplate, namingReplicatorPort,
                        FabricNodeFirewallRules.outDirection));
            }

            if (!string.IsNullOrEmpty(failoverManagerReplicatorPort))
            {
                rules.Add(
                    nodeRules.GetCustomTcpPortException(
                        FabricNodeFirewallRules.FailoverManagerReplicatorEndpointExceptionTemplate,
                        failoverManagerReplicatorPort, FabricNodeFirewallRules.inDirection));
                rules.Add(
                    nodeRules.GetCustomTcpPortException(
                        FabricNodeFirewallRules.FailoverManagerReplicatorEndpointExceptionTemplate,
                        failoverManagerReplicatorPort, FabricNodeFirewallRules.outDirection));
            }

            if (!string.IsNullOrEmpty(imageStoreServiceReplicatorPort))
            {
                rules.Add(
                    nodeRules.GetCustomTcpPortException(
                        FabricNodeFirewallRules.ImageStoreServiceReplicatorEndpointExceptionTemplate,
                        imageStoreServiceReplicatorPort, FabricNodeFirewallRules.inDirection));
                rules.Add(
                    nodeRules.GetCustomTcpPortException(
                        FabricNodeFirewallRules.ImageStoreServiceReplicatorEndpointExceptionTemplate,
                        imageStoreServiceReplicatorPort, FabricNodeFirewallRules.outDirection));
            }

            if (!string.IsNullOrEmpty(upgradeServiceReplicatorPort))
            {
                rules.Add(
                    nodeRules.GetCustomTcpPortException(
                        FabricNodeFirewallRules.UpgradeServiceReplicatorEndpointExceptionTemplate,
                        upgradeServiceReplicatorPort, FabricNodeFirewallRules.inDirection));
                rules.Add(
                    nodeRules.GetCustomTcpPortException(
                        FabricNodeFirewallRules.UpgradeServiceReplicatorEndpointExceptionTemplate,
                        upgradeServiceReplicatorPort, FabricNodeFirewallRules.outDirection));
            }

            return(rules);
        }