public override bool Execute()
 {
     using (var autoScalingClient = AWSClientFactory.CreateAmazonAutoScalingClient(
                AwsAccessKey, AwsSecretKey, new AmazonAutoScalingConfig().WithServiceURL("https://eu-west-1.autoscaling.amazonaws.com")))
     {
         var response = autoScalingClient.CreateLaunchConfiguration(
             new CreateLaunchConfigurationRequest()
             .WithImageId(AmiId)
             .WithKeyName(KeyName)
             .WithSecurityGroups(SecurityGroup)
             .WithInstanceType(InstanceType)
             .WithLaunchConfigurationName(LaunchConfigurationName));
     }
     return(true);
 }
Ejemplo n.º 2
0
        public static void GetTopology()
        {
            IAmazonEC2                  ec2 = AWSClientFactory.CreateAmazonEC2Client();
            IAmazonAutoScaling          asg = AWSClientFactory.CreateAmazonAutoScalingClient();
            IAmazonElasticLoadBalancing elb = AWSClientFactory.CreateAmazonElasticLoadBalancingClient();

            DescribeVpcsResponse vpcResponse = ec2.DescribeVpcs();

            WriteFile("vpcs.csv", vpcResponse.Vpcs);

            DescribeInstancesResponse instanceResponse = ec2.DescribeInstances();
            var reservationIndex = 0;

            foreach (var reservation in instanceResponse.Reservations)
            {
                if (reservationIndex == 0)
                {
                    WriteFile("instances.csv", reservation.Instances);
                }
                else
                {
                    AppendFile("instances.csv", reservation.Instances);
                }
                reservationIndex++;
            }

            DescribeNetworkAclsResponse naclResponse = ec2.DescribeNetworkAcls();

            WriteFile("nacls.csv", naclResponse.NetworkAcls);

            Amazon.EC2.Model.DescribeTagsResponse tagsResponse = ec2.DescribeTags();
            WriteFile("tags.csv", tagsResponse.Tags);

            DescribeVolumesResponse volumesResponse = ec2.DescribeVolumes();

            WriteFile("volumes.csv", volumesResponse.Volumes);

            DescribeLoadBalancersResponse elbResponse = elb.DescribeLoadBalancers();

            WriteFile("elbs.csv", elbResponse.LoadBalancerDescriptions);

            DescribeInternetGatewaysResponse igResponse = ec2.DescribeInternetGateways();

            WriteFile("igs.csv", igResponse.InternetGateways);
        }
Ejemplo n.º 3
0
        public static void InvokeDescribeAutoScalingGroups()
        {
            NameValueCollection appConfig = ConfigurationManager.AppSettings;

            // Print the number of Auto Scaling triggers.
            IAmazonAutoScaling autoscaling = AWSClientFactory.CreateAmazonAutoScalingClient(RegionEndpoint.USWest2);

            try
            {
                DescribeAutoScalingGroupsResponse asResponse = autoscaling.DescribeAutoScalingGroups(new DescribeAutoScalingGroupsRequest());

                int numAutoScalingGroups = 0;
                if (asResponse.AutoScalingGroups != null)
                {
                    numAutoScalingGroups = asResponse.AutoScalingGroups.Count;
                }
                Console.WriteLine("You have " + numAutoScalingGroups + " Auto Scaling group(s).");
            }
            catch (AmazonAutoScalingException ex)
            {
                if (ex.ErrorCode.Equals("OptInRequired"))
                {
                    Console.WriteLine("You are not signed for Amazon EC2.");
                    Console.WriteLine("You can sign up at http://aws.amazon.com/ec2.");
                }
                else
                {
                    Console.WriteLine("Caught Exception: " + ex.Message);
                    Console.WriteLine("Response Status Code: " + ex.StatusCode);
                    Console.WriteLine("Error Code: " + ex.ErrorCode);
                    Console.WriteLine("Error Type: " + ex.ErrorType);
                    Console.WriteLine("Request ID: " + ex.RequestId);
                }
            }
            Console.WriteLine();
        }