1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.jclouds.vcloud.terremark;
20
21 import java.net.URI;
22 import java.util.Set;
23 import java.util.concurrent.TimeUnit;
24
25 import javax.annotation.Nullable;
26
27 import org.jclouds.concurrent.Timeout;
28 import org.jclouds.vcloud.VCloudExpressClient;
29 import org.jclouds.vcloud.domain.Task;
30 import org.jclouds.vcloud.domain.VCloudExpressVApp;
31 import org.jclouds.vcloud.terremark.domain.CustomizationParameters;
32 import org.jclouds.vcloud.terremark.domain.InternetService;
33 import org.jclouds.vcloud.terremark.domain.KeyPair;
34 import org.jclouds.vcloud.terremark.domain.Node;
35 import org.jclouds.vcloud.terremark.domain.Protocol;
36 import org.jclouds.vcloud.terremark.domain.PublicIpAddress;
37 import org.jclouds.vcloud.terremark.domain.TerremarkCatalogItem;
38 import org.jclouds.vcloud.terremark.domain.TerremarkOrg;
39 import org.jclouds.vcloud.terremark.domain.TerremarkVDC;
40 import org.jclouds.vcloud.terremark.domain.VAppConfiguration;
41 import org.jclouds.vcloud.terremark.options.AddInternetServiceOptions;
42 import org.jclouds.vcloud.terremark.options.AddNodeOptions;
43
44
45
46
47
48
49
50
51 @Timeout(duration = 300, timeUnit = TimeUnit.SECONDS)
52 public interface TerremarkVCloudClient extends VCloudExpressClient {
53
54
55
56 @Override
57 TerremarkCatalogItem getCatalogItem(URI catalogItem);
58
59
60
61
62 @Override
63 TerremarkVDC getVDC(URI catalogItem);
64
65
66
67
68 @Override
69 TerremarkCatalogItem findCatalogItemInOrgCatalogNamed(String orgName, String catalogName, String itemName);
70
71
72
73
74 @Override
75 TerremarkOrg getOrg(URI orgId);
76
77
78
79
80 @Override
81 TerremarkOrg findOrgNamed(String orgName);
82
83 CustomizationParameters getCustomizationOptions(URI customizationOptions);
84
85
86
87
88 Set<PublicIpAddress> getPublicIpsAssociatedWithVDC(URI vDCId);
89
90 void deletePublicIp(URI ipId);
91
92
93
94
95
96
97 InternetService addInternetServiceToExistingIp(URI existingIpId, String serviceName, Protocol protocol, int port,
98 AddInternetServiceOptions... options);
99
100 void deleteInternetService(URI internetServiceId);
101
102 InternetService getInternetService(URI internetServiceId);
103
104 Set<InternetService> getAllInternetServicesInVDC(URI vDCId);
105
106
107
108
109 Set<InternetService> getInternetServicesOnPublicIp(URI ipId);
110
111 Set<InternetService> getPublicIp(URI ipId);
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127 Node addNode(URI internetServiceId, String ipAddress, String name, int port, AddNodeOptions... options);
128
129 Node getNode(URI nodeId);
130
131 Node configureNode(URI nodeId, String name, boolean enabled, @Nullable String description);
132
133 void deleteNode(URI nodeId);
134
135 Set<Node> getNodes(URI internetServiceId);
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157 Task configureVApp(VCloudExpressVApp vApp, VAppConfiguration configuration);
158
159
160
161 Set<KeyPair> listKeyPairsInOrg(URI org);
162
163
164
165
166
167 KeyPair generateKeyPairInOrg(URI org, String name, boolean makeDefault);
168
169
170
171 KeyPair findKeyPairInOrg(URI org, String keyPairName);
172
173 KeyPair getKeyPair(URI keyPair);
174
175
176
177
178
179 void deleteKeyPair(URI keyPair);
180
181 }