【发布时间】:2018-04-16 11:22:18
【问题描述】:
这是我尝试的最后一个代码:
System.out.println("Manager not exists. Going to create.");
// Basic 32-bit Amazon Linux AMI 1.0 (AMI Id: ami-08728661)
RunInstancesRequest request = new RunInstancesRequest("ami-acd005d5", 1, 1);
request.setInstanceType(InstanceType.T2Micro.toString());
List<Instance> instances = ec2.runInstances(request).getReservation().getInstances();
System.out.println("Launch instances: " + instances);
Instance instance = instances.get(0);
Collection<String> resources = new ArrayList();
resources.add(instance.getInstanceId());
Collection<Tag> tags = new ArrayList();
tags.add(new Tag("Name", "Manager"));
CreateTagsRequest createTagsRequest = new CreateTagsRequest();
createTagsRequest.setResourceId(instance.getInstanceId());
createTagsRequest.setTags(tags);
CreateTagsResult tagsRsults = createTags(createTagsRequest);
它不会在线编译 createTagsRequest.setTags(tags):
The method setTags(java.util.Collection<com.amazonaws.services.workspaces.model.Tag>) in the type CreateTagsRequest is not applicable for the arguments (java.util.Collection<com.amazonaws.services.ec2.model.Tag>)
它让我可以将 'setTags' 更改为 'withTags' 和相反(循环情况)。 尝试了几种方法,查看了 AWS 文档和 Javadoc。
这是我的进口:
import com.amazonaws.services.ec2.AmazonEC2;
import com.amazonaws.services.ec2.AmazonEC2ClientBuilder;
import com.amazonaws.services.ec2.model.Instance;
import com.amazonaws.services.ec2.model.InstanceStateName;
import com.amazonaws.services.ec2.model.InstanceType;
import com.amazonaws.services.ec2.model.Reservation;
import com.amazonaws.services.ec2.model.RunInstancesRequest;
import com.amazonaws.services.ec2.model.Tag;
编辑: 当前代码不起作用:
Collection<Tag> tags = new ArrayList<Tag>();
Tag t = new Tag();
t.setKey("Name");
t.setValue("Manager");
tags.add(t);
CreateTagsRequest createTagsRequest = new CreateTagsRequest();
createTagsRequest.withTags(tags);
createTagsRequest.withResourceId(instance.getInstanceId());
ec2.createTags(createTagsRequest);
【问题讨论】:
标签: java amazon-web-services amazon-ec2 tags cloud