Ejemplo n.º 1
0
        public async Task <List <string> > GetCurrentPublicDnsList()
        {
            var list = await GetAvailableDnsList();

            //var lbHelper = new ALBHelper(GlobalVariables.Enviroment, GlobalVariables.Region, GlobalVariables.Color);
            var lbHelper = new ELBHelper(GlobalVariables.Enviroment, GlobalVariables.Region, GlobalVariables.Color);
            var lbs      = await lbHelper.GetLoadBalancerList();

            string rootDns    = GlobalVariables.EnvironmentAccounts[GlobalVariables.Enviroment].DNS + ".";
            var    dnsHelper  = new Route53Helper(GlobalVariables.Enviroment, GlobalVariables.Region, GlobalVariables.Color);
            string hostZoneId = await dnsHelper.GetHostZoneId();

            var dnsList = await dnsHelper.GetRecorSetValues(hostZoneId, new List <string>() { $"admin.{rootDns}", $"super.{rootDns}" });

            //var dnsList = await dnsHelper.GetRecorSetValues(hostZoneId, new List<string>() { $"admin.{rootDns}", $"api.{rootDns}", $"super.{rootDns}", $"customer.{rootDns}" });
            return(dnsList);
        }
Ejemplo n.º 2
0
        public async Task <List <DeployDnsModel> > GetAvailableDnsList()
        {
            var availableDnsList = new List <DeployDnsModel>();
            List <SA_LoadBalancer> loadBalancers;
            //For version compatable. When Blue/Green deploy is ready, only ALB is available.
            //Previous comment is very old. I will consider this later

            /*if (isMultipleColorEnvsCreated())
             * {
             *  var helper = new ALBHelper(GlobalVariables.Enviroment, GlobalVariables.Region, GlobalVariables.Color);
             *  loadBalancers = await helper.GetLoadBalancerList();
             * }
             * else
             * {
             *  var helper = new ELBHelper(GlobalVariables.Enviroment, GlobalVariables.Region, GlobalVariables.Color);
             *  loadBalancers = await helper.GetLoadBalancerList();
             * }*/

            var helper = new ELBHelper(GlobalVariables.Enviroment, GlobalVariables.Region, GlobalVariables.Color);

            loadBalancers = await helper.GetLoadBalancerList();

            var applicationList = new List <string>()
            {
                "Admin", "Super"
            };

            //var applicationList = new List<string>() { "Admin", "API", "Super", "Customer" };
            foreach (var application in applicationList)
            {
                var loadBalancer = loadBalancers.Find(o => o.LoadBalancerName.Contains(application));
                var dns          = new DeployDnsModel()
                {
                    Application         = application,
                    LiveEndpoint        = (loadBalancer == null)? "Unknown": loadBalancer.DNSName,
                    MaintenanceEndpoint = GenerateMaintanenceEndpoint(application)
                };
                availableDnsList.Add(dns);
            }
            return(availableDnsList);
        }