示例#1
0
        public List <string> descrbibeKeyPairs()
        {
            List <string> keyPairs = new List <string>();

            try
            {
                DescribeKeyPairsRequest  request  = new DescribeKeyPairsRequest();
                DescribeKeyPairsResponse response = _service.DescribeKeyPairs(request);

                if (response.IsSetDescribeKeyPairsResult())
                {
                    DescribeKeyPairsResult describeKeyPairsResult = response.DescribeKeyPairsResult;
                    List <KeyPair>         keyPairList            = describeKeyPairsResult.KeyPair;
                    foreach (KeyPair keyPair in keyPairList)
                    {
                        if (keyPair.IsSetKeyName())
                        {
                            keyPairs.Add(keyPair.KeyName);
                        }
                    }
                }
            }
            catch (AmazonEC2Exception ex)
            {
                throw new Exception("Caught Exception: " + ex.XML);
            }
            return(keyPairs);
        }
示例#2
0
        private DescribeKeyPairsResponse GetKeyPairs()
        {
            DescribeKeyPairsRequest  request = new DescribeKeyPairsRequest();
            DescribeKeyPairsResponse resp    = ec2.DescribeKeyPairs(request);

            return(resp);
        }
示例#3
0
        public List <KeyPairInfo> ListKeyPairs()
        {
            var request  = new DescribeKeyPairsRequest();
            var response = ec2Client.DescribeKeyPairs(request);

            return(response.KeyPairs);
        }
示例#4
0
        public bool CheckKeyPair(string keyPairName)
        {
            var dkpRequest  = new DescribeKeyPairsRequest();
            var dkpResponse = Ec2Client.DescribeKeyPairsAsync(dkpRequest).GetAwaiter().GetResult();
            List <KeyPairInfo> myKeyPairs = dkpResponse.KeyPairs;

            return(myKeyPairs.Find(x => x.KeyName == keyPairName) != null);
        }
示例#5
0
        public static void EnumerateKeyPairs(AmazonEC2Client ec2Client)
        {
            var request  = new DescribeKeyPairsRequest();
            var response = ec2Client.DescribeKeyPairs(request);

            foreach (KeyPairInfo item in response.KeyPairs)
            {
                Console.WriteLine("Existing key pair: " + item.KeyName);
            }
        }
示例#6
0
        public string CreateKeyPair()
        {
            string      keyPairName = "Ec2Test";
            KeyPairInfo myKeyPair   = null;

            try
            {
                var dkpRequest  = new DescribeKeyPairsRequest();
                var dkpResponse = amazonEC2Client.DescribeKeyPairsAsync(dkpRequest).Result;
                List <KeyPairInfo> myKeyPairs = dkpResponse.KeyPairs;

                foreach (KeyPairInfo item in myKeyPairs)
                {
                    Console.WriteLine("Existing key pair: " + item.KeyName);
                    if (item.KeyName == keyPairName)
                    {
                        myKeyPair = item;
                    }
                }

                if (myKeyPair == null)
                {
                    var newKeyRequest = new CreateKeyPairRequest()
                    {
                        KeyName = keyPairName
                    };
                    var ckpResponse = amazonEC2Client.CreateKeyPairAsync(newKeyRequest).Result;
                    Console.WriteLine();
                    Console.WriteLine("New key: " + keyPairName);

                    // Save the private key in a .pem file
                    using (FileStream s = new FileStream(keyPairName + ".pem", FileMode.Create))
                        using (StreamWriter writer = new StreamWriter(s))
                        {
                            writer.WriteLine(ckpResponse.KeyPair.KeyMaterial);
                        }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(keyPairName);
        }
示例#7
0
        public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems)
        {
            AmazonEC2Config config = new AmazonEC2Config();

            config.RegionEndpoint = region;
            ConfigureClient(config);
            AmazonEC2Client client = new AmazonEC2Client(creds, config);

            DescribeKeyPairsResponse resp = new DescribeKeyPairsResponse();
            DescribeKeyPairsRequest  req  = new DescribeKeyPairsRequest
            {
            };

            resp = client.DescribeKeyPairs(req);
            CheckError(resp.HttpStatusCode, "200");

            foreach (var obj in resp.KeyPairs)
            {
                AddObject(obj);
            }
        }
示例#8
0
        public void CreateaKeyPair()
        {
            //Create an Amazon EC2 Client Using the the SDK
            var ec2Client = new AmazonEC2Client();
            //enumerate the  key pairs
            string      keyPairName = "my-sample-key";
            KeyPairInfo myKeyPair   = null;

            var dkpRequest  = new DescribeKeyPairsRequest();
            var dkpResponse = ec2Client.DescribeKeyPairs(dkpRequest);
            List <KeyPairInfo> myKeyPairs = dkpResponse.KeyPairs;

            foreach (KeyPairInfo item in myKeyPairs)
            {
                Console.WriteLine("Existing key pair: " + item.KeyName);
                if (item.KeyName == keyPairName)
                {
                    myKeyPair = item;
                }
            }
            //create a key pair and save the private key
            if (myKeyPair == null)
            {
                var newKeyRequest = new CreateKeyPairRequest()
                {
                    KeyName = keyPairName
                };
                var ckpResponse = ec2Client.CreateKeyPair(newKeyRequest);
                Console.WriteLine();
                Console.WriteLine("New key: " + keyPairName);

                // Save the private key in a .pem file
                using (FileStream s = new FileStream(keyPairName + ".pem", FileMode.Create))
                    using (StreamWriter writer = new StreamWriter(s))
                    {
                        writer.WriteLine(ckpResponse.KeyPair.KeyMaterial);
                    }
            }
        }
示例#9
0
 /// <summary>
 /// Describe Key Pairs
 /// </summary>
 /// <param name="request">Describe Key Pairs  request</param>
 /// <returns>Describe Key Pairs  Response from the service</returns>
 /// <remarks>
 /// The DescribeKeyPairs operation returns information about key pairs available to
 /// you. If you specify key pairs, information about those key pairs is returned.
 /// Otherwise, information for all registered key pairs is returned.
 ///
 /// </remarks>
 public DescribeKeyPairsResponse DescribeKeyPairs(DescribeKeyPairsRequest request)
 {
     return(Invoke <DescribeKeyPairsResponse>("DescribeKeyPairsResponse.xml"));
 }