leaseweb-rest-api 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/leaseweb-rest-api.gemspec +1 -1
- data/lib/leaseweb-rest-api.rb +54 -62
- data/readme.md +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac512f54b172ce83fb45963e66a45cfc96389a7b
|
4
|
+
data.tar.gz: 73cec703553b22fd64965ca24c8cba991b19b505
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 470183d2e7732fa4ebe15629a56fc07b359fc53110e4fae117e018b15e2e35a64a1a5deff4771d2e0781d019b93fccc61cc5fc54858e696e13c3d92fa7967c84
|
7
|
+
data.tar.gz: 16c873c41aee0a124b4ae949e8c039a2f5374c3389c2521242f0128ed29256bef747087d182d8a8cbe8172bcd3f204665cc09befa6b0487f700373ab95c6d6d0
|
data/leaseweb-rest-api.gemspec
CHANGED
data/lib/leaseweb-rest-api.rb
CHANGED
@@ -11,7 +11,7 @@ class LeasewebAPI
|
|
11
11
|
format :json
|
12
12
|
# debug_output $stderr
|
13
13
|
|
14
|
-
base_uri 'https://api.leaseweb.com
|
14
|
+
base_uri 'https://api.leaseweb.com'
|
15
15
|
|
16
16
|
def apiKeyAuth(apikey)
|
17
17
|
@options = { headers: { 'X-Lsw-Auth' => apikey } }
|
@@ -62,21 +62,21 @@ class LeasewebAPI
|
|
62
62
|
|
63
63
|
# Domains
|
64
64
|
def getDomains
|
65
|
-
self.class.get('/domains', @options)
|
65
|
+
self.class.get('/v1/domains', @options)
|
66
66
|
end
|
67
67
|
|
68
68
|
def getDomain(domain)
|
69
|
-
self.class.get("/domains/#{domain}", @options)
|
69
|
+
self.class.get("/v1/domains/#{domain}", @options)
|
70
70
|
end
|
71
71
|
|
72
72
|
def updateDomain(domain, ttl)
|
73
73
|
opt = @options.merge!(body: { ttl: ttl })
|
74
74
|
|
75
|
-
self.class.put("/domains/#{domain}", opt)
|
75
|
+
self.class.put("/v1/domains/#{domain}", opt)
|
76
76
|
end
|
77
77
|
|
78
78
|
def getDNSRecords(domain)
|
79
|
-
self.class.get("/domains/#{domain}/dnsRecords", @options)
|
79
|
+
self.class.get("/v1/domains/#{domain}/dnsRecords", @options)
|
80
80
|
end
|
81
81
|
|
82
82
|
def createDNSRecords(domain, host, content, type, priority = nil)
|
@@ -86,11 +86,11 @@ class LeasewebAPI
|
|
86
86
|
opt[:body][:priority] = priority
|
87
87
|
end
|
88
88
|
|
89
|
-
self.class.post("/domains/#{domain}/dnsRecords", opt)
|
89
|
+
self.class.post("/v1/domains/#{domain}/dnsRecords", opt)
|
90
90
|
end
|
91
91
|
|
92
92
|
def getDNSRecord(domain, dnsRecordId)
|
93
|
-
self.class.get("/domains/#{domain}/dnsRecords/#{dnsRecordId}", @options)
|
93
|
+
self.class.get("/v1/domains/#{domain}/dnsRecords/#{dnsRecordId}", @options)
|
94
94
|
end
|
95
95
|
|
96
96
|
def updateDNSRecord(domain, dnsRecordId, host, content, type, priority = nil)
|
@@ -100,103 +100,103 @@ class LeasewebAPI
|
|
100
100
|
opt[:body][:priority] = priority
|
101
101
|
end
|
102
102
|
|
103
|
-
self.class.put("/domains/#{domain}/dnsRecords/#{dnsRecordId}", opt)
|
103
|
+
self.class.put("/v1/domains/#{domain}/dnsRecords/#{dnsRecordId}", opt)
|
104
104
|
end
|
105
105
|
|
106
106
|
def deleteDNSRecord(domain, dnsRecordId)
|
107
|
-
self.class.delete("/domains/#{domain}/dnsRecords/#{dnsRecordId}", @options)
|
107
|
+
self.class.delete("/v1/domains/#{domain}/dnsRecords/#{dnsRecordId}", @options)
|
108
108
|
end
|
109
109
|
|
110
110
|
# Rescue
|
111
111
|
def getRescueImages
|
112
|
-
self.class.get('/rescueImages', @options)
|
112
|
+
self.class.get('/v1/rescueImages', @options)
|
113
113
|
end
|
114
114
|
|
115
115
|
# BareMetals
|
116
116
|
def getBareMetals
|
117
|
-
self.class.get('/bareMetals', @options)
|
117
|
+
self.class.get('/v1/bareMetals', @options)
|
118
118
|
end
|
119
119
|
|
120
120
|
def getBareMetal(bareMetalId)
|
121
|
-
self.class.get("/bareMetals/#{bareMetalId}", @options)
|
121
|
+
self.class.get("/v1/bareMetals/#{bareMetalId}", @options)
|
122
122
|
end
|
123
123
|
|
124
124
|
def updateBareMetal(bareMetalId, reference)
|
125
125
|
opt = @options.merge!(body: { reference: reference })
|
126
126
|
|
127
|
-
self.class.put("/bareMetals/#{bareMetalId}", opt)
|
127
|
+
self.class.put("/v1/bareMetals/#{bareMetalId}", opt)
|
128
128
|
end
|
129
129
|
|
130
130
|
def getSwitchPort(bareMetalId)
|
131
|
-
self.class.get("/bareMetals/#{bareMetalId}/switchPort", @options)
|
131
|
+
self.class.get("/v1/bareMetals/#{bareMetalId}/switchPort", @options)
|
132
132
|
end
|
133
133
|
|
134
134
|
def postSwitchPortOpen(bareMetalId)
|
135
|
-
self.class.post("/bareMetals/#{bareMetalId}/switchPort/open", @options)
|
135
|
+
self.class.post("/v1/bareMetals/#{bareMetalId}/switchPort/open", @options)
|
136
136
|
end
|
137
137
|
|
138
138
|
def postSwitchPortClose(bareMetalId)
|
139
|
-
self.class.post("/bareMetals/#{bareMetalId}/switchPort/close", @options)
|
139
|
+
self.class.post("/v1/bareMetals/#{bareMetalId}/switchPort/close", @options)
|
140
140
|
end
|
141
141
|
|
142
142
|
def getPowerStatus(bareMetalId)
|
143
|
-
self.class.get("/bareMetals/#{bareMetalId}/powerStatus", @options)
|
143
|
+
self.class.get("/v1/bareMetals/#{bareMetalId}/powerStatus", @options)
|
144
144
|
end
|
145
145
|
|
146
146
|
def getIPs(bareMetalId)
|
147
|
-
self.class.get("/bareMetals/#{bareMetalId}/ips", @options)
|
147
|
+
self.class.get("/v1/bareMetals/#{bareMetalId}/ips", @options)
|
148
148
|
end
|
149
149
|
|
150
150
|
def getIP(bareMetalId, ipAddress)
|
151
|
-
self.class.get("/bareMetals/#{bareMetalId}/ips/#{ipAddress}", @options)
|
151
|
+
self.class.get("/v1/bareMetals/#{bareMetalId}/ips/#{ipAddress}", @options)
|
152
152
|
end
|
153
153
|
|
154
154
|
def updateIP(bareMetalId, ipAddress, reverseLookup = '', nullRouted = 0)
|
155
155
|
opt = @options.merge!(body: { reverseLookup: reverseLookup, nullRouted: nullRouted })
|
156
156
|
|
157
|
-
self.class.put("/bareMetals/#{bareMetalId}/ips/#{ipAddress}", opt)
|
157
|
+
self.class.put("/v1/bareMetals/#{bareMetalId}/ips/#{ipAddress}", opt)
|
158
158
|
end
|
159
159
|
|
160
160
|
def getIpmiCredentials(bareMetalId)
|
161
|
-
self.class.get("/bareMetals/#{bareMetalId}/ipmiCredentials", @options)
|
161
|
+
self.class.get("/v1/bareMetals/#{bareMetalId}/ipmiCredentials", @options)
|
162
162
|
end
|
163
163
|
|
164
164
|
def getNetworkUsage(bareMetalId)
|
165
|
-
self.class.get("/bareMetals/#{bareMetalId}/networkUsage", @options)
|
165
|
+
self.class.get("/v1/bareMetals/#{bareMetalId}/networkUsage", @options)
|
166
166
|
end
|
167
167
|
|
168
168
|
def getNetworkUsageBandWidth(bareMetalId, dateFrom, dateTo, format = 'json')
|
169
|
-
self.class.get("/bareMetals/#{bareMetalId}/networkUsage/bandWidth", formatRequest(dateFrom, dateTo, format))
|
169
|
+
self.class.get("/v1/bareMetals/#{bareMetalId}/networkUsage/bandWidth", formatRequest(dateFrom, dateTo, format))
|
170
170
|
end
|
171
171
|
|
172
172
|
def getNetworkUsageDataTraffic(bareMetalId, dateFrom, dateTo, format = 'json')
|
173
|
-
self.class.get("/bareMetals/#{bareMetalId}/networkUsage/dataTraffic", formatRequest(dateFrom, dateTo, format))
|
173
|
+
self.class.get("/v1/bareMetals/#{bareMetalId}/networkUsage/dataTraffic", formatRequest(dateFrom, dateTo, format))
|
174
174
|
end
|
175
175
|
|
176
176
|
def postReboot(bareMetalId)
|
177
|
-
self.class.post("/bareMetals/#{bareMetalId}/reboot", @options)
|
177
|
+
self.class.post("/v1/bareMetals/#{bareMetalId}/reboot", @options)
|
178
178
|
end
|
179
179
|
|
180
180
|
def installServer(bareMetalId, osId, hdd = [])
|
181
181
|
opt = @options.merge!(body: { osId: osId, hdd: hdd }, query_string_normalizer: ->(h) { HashToURIConversion.new.to_params(h) })
|
182
182
|
|
183
|
-
self.class.post("/bareMetals/#{bareMetalId}/install", opt)
|
183
|
+
self.class.post("/v1/bareMetals/#{bareMetalId}/install", opt)
|
184
184
|
end
|
185
185
|
|
186
186
|
def postResqueMode(bareMetalId, osId)
|
187
187
|
opt = @options.merge!(body: { osId: osId })
|
188
188
|
|
189
|
-
self.class.post("/bareMetals/#{bareMetalId}/rescueMode", opt)
|
189
|
+
self.class.post("/v1/bareMetals/#{bareMetalId}/rescueMode", opt)
|
190
190
|
end
|
191
191
|
|
192
192
|
def getRootPassword(bareMetalId, format = 'json')
|
193
193
|
opt = @options.merge!(headers: formatHeader(format))
|
194
194
|
|
195
|
-
self.class.get("/bareMetals/#{bareMetalId}/rootPassword", opt)
|
195
|
+
self.class.get("/v1/bareMetals/#{bareMetalId}/rootPassword", opt)
|
196
196
|
end
|
197
197
|
|
198
198
|
def getInstallationStatus(bareMetalId)
|
199
|
-
response = self.class.get("/bareMetals/#{bareMetalId}/installationStatus", @options)
|
199
|
+
response = self.class.get("/v1/bareMetals/#{bareMetalId}/installationStatus", @options)
|
200
200
|
|
201
201
|
if response['installationStatus'].include?('initRootPassword')
|
202
202
|
response['installationStatus']['initRootPassword'] = decrypt(response['installationStatus']['initRootPassword'])
|
@@ -210,131 +210,123 @@ class LeasewebAPI
|
|
210
210
|
end
|
211
211
|
|
212
212
|
def getLeases(bareMetalId)
|
213
|
-
self.class.get("/bareMetals/#{bareMetalId}/leases", @options)
|
213
|
+
self.class.get("/v1/bareMetals/#{bareMetalId}/leases", @options)
|
214
214
|
end
|
215
215
|
|
216
216
|
def setLease(bareMetalId, bootFileName)
|
217
217
|
opt = @options.merge!(body: { bootFileName: bootFileName })
|
218
218
|
|
219
|
-
self.class.post("/bareMetals/#{bareMetalId}/leases", opt)
|
219
|
+
self.class.post("/v1/bareMetals/#{bareMetalId}/leases", opt)
|
220
220
|
end
|
221
221
|
|
222
222
|
def getLease(bareMetalId, macAddress)
|
223
|
-
self.class.get("/bareMetals/#{bareMetalId}/leases/#{macAddress}", @options)
|
223
|
+
self.class.get("/v1/bareMetals/#{bareMetalId}/leases/#{macAddress}", @options)
|
224
224
|
end
|
225
225
|
|
226
226
|
def deleteLease(bareMetalId, macAddress)
|
227
|
-
self.class.delete("/bareMetals/#{bareMetalId}/leases/#{macAddress}", @options)
|
228
|
-
end
|
229
|
-
|
230
|
-
# New install call
|
231
|
-
def install(bareMetalId, operatingSystemId, options = {})
|
232
|
-
options[:operatingSystemId] = operatingSystemId
|
233
|
-
opt = @options.merge!(body: options.to_json)
|
234
|
-
|
235
|
-
self.class.post("/bmpapi/bareMetals/#{bareMetalId}/install", opt)
|
227
|
+
self.class.delete("/v1/bareMetals/#{bareMetalId}/leases/#{macAddress}", @options)
|
236
228
|
end
|
237
229
|
|
238
230
|
# Private Networks
|
239
231
|
def getPrivateNetworks
|
240
|
-
self.class.get('/privateNetworks', @options)
|
232
|
+
self.class.get('/v1/privateNetworks', @options)
|
241
233
|
end
|
242
234
|
|
243
235
|
# TODO: check post with name
|
244
236
|
def createPrivateNetworks(name = '')
|
245
237
|
opt = @options.merge!(body: { name: name })
|
246
238
|
|
247
|
-
self.class.post('/privateNetworks', opt)
|
239
|
+
self.class.post('/v1/privateNetworks', opt)
|
248
240
|
end
|
249
241
|
|
250
242
|
def getPrivateNetwork(id)
|
251
|
-
self.class.get("/privateNetworks/#{id}", @options)
|
243
|
+
self.class.get("/v1/privateNetworks/#{id}", @options)
|
252
244
|
end
|
253
245
|
|
254
246
|
# TODO: Check with Jeroen if it works
|
255
247
|
def updatePrivateNetwork(id, name = '')
|
256
248
|
opt = @options.merge!(body: { name: name })
|
257
249
|
|
258
|
-
self.class.put("/privateNetworks/#{id}", opt)
|
250
|
+
self.class.put("/v1/privateNetworks/#{id}", opt)
|
259
251
|
end
|
260
252
|
|
261
253
|
def deletePrivateNetwork(id)
|
262
|
-
self.class.delete("/privateNetworks/#{id}", @options)
|
254
|
+
self.class.delete("/v1/privateNetworks/#{id}", @options)
|
263
255
|
end
|
264
256
|
|
265
257
|
def createPrivateNetworksBareMetals(id, bareMetalId)
|
266
258
|
opt = @options.merge!(body: { bareMetalId: bareMetalId })
|
267
259
|
|
268
|
-
self.class.post("/privateNetworks/#{id}/bareMetals", opt)
|
260
|
+
self.class.post("/v1/privateNetworks/#{id}/bareMetals", opt)
|
269
261
|
end
|
270
262
|
|
271
263
|
def deletePrivateNetworksBareMetals(id, bareMetalId)
|
272
|
-
self.class.delete("/privateNetworks/#{id}/bareMetals/#{bareMetalId}", @options)
|
264
|
+
self.class.delete("/v1/privateNetworks/#{id}/bareMetals/#{bareMetalId}", @options)
|
273
265
|
end
|
274
266
|
|
275
267
|
# Operating Systems
|
276
268
|
def getOperatingSystems
|
277
|
-
self.class.get('/operatingSystems', @options)
|
269
|
+
self.class.get('/v1/operatingSystems', @options)
|
278
270
|
end
|
279
271
|
|
280
272
|
def getOperatingSystem(operatingSystemId)
|
281
|
-
self.class.get("/operatingSystems/#{operatingSystemId}", @options)
|
273
|
+
self.class.get("/v1/operatingSystems/#{operatingSystemId}", @options)
|
282
274
|
end
|
283
275
|
|
284
276
|
def getControlPanels(operatingSystemId)
|
285
|
-
self.class.get("/operatingSystems/#{operatingSystemId}/controlPanels", @options)
|
277
|
+
self.class.get("/v1/operatingSystems/#{operatingSystemId}/controlPanels", @options)
|
286
278
|
end
|
287
279
|
|
288
280
|
def getControlPanel(operatingSystemId, controlPanelId)
|
289
|
-
self.class.get("/operatingSystems/#{operatingSystemId}/controlPanels/#{controlPanelId}", @options)
|
281
|
+
self.class.get("/v1/operatingSystems/#{operatingSystemId}/controlPanels/#{controlPanelId}", @options)
|
290
282
|
end
|
291
283
|
|
292
284
|
def getPartitionSchema(operatingSystemId, bareMetalId)
|
293
285
|
opt = @options.merge!(query: { serverPackId: bareMetalId })
|
294
286
|
|
295
|
-
self.class.get("/operatingSystems/#{operatingSystemId}/partitionSchema", opt)
|
287
|
+
self.class.get("/v1/operatingSystems/#{operatingSystemId}/partitionSchema", opt)
|
296
288
|
end
|
297
289
|
|
298
290
|
# IPs
|
299
291
|
def getIps
|
300
|
-
self.class.get('/ips', @options)
|
292
|
+
self.class.get('/v1/ips', @options)
|
301
293
|
end
|
302
294
|
|
303
295
|
def getIp(ipAddress)
|
304
|
-
self.class.get("/ips/#{ipAddress}", @options)
|
296
|
+
self.class.get("/v1/ips/#{ipAddress}", @options)
|
305
297
|
end
|
306
298
|
|
307
299
|
def updateIp(ipAddress, reverseLookup = '', nullRouted = 0)
|
308
300
|
opt = @options.merge!(body: { reverseLookup: reverseLookup, nullRouted: nullRouted })
|
309
301
|
|
310
|
-
self.class.put("/ips/#{ipAddress}", opt)
|
302
|
+
self.class.put("/v1/ips/#{ipAddress}", opt)
|
311
303
|
end
|
312
304
|
|
313
305
|
# Pay as you go
|
314
306
|
def getPAYGInstances
|
315
|
-
self.class.get('/payAsYouGo/bareMetals/instances', @options)
|
307
|
+
self.class.get('/v1/payAsYouGo/bareMetals/instances', @options)
|
316
308
|
end
|
317
309
|
|
318
310
|
def createPAYGInstance(modelId)
|
319
311
|
opt = @options.merge!(model: modelId)
|
320
312
|
|
321
|
-
self.class.post('/payAsYouGo/bareMetals/instances', opt)
|
313
|
+
self.class.post('/v1/payAsYouGo/bareMetals/instances', opt)
|
322
314
|
end
|
323
315
|
|
324
316
|
def getPAYGInstance(bareMetalId)
|
325
|
-
self.class.get("/payAsYouGo/bareMetals/instances/#{bareMetalId}", @options)
|
317
|
+
self.class.get("/v1/payAsYouGo/bareMetals/instances/#{bareMetalId}", @options)
|
326
318
|
end
|
327
319
|
|
328
320
|
def destroyPAYGInstance(bareMetalId)
|
329
|
-
self.class.post("/payAsYouGo/bareMetals/instances/#{bareMetalId}/destroy", @options)
|
321
|
+
self.class.post("/v1/payAsYouGo/bareMetals/instances/#{bareMetalId}/destroy", @options)
|
330
322
|
end
|
331
323
|
|
332
324
|
def getPAYGModels
|
333
|
-
self.class.get('/payAsYouGo/bareMetals/models', @options)
|
325
|
+
self.class.get('/v1/payAsYouGo/bareMetals/models', @options)
|
334
326
|
end
|
335
327
|
|
336
328
|
def getPAYGModelInstance(modelId)
|
337
|
-
self.class.get("/payAsYouGo/bareMetals/models/#{modelId}", @options)
|
329
|
+
self.class.get("/v1/payAsYouGo/bareMetals/models/#{modelId}", @options)
|
338
330
|
end
|
339
331
|
|
340
332
|
protected
|
data/readme.md
CHANGED