@@ -158,6 +158,99 @@ def getDeviceClients(self, serial: str, **kwargs):
158
158
159
159
160
160
161
+ def createDeviceLiveToolsArpTable (self , serial : str , ** kwargs ):
162
+ """
163
+ **Enqueue a job to perform a ARP table request for the device**
164
+ https://developer.cisco.com/meraki/api-v1/#!create-device-live-tools-arp-table
165
+
166
+ - serial (string): Serial
167
+ - callback (object): Details for the callback. Please include either an httpServerId OR url and sharedSecret
168
+ """
169
+
170
+ kwargs .update (locals ())
171
+
172
+ metadata = {
173
+ 'tags' : ['devices' , 'liveTools' , 'arpTable' ],
174
+ 'operation' : 'createDeviceLiveToolsArpTable'
175
+ }
176
+ serial = urllib .parse .quote (str (serial ), safe = '' )
177
+ resource = f'/devices/{ serial } /liveTools/arpTable'
178
+
179
+ body_params = ['callback' , ]
180
+ payload = {k .strip (): v for k , v in kwargs .items () if k .strip () in body_params }
181
+
182
+ return self ._session .post (metadata , resource , payload )
183
+
184
+
185
+
186
+ def getDeviceLiveToolsArpTable (self , serial : str , arpTableId : str ):
187
+ """
188
+ **Return an ARP table live tool job.**
189
+ https://developer.cisco.com/meraki/api-v1/#!get-device-live-tools-arp-table
190
+
191
+ - serial (string): Serial
192
+ - arpTableId (string): Arp table ID
193
+ """
194
+
195
+ metadata = {
196
+ 'tags' : ['devices' , 'liveTools' , 'arpTable' ],
197
+ 'operation' : 'getDeviceLiveToolsArpTable'
198
+ }
199
+ serial = urllib .parse .quote (str (serial ), safe = '' )
200
+ arpTableId = urllib .parse .quote (str (arpTableId ), safe = '' )
201
+ resource = f'/devices/{ serial } /liveTools/arpTable/{ arpTableId } '
202
+
203
+ return self ._session .get (metadata , resource )
204
+
205
+
206
+
207
+ def createDeviceLiveToolsCableTest (self , serial : str , ports : list , ** kwargs ):
208
+ """
209
+ **Enqueue a job to perform a cable test for the device on the specified ports.**
210
+ https://developer.cisco.com/meraki/api-v1/#!create-device-live-tools-cable-test
211
+
212
+ - serial (string): Serial
213
+ - ports (array): A list of ports for which to perform the cable test.
214
+ - callback (object): Details for the callback. Please include either an httpServerId OR url and sharedSecret
215
+ """
216
+
217
+ kwargs .update (locals ())
218
+
219
+ metadata = {
220
+ 'tags' : ['devices' , 'liveTools' , 'cableTest' ],
221
+ 'operation' : 'createDeviceLiveToolsCableTest'
222
+ }
223
+ serial = urllib .parse .quote (str (serial ), safe = '' )
224
+ resource = f'/devices/{ serial } /liveTools/cableTest'
225
+
226
+ body_params = ['ports' , 'callback' , ]
227
+ payload = {k .strip (): v for k , v in kwargs .items () if k .strip () in body_params }
228
+
229
+ return self ._session .post (metadata , resource , payload )
230
+
231
+
232
+
233
+ def getDeviceLiveToolsCableTest (self , serial : str , id : str ):
234
+ """
235
+ **Return a cable test live tool job.**
236
+ https://developer.cisco.com/meraki/api-v1/#!get-device-live-tools-cable-test
237
+
238
+ - serial (string): Serial
239
+ - id (string): ID
240
+ """
241
+
242
+ metadata = {
243
+ 'tags' : ['devices' , 'liveTools' , 'cableTest' ],
244
+ 'operation' : 'getDeviceLiveToolsCableTest'
245
+ }
246
+ serial = urllib .parse .quote (str (serial ), safe = '' )
247
+ id = urllib .parse .quote (str (id ), safe = '' )
248
+ resource = f'/devices/{ serial } /liveTools/cableTest/{ id } '
249
+
250
+ return self ._session .get (metadata , resource )
251
+
252
+
253
+
161
254
def createDeviceLiveToolsPing (self , serial : str , target : str , ** kwargs ):
162
255
"""
163
256
**Enqueue a job to ping a target host from the device**
@@ -253,6 +346,100 @@ def getDeviceLiveToolsPingDevice(self, serial: str, id: str):
253
346
254
347
255
348
349
+ def createDeviceLiveToolsThroughputTest (self , serial : str , ** kwargs ):
350
+ """
351
+ **Enqueue a job to test a device throughput, the test will run for 10 secs to test throughput**
352
+ https://developer.cisco.com/meraki/api-v1/#!create-device-live-tools-throughput-test
353
+
354
+ - serial (string): Serial
355
+ - callback (object): Details for the callback. Please include either an httpServerId OR url and sharedSecret
356
+ """
357
+
358
+ kwargs .update (locals ())
359
+
360
+ metadata = {
361
+ 'tags' : ['devices' , 'liveTools' , 'throughputTest' ],
362
+ 'operation' : 'createDeviceLiveToolsThroughputTest'
363
+ }
364
+ serial = urllib .parse .quote (str (serial ), safe = '' )
365
+ resource = f'/devices/{ serial } /liveTools/throughputTest'
366
+
367
+ body_params = ['callback' , ]
368
+ payload = {k .strip (): v for k , v in kwargs .items () if k .strip () in body_params }
369
+
370
+ return self ._session .post (metadata , resource , payload )
371
+
372
+
373
+
374
+ def getDeviceLiveToolsThroughputTest (self , serial : str , throughputTestId : str ):
375
+ """
376
+ **Return a throughput test job**
377
+ https://developer.cisco.com/meraki/api-v1/#!get-device-live-tools-throughput-test
378
+
379
+ - serial (string): Serial
380
+ - throughputTestId (string): Throughput test ID
381
+ """
382
+
383
+ metadata = {
384
+ 'tags' : ['devices' , 'liveTools' , 'throughputTest' ],
385
+ 'operation' : 'getDeviceLiveToolsThroughputTest'
386
+ }
387
+ serial = urllib .parse .quote (str (serial ), safe = '' )
388
+ throughputTestId = urllib .parse .quote (str (throughputTestId ), safe = '' )
389
+ resource = f'/devices/{ serial } /liveTools/throughputTest/{ throughputTestId } '
390
+
391
+ return self ._session .get (metadata , resource )
392
+
393
+
394
+
395
+ def createDeviceLiveToolsWakeOnLan (self , serial : str , vlanId : int , mac : str , ** kwargs ):
396
+ """
397
+ **Enqueue a job to send a Wake-on-LAN packet from the device**
398
+ https://developer.cisco.com/meraki/api-v1/#!create-device-live-tools-wake-on-lan
399
+
400
+ - serial (string): Serial
401
+ - vlanId (integer): The target's VLAN (1 to 4094)
402
+ - mac (string): The target's MAC address
403
+ - callback (object): Details for the callback. Please include either an httpServerId OR url and sharedSecret
404
+ """
405
+
406
+ kwargs .update (locals ())
407
+
408
+ metadata = {
409
+ 'tags' : ['devices' , 'liveTools' , 'wakeOnLan' ],
410
+ 'operation' : 'createDeviceLiveToolsWakeOnLan'
411
+ }
412
+ serial = urllib .parse .quote (str (serial ), safe = '' )
413
+ resource = f'/devices/{ serial } /liveTools/wakeOnLan'
414
+
415
+ body_params = ['vlanId' , 'mac' , 'callback' , ]
416
+ payload = {k .strip (): v for k , v in kwargs .items () if k .strip () in body_params }
417
+
418
+ return self ._session .post (metadata , resource , payload )
419
+
420
+
421
+
422
+ def getDeviceLiveToolsWakeOnLan (self , serial : str , wakeOnLanId : str ):
423
+ """
424
+ **Return a Wake-on-LAN job**
425
+ https://developer.cisco.com/meraki/api-v1/#!get-device-live-tools-wake-on-lan
426
+
427
+ - serial (string): Serial
428
+ - wakeOnLanId (string): Wake on lan ID
429
+ """
430
+
431
+ metadata = {
432
+ 'tags' : ['devices' , 'liveTools' , 'wakeOnLan' ],
433
+ 'operation' : 'getDeviceLiveToolsWakeOnLan'
434
+ }
435
+ serial = urllib .parse .quote (str (serial ), safe = '' )
436
+ wakeOnLanId = urllib .parse .quote (str (wakeOnLanId ), safe = '' )
437
+ resource = f'/devices/{ serial } /liveTools/wakeOnLan/{ wakeOnLanId } '
438
+
439
+ return self ._session .get (metadata , resource )
440
+
441
+
442
+
256
443
def getDeviceLldpCdp (self , serial : str ):
257
444
"""
258
445
**List LLDP and CDP information for a device**
0 commit comments