使用 aws sdk 从 AWS 服务器获取现有密钥对 java
Get Existing Key-pair from AWS server using aws sdk for java
我正在尝试使用 java..
的 aws sdk 在 AWS 上创建 EC2 实例
这里是运行实例的方法
public static RunInstancesResult createInstaince() {
RunInstancesRequest runInstancesRequest = new RunInstancesRequest();
runInstancesRequest.withImageId("ami-ca381398")
.withInstanceType("t2.micro")
.withMinCount(1)
.withMaxCount(1)
.withKeyName("java-sdk")
.withSubnetId("subnet-8eca36f9")
.withSecurityGroupIds("sg-3f00a25a");
RunInstancesResult runInstancesResult = amazonEC2Client
.runInstances(runInstancesRequest);
return runInstancesResult;
}
这里我已经明确指定 java-sdk 作为密钥对,但现在我希望用户能够选择 aws 服务器上可用的密钥对..我看到了一个函数 getAMI从 aws 获取 AMI server.can 有人告诉我是否可以使用像 getKey-pair 这样的函数吗?
DescribeKeyPairs 就是您要找的。 link 用于 EC2 API 文档。您可能需要查找调用此 API.
的 aws-java sdk 方法
public static List<String> getKeyName() {
DescribeKeyPairsRequest dkpr = new DescribeKeyPairsRequest();
DescribeKeyPairsResult dkpresult =
amazonEC2Client.describeKeyPairs(dkpr);
List<KeyPairInfo> keyPairs = dkpresult.getKeyPairs();
List<String> keyPairNameList = new ArrayList<String>();
for (KeyPairInfo keyPairInfo : keyPairs) {
keyPairNameList.add(keyPairInfo.getKeyName());
}
for (int i = 0; i < keyPairs.size(); i++) {
System.out.println(keyPairNameList.get(i));
}
return keyPairNameList;
}
这是将 return 键名数组列表的代码。
我正在尝试使用 java..
的 aws sdk 在 AWS 上创建 EC2 实例这里是运行实例的方法
public static RunInstancesResult createInstaince() {
RunInstancesRequest runInstancesRequest = new RunInstancesRequest();
runInstancesRequest.withImageId("ami-ca381398")
.withInstanceType("t2.micro")
.withMinCount(1)
.withMaxCount(1)
.withKeyName("java-sdk")
.withSubnetId("subnet-8eca36f9")
.withSecurityGroupIds("sg-3f00a25a");
RunInstancesResult runInstancesResult = amazonEC2Client
.runInstances(runInstancesRequest);
return runInstancesResult;
}
这里我已经明确指定 java-sdk 作为密钥对,但现在我希望用户能够选择 aws 服务器上可用的密钥对..我看到了一个函数 getAMI从 aws 获取 AMI server.can 有人告诉我是否可以使用像 getKey-pair 这样的函数吗?
DescribeKeyPairs 就是您要找的。 link 用于 EC2 API 文档。您可能需要查找调用此 API.
的 aws-java sdk 方法 public static List<String> getKeyName() {
DescribeKeyPairsRequest dkpr = new DescribeKeyPairsRequest();
DescribeKeyPairsResult dkpresult =
amazonEC2Client.describeKeyPairs(dkpr);
List<KeyPairInfo> keyPairs = dkpresult.getKeyPairs();
List<String> keyPairNameList = new ArrayList<String>();
for (KeyPairInfo keyPairInfo : keyPairs) {
keyPairNameList.add(keyPairInfo.getKeyName());
}
for (int i = 0; i < keyPairs.size(); i++) {
System.out.println(keyPairNameList.get(i));
}
return keyPairNameList;
}
这是将 return 键名数组列表的代码。