本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
删除密钥对
此示例向您说明如何使用Amazon SDK for .NET删除key pair。应用程序采用key pair 的名称。它会删除key pair,然后显示所有可用的密钥对。如果您未提供命令行参数,则应用程序只显示所有可用的密钥对。
以下各节提供了此示例的片段。这些区域有:示例的完整代码之后显示,可以按原样构建和运行。
删除key pair
以下代码段删除一个key pair。
示例本主题末的末尾显示了正在使用的这段片段。
// // Method to delete a key pair private static async Task DeleteKeyPair(IAmazonEC2 ec2Client, string keyName) { await ec2Client.DeleteKeyPairAsync(new DeleteKeyPairRequest{ KeyName = keyName}); Console.WriteLine($"\nKey pair {keyName} has been deleted (if it existed)."); }
显示可用的密钥对
以下代码段显示可用密钥对的列表。
示例本主题末的末尾显示了正在使用的这段片段。
// // Method to show the key pairs that are available private static async Task EnumerateKeyPairs(IAmazonEC2 ec2Client) { DescribeKeyPairsResponse response = await ec2Client.DescribeKeyPairsAsync(); Console.WriteLine("Available key pairs:"); foreach (KeyPairInfo item in response.KeyPairs) Console.WriteLine($" {item.KeyName}"); }
完成示例
本节显示了相关参考资料和完整代码。
NuGet 软件包:
编程元素:
-
命名空间Amazon.ec2
Class亚马逊 EC2Client
-
命名空间Amazon.ec2.model
ClassDeleteKeyPairRequest
ClassKeyPairInfo
using System; using System.Threading.Tasks; using Amazon.EC2; using Amazon.EC2.Model; namespace EC2DeleteKeyPair { class Program { static async Task Main(string[] args) { // Create the EC2 client var ec2Client = new AmazonEC2Client(); if(args.Length == 1) { // Delete a key pair (if it exists) await DeleteKeyPair(ec2Client, args[0]); // Display the key pairs that are left await EnumerateKeyPairs(ec2Client); } else { Console.WriteLine("\nUsage: EC2DeleteKeyPair keypair-name"); Console.WriteLine(" keypair-name - The name of the key pair you want to delete."); Console.WriteLine("\nNo arguments specified."); Console.Write( "Do you want to see a list of the existing key pairs? ((y) or n): "); string response = Console.ReadLine(); if((string.IsNullOrEmpty(response)) || (response.ToLower() == "y")) await EnumerateKeyPairs(ec2Client); } } // // Method to delete a key pair private static async Task DeleteKeyPair(IAmazonEC2 ec2Client, string keyName) { await ec2Client.DeleteKeyPairAsync(new DeleteKeyPairRequest{ KeyName = keyName}); Console.WriteLine($"\nKey pair {keyName} has been deleted (if it existed)."); } // // Method to show the key pairs that are available private static async Task EnumerateKeyPairs(IAmazonEC2 ec2Client) { DescribeKeyPairsResponse response = await ec2Client.DescribeKeyPairsAsync(); Console.WriteLine("Available key pairs:"); foreach (KeyPairInfo item in response.KeyPairs) Console.WriteLine($" {item.KeyName}"); } } }