コード例 #1
0
        private void CreateEcsClusters()
        {
            if (CdkOptions == null || CdkOptions.EcsClusters?.Any() != true)
            {
                return;
            }

            foreach (var cluster in CdkOptions.EcsClusters)
            {
                ValidateClusterOptions(cluster);
            }

            foreach (var cluster in CdkOptions.EcsClusters)
            {
                var vpc        = StackResources.Vpcs.FirstOrDefault(v => v.Key == cluster.VpcId).Value;
                var ec2Cluster = AwsCdkHandler.CreateEC2Cluster(cluster.Id, cluster.ClusterName, vpc);
                StackResources.EcsClusters.Add(cluster.Id, ec2Cluster);

                if (cluster.AutoScalingGroupIDs != null)
                {
                    foreach (var asgId in cluster.AutoScalingGroupIDs)
                    {
                        var asg = LocateAutoScalingGroup(asgId, "Could not found the autoScalingGroupneeded for the cluster");
                        AwsCdkHandler.AddAutoScalingGroupToCluster(asgId, asg as AutoScalingGroup, ec2Cluster as Cluster);
                    }
                }
            }
        }