2014-01-23 4 views
1

Я могу создать экземпляр AWS-EC2 с помощью jClouds API с помощью ключа доступа и секретного ключа,Создать и скачать EC2 ключей AWS с помощью jclouds с помощью доступа, секретный ключ

AWS_ACCESS_KEY = this.config.getString("aws_access_key"); 
AWS_SECRET_ACCESS_KEY = this.config.getString("aws_secret_access_key"); 

if (AWS_ACCESS_KEY == null || AWS_SECRET_ACCESS_KEY == null) { 
    throw new InstantiationError("Invalid AWS Credentails"); 
} 

ec2Api = ContextBuilder.newBuilder(AWS_EC2).credentials(AWS_ACCESS_KEY, AWS_SECRET_ACCESS_KEY).buildApi(EC2Api.class); 
instanceApi = ec2Api.getInstanceApi().get(); 

Как для создания пары ключей на AWS-EC2, когда пользователь создает экземпляр в первый раз (jCloud API). Нужно ли использовать существующий ключ доступа и секретный ключ для каждого нового экземпляра.

Может ли кто-нибудь помочь мне в консультировании, как создать новую пару ключей для каждого нового экземпляра.

ответ

3
Template template = compute.templateBuilder() 
      .hardwareId(InstanceType.T1_MICRO) 
      .imageId("us-east-1/ami-ccf615a5") 
      .osFamily(OsFamily.AMZN_LINUX) 
      .locationId("us-east-1") 
      .osVersionMatches("12.10") 
      .build(); 
    Template template = templateBuilder.build(); 

    TemplateOptions templateOptions = template.getOptions(); 
    AWSEC2TemplateOptions awsTemplateOption= templateOptions.as(AWSEC2TemplateOptions.class); 
    awsTemplateOption.securityGroups("securityGroupName"); 
    awsTemplateOption.keyPair("keyPairName"); 

try { 
     Set<? extends NodeMetadata> nodes = compute.createNodesInGroup(groupName,1,template); 
}