it not working yet.
@@ -1,5 +0,0 @@ | ||
1 | -package jp.co.intellilink.aws.api; | |
2 | - | |
3 | -public class EC2Wrapper { | |
4 | - | |
5 | -} |
@@ -1,5 +1,6 @@ | ||
1 | 1 | package jp.co.intellilink.aws.api; |
2 | 2 | |
3 | +import java.io.File; | |
3 | 4 | import java.util.List; |
4 | 5 | |
5 | 6 | import jp.co.intellilink.aws.api.transport.EC2Address; |
@@ -16,7 +17,6 @@ | ||
16 | 17 | import jp.co.intellilink.aws.api.transport.EC2CreateSecurityGroupRequest; |
17 | 18 | import jp.co.intellilink.aws.api.transport.EC2CreateSnapshotRequest; |
18 | 19 | import jp.co.intellilink.aws.api.transport.EC2CreateVolumeRequest; |
19 | -import jp.co.intellilink.aws.api.transport.EC2DeleteKeyPairRequest; | |
20 | 20 | import jp.co.intellilink.aws.api.transport.EC2DeleteSecurityGroupRequest; |
21 | 21 | import jp.co.intellilink.aws.api.transport.EC2DeleteSnapshotRequest; |
22 | 22 | import jp.co.intellilink.aws.api.transport.EC2DeleteVolumeRequest; |
@@ -56,6 +56,20 @@ | ||
56 | 56 | |
57 | 57 | public interface ElasticComputingCloudInterface { |
58 | 58 | |
59 | + String getName(); | |
60 | + | |
61 | + void setName(String name); | |
62 | + | |
63 | + String getDescription(); | |
64 | + | |
65 | + void setDescription(String desc); | |
66 | + | |
67 | + void configure(String accessKey, String secretKey); | |
68 | + | |
69 | + void configureFile(File privateKey, File certifiedKey); | |
70 | + | |
71 | + void configureUrl(String url); | |
72 | + | |
59 | 73 | EC2Address allocateAddress(); |
60 | 74 | |
61 | 75 | EC2Address associateAddress(EC2AssociateRequest request); |
@@ -0,0 +1,61 @@ | ||
1 | +package jp.co.intellilink.aws.api; | |
2 | + | |
3 | +import java.util.HashMap; | |
4 | +import java.util.Map; | |
5 | + | |
6 | +import org.eclipse.core.runtime.CoreException; | |
7 | +import org.eclipse.core.runtime.IConfigurationElement; | |
8 | +import org.eclipse.core.runtime.IExtension; | |
9 | +import org.eclipse.core.runtime.IExtensionPoint; | |
10 | +import org.eclipse.core.runtime.InvalidRegistryObjectException; | |
11 | +import org.eclipse.core.runtime.Platform; | |
12 | + | |
13 | +public class AWSServiceProvider { | |
14 | + | |
15 | + private static final String EC2CLIENT = "jp.co.intellilink.aws.api.ec2client"; | |
16 | + private Map<String, ElasticComputingCloudInterface> ec2map = new HashMap<String, ElasticComputingCloudInterface>(); | |
17 | + | |
18 | + private static AWSServiceProvider instance; | |
19 | + | |
20 | + public static final AWSServiceProvider getInstance() { | |
21 | + if (instance == null) { | |
22 | + instance = new AWSServiceProvider(); | |
23 | + } | |
24 | + return instance; | |
25 | + } | |
26 | + | |
27 | + private void loadEC2Interface() { | |
28 | + | |
29 | + IExtensionPoint point = Platform.getExtensionRegistry() | |
30 | + .getExtensionPoint(EC2CLIENT); | |
31 | + IExtension[] extensions = point.getExtensions(); | |
32 | + for (IExtension extension : extensions) { | |
33 | + IConfigurationElement[] elements = extension | |
34 | + .getConfigurationElements(); | |
35 | + for (IConfigurationElement elem : elements) { | |
36 | + IConfigurationElement[] children = elem.getChildren("client"); | |
37 | + for (IConfigurationElement child : children) { | |
38 | + try { | |
39 | + Object object = child | |
40 | + .createExecutableExtension("class"); | |
41 | + ElasticComputingCloudInterface ec2 = (ElasticComputingCloudInterface) object; | |
42 | + ec2.setName(child.getAttribute("name")); | |
43 | + ec2.setDescription(child.getAttribute("desc")); | |
44 | + ec2map.put(ec2.getName(), ec2); | |
45 | + } catch (InvalidRegistryObjectException e) { | |
46 | + e.printStackTrace(); | |
47 | + } catch (CoreException e) { | |
48 | + e.printStackTrace(); | |
49 | + } | |
50 | + } | |
51 | + } | |
52 | + } | |
53 | + } | |
54 | + | |
55 | + public ElasticComputingCloudInterface getEC2Interface(String name) { | |
56 | + if (ec2map.isEmpty()) { | |
57 | + loadEC2Interface(); | |
58 | + } | |
59 | + return ec2map.get(name); | |
60 | + } | |
61 | +} |
@@ -2,4 +2,14 @@ | ||
2 | 2 | |
3 | 3 | public class EC2AvailabilityZone { |
4 | 4 | |
5 | + private String zoneName; | |
6 | + | |
7 | + public String getZoneName() { | |
8 | + return zoneName; | |
9 | + } | |
10 | + | |
11 | + public void setZoneName(String zoneName) { | |
12 | + this.zoneName = zoneName; | |
13 | + } | |
14 | + | |
5 | 15 | } |
@@ -1,9 +1,13 @@ | ||
1 | 1 | package jp.co.intellilink.aws.api.transport; |
2 | 2 | |
3 | +import java.util.List; | |
4 | + | |
3 | 5 | public class EC2SecurityGroup { |
4 | 6 | |
5 | 7 | private String name; |
6 | 8 | private String desc; |
9 | + private String ownerId; | |
10 | + private List<EC2Permission> ippermissions; | |
7 | 11 | |
8 | 12 | public EC2SecurityGroup(String name, String desc) { |
9 | 13 | this.name = name; |
@@ -26,4 +30,16 @@ | ||
26 | 30 | this.desc = desc; |
27 | 31 | } |
28 | 32 | |
33 | + public String getOwnerId() { | |
34 | + return ownerId; | |
35 | + } | |
36 | + | |
37 | + public void setOwnerId(String ownerId) { | |
38 | + this.ownerId = ownerId; | |
39 | + } | |
40 | + | |
41 | + public List<EC2Permission> getIpPermissions() { | |
42 | + return ippermissions; | |
43 | + } | |
44 | + | |
29 | 45 | } |
@@ -13,4 +13,12 @@ | ||
13 | 13 | return instanceId; |
14 | 14 | } |
15 | 15 | |
16 | + public void setInstanceId(String instanceId) { | |
17 | + this.instanceId = instanceId; | |
18 | + } | |
19 | + | |
20 | + public void setPublicIp(String ip) { | |
21 | + publicIp = ip; | |
22 | + } | |
23 | + | |
16 | 24 | } |
@@ -0,0 +1,59 @@ | ||
1 | +package jp.co.intellilink.aws.api.transport; | |
2 | + | |
3 | +public class EC2Permission { | |
4 | + | |
5 | + private int fromPort; | |
6 | + private int toPort; | |
7 | + private String ipProtocol; | |
8 | + private String groupName; | |
9 | + private String userId; | |
10 | + private String cidrIp; | |
11 | + | |
12 | + public int getFromPort() { | |
13 | + return fromPort; | |
14 | + } | |
15 | + | |
16 | + public void setFromPort(int fromPort) { | |
17 | + this.fromPort = fromPort; | |
18 | + } | |
19 | + | |
20 | + public int getToPort() { | |
21 | + return toPort; | |
22 | + } | |
23 | + | |
24 | + public void setToPort(int toPort) { | |
25 | + this.toPort = toPort; | |
26 | + } | |
27 | + | |
28 | + public String getIpProtocol() { | |
29 | + return ipProtocol; | |
30 | + } | |
31 | + | |
32 | + public void setIpProtocol(String ipProtocol) { | |
33 | + this.ipProtocol = ipProtocol; | |
34 | + } | |
35 | + | |
36 | + public String getGroupName() { | |
37 | + return groupName; | |
38 | + } | |
39 | + | |
40 | + public void setGroupName(String groupName) { | |
41 | + this.groupName = groupName; | |
42 | + } | |
43 | + | |
44 | + public String getUserId() { | |
45 | + return userId; | |
46 | + } | |
47 | + | |
48 | + public void setUserId(String userId) { | |
49 | + this.userId = userId; | |
50 | + } | |
51 | + | |
52 | + public String getCidrIp() { | |
53 | + return cidrIp; | |
54 | + } | |
55 | + | |
56 | + public void setCidrIp(String cidrIp) { | |
57 | + this.cidrIp = cidrIp; | |
58 | + } | |
59 | +} |
@@ -2,4 +2,13 @@ | ||
2 | 2 | |
3 | 3 | public class EC2DisassociateAddressRequest { |
4 | 4 | |
5 | + private String publicIp; | |
6 | + | |
7 | + public void setPublicIp(String publicIp) { | |
8 | + this.publicIp = publicIp; | |
9 | + } | |
10 | + | |
11 | + public String getPublicIp() { | |
12 | + return publicIp; | |
13 | + } | |
5 | 14 | } |
@@ -8,4 +8,8 @@ | ||
8 | 8 | return keyName; |
9 | 9 | } |
10 | 10 | |
11 | + public void setKeyName(String keyName) { | |
12 | + this.keyName = keyName; | |
13 | + } | |
14 | + | |
11 | 15 | } |
@@ -2,4 +2,95 @@ | ||
2 | 2 | |
3 | 3 | public class EC2RunInstanceRequest { |
4 | 4 | |
5 | + private String imageId; | |
6 | + private String kernelId; | |
7 | + private String ramdiskId; | |
8 | + private String instanceType; | |
9 | + private int minCount; | |
10 | + private int maxCount; | |
11 | + private String keyName; | |
12 | + private String additionalInfo; | |
13 | + private String availabilityZone; | |
14 | + private String groupId; | |
15 | + | |
16 | + public void setImageId(String imageId) { | |
17 | + this.imageId = imageId; | |
18 | + } | |
19 | + | |
20 | + public String getImageId() { | |
21 | + return imageId; | |
22 | + } | |
23 | + | |
24 | + public void setKernelId(String kernelId) { | |
25 | + this.kernelId = kernelId; | |
26 | + } | |
27 | + | |
28 | + public String getKernelId() { | |
29 | + return kernelId; | |
30 | + } | |
31 | + | |
32 | + public void setRamdiskId(String ramdiskId) { | |
33 | + this.ramdiskId = ramdiskId; | |
34 | + } | |
35 | + | |
36 | + public String getRamdiskId() { | |
37 | + return ramdiskId; | |
38 | + } | |
39 | + | |
40 | + public void setInstanceType(String instanceType) { | |
41 | + this.instanceType = instanceType; | |
42 | + } | |
43 | + | |
44 | + public String getInstanceType() { | |
45 | + return instanceType; | |
46 | + } | |
47 | + | |
48 | + public void setMinCount(int minCount) { | |
49 | + this.minCount = minCount; | |
50 | + } | |
51 | + | |
52 | + public int getMinCount() { | |
53 | + return minCount; | |
54 | + } | |
55 | + | |
56 | + public void setMaxCount(int maxCount) { | |
57 | + this.maxCount = maxCount; | |
58 | + } | |
59 | + | |
60 | + public int getMaxCount() { | |
61 | + return maxCount; | |
62 | + } | |
63 | + | |
64 | + public void setKeyName(String keyName) { | |
65 | + this.keyName = keyName; | |
66 | + } | |
67 | + | |
68 | + public String getKeyName() { | |
69 | + return keyName; | |
70 | + } | |
71 | + | |
72 | + public void setAdditionalInfo(String additionalInfo) { | |
73 | + this.additionalInfo = additionalInfo; | |
74 | + } | |
75 | + | |
76 | + public String getAdditionalInfo() { | |
77 | + return additionalInfo; | |
78 | + } | |
79 | + | |
80 | + public void setAvailabilityZone(String availabilityZone) { | |
81 | + this.availabilityZone = availabilityZone; | |
82 | + } | |
83 | + | |
84 | + public String getAvailabilityZone() { | |
85 | + return availabilityZone; | |
86 | + } | |
87 | + | |
88 | + public void setGroupId(String groupId) { | |
89 | + this.groupId = groupId; | |
90 | + } | |
91 | + | |
92 | + public String getGroupId() { | |
93 | + return groupId; | |
94 | + } | |
5 | 95 | } |
96 | + |
@@ -1,5 +1,13 @@ | ||
1 | 1 | package jp.co.intellilink.aws.api.transport; |
2 | 2 | |
3 | +import java.util.List; | |
4 | + | |
3 | 5 | public class EC2TerminateInstancesRequest { |
4 | 6 | |
7 | + private List<String> instanceId; | |
8 | + | |
9 | + public void addInstanceId(String instanceId) { | |
10 | + this.instanceId.add(instanceId); | |
11 | + } | |
12 | + | |
5 | 13 | } |
@@ -2,4 +2,76 @@ | ||
2 | 2 | |
3 | 3 | public class EC2Image { |
4 | 4 | |
5 | + private String imageId; | |
6 | + private String imageLocation; | |
7 | + private String imageOwnerId; | |
8 | + private String kernelId; | |
9 | + private String ramdiskId; | |
10 | + private String imageType; | |
11 | + private String architecture; | |
12 | + private String platform; | |
13 | + | |
14 | + public String getImageId() { | |
15 | + return imageId; | |
16 | + } | |
17 | + | |
18 | + public void setImageId(String imageId) { | |
19 | + this.imageId = imageId; | |
20 | + } | |
21 | + | |
22 | + public String getImageLocation() { | |
23 | + return imageLocation; | |
24 | + } | |
25 | + | |
26 | + public void setImageLocation(String imageLocation) { | |
27 | + this.imageLocation = imageLocation; | |
28 | + } | |
29 | + | |
30 | + public String getImageOwnerId() { | |
31 | + return imageOwnerId; | |
32 | + } | |
33 | + | |
34 | + public void setImageOwnerId(String imageOwnerId) { | |
35 | + this.imageOwnerId = imageOwnerId; | |
36 | + } | |
37 | + | |
38 | + public String getKernelId() { | |
39 | + return kernelId; | |
40 | + } | |
41 | + | |
42 | + public void setKernelId(String kernelId) { | |
43 | + this.kernelId = kernelId; | |
44 | + } | |
45 | + | |
46 | + public String getRamdiskId() { | |
47 | + return ramdiskId; | |
48 | + } | |
49 | + | |
50 | + public void setRamdiskId(String ramdiskId) { | |
51 | + this.ramdiskId = ramdiskId; | |
52 | + } | |
53 | + | |
54 | + public String getImageType() { | |
55 | + return imageType; | |
56 | + } | |
57 | + | |
58 | + public void setImageType(String imageType) { | |
59 | + this.imageType = imageType; | |
60 | + } | |
61 | + | |
62 | + public String getArchitecture() { | |
63 | + return architecture; | |
64 | + } | |
65 | + | |
66 | + public void setArchitecture(String architecture) { | |
67 | + this.architecture = architecture; | |
68 | + } | |
69 | + | |
70 | + public String getPlatform() { | |
71 | + return platform; | |
72 | + } | |
73 | + | |
74 | + public void setPlatform(String platform) { | |
75 | + this.platform = platform; | |
76 | + } | |
5 | 77 | } |
@@ -2,4 +2,13 @@ | ||
2 | 2 | |
3 | 3 | public class EC2ReleaseAddressRequest { |
4 | 4 | |
5 | + private String publicIp; | |
6 | + | |
7 | + public void setPublicIp(String publicIp) { | |
8 | + this.publicIp = publicIp; | |
9 | + } | |
10 | + | |
11 | + public String getPublicIp() { | |
12 | + return publicIp; | |
13 | + } | |
5 | 14 | } |
@@ -1,5 +1,88 @@ | ||
1 | 1 | package jp.co.intellilink.aws.api.transport; |
2 | 2 | |
3 | +import java.util.Date; | |
4 | + | |
3 | 5 | public class EC2Instance { |
4 | 6 | |
7 | + private String id; | |
8 | + private String imageId; | |
9 | + private int instanceState; | |
10 | + private String dnsName; | |
11 | + private String privateDnsName; | |
12 | + private String keyName; | |
13 | + private String instanceType; | |
14 | + private Date launchTime; | |
15 | + private String reason; | |
16 | + | |
17 | + public String getId() { | |
18 | + return id; | |
19 | + } | |
20 | + | |
21 | + public void setId(String id) { | |
22 | + this.id = id; | |
23 | + } | |
24 | + | |
25 | + public String getImageId() { | |
26 | + return imageId; | |
27 | + } | |
28 | + | |
29 | + public void setImageId(String imageId) { | |
30 | + this.imageId = imageId; | |
31 | + } | |
32 | + | |
33 | + public int getInstanceState() { | |
34 | + return instanceState; | |
35 | + } | |
36 | + | |
37 | + public void setInstanceState(int instanceState) { | |
38 | + this.instanceState = instanceState; | |
39 | + } | |
40 | + | |
41 | + public String getDnsName() { | |
42 | + return dnsName; | |
43 | + } | |
44 | + | |
45 | + public void setDnsName(String dnsName) { | |
46 | + this.dnsName = dnsName; | |
47 | + } | |
48 | + | |
49 | + public String getPrivateDnsName() { | |
50 | + return privateDnsName; | |
51 | + } | |
52 | + | |
53 | + public void setPrivateDnsName(String privateDnsName) { | |
54 | + this.privateDnsName = privateDnsName; | |
55 | + } | |
56 | + | |
57 | + public String getKeyName() { | |
58 | + return keyName; | |
59 | + } | |
60 | + | |
61 | + public void setKeyName(String keyName) { | |
62 | + this.keyName = keyName; | |
63 | + } | |
64 | + | |
65 | + public String getInstanceType() { | |
66 | + return instanceType; | |
67 | + } | |
68 | + | |
69 | + public void setInstanceType(String instanceType) { | |
70 | + this.instanceType = instanceType; | |
71 | + } | |
72 | + | |
73 | + public Date getLaunchTime() { | |
74 | + return launchTime; | |
75 | + } | |
76 | + | |
77 | + public void setLaunchTime(Date launchTime) { | |
78 | + this.launchTime = launchTime; | |
79 | + } | |
80 | + | |
81 | + public String getReason() { | |
82 | + return reason; | |
83 | + } | |
84 | + | |
85 | + public void setReason(String reason) { | |
86 | + this.reason = reason; | |
87 | + } | |
5 | 88 | } |