viptela/vManage¶
The following services are supported by the REST connector for viptela/vManage.
connect¶
API to connect to the device.
The vManage REST implementation supports specifying the port to connect to and allows to specify the username and password in the testbed YAML file.
# Example
# -------
#
# pyATS testbed yaml example for defining a REST connection
testbed:
name: myTestbed
devices:
vmanage:
os: viptela
type: vmanage
custom:
abstraction:
order: [os]
connections:
rest:
class: rest.connector.Rest
ip : "2.3.4.5"
port: 8443
verify: False
credentials:
rest:
username: admin
password: admin
If no port is specified, the default of 8443
is used. If verify is provided
and is False, it wont verify the SSL certificate.
Argument |
Description |
Default |
---|---|---|
|
Maximum time it can take to connect to the device. (optional) |
30 |
get¶
API to send GET command to the device.
Argument |
Description |
Default |
---|---|---|
mount_point |
API url string |
string
Required
|
headers |
Additional headers dictionary |
dict
Optional
|
timeout |
Maximum time it can take to disconnect to the device |
default 30 seconds
Optional
|
# Assuming the device is already connected
mount_point = 'dataservice/device'
output = device.get(mount_point=mount_point)
post¶
API to send POST command to the device.
Argument |
Description |
Default |
---|---|---|
mount_point |
API url string |
string
Required
|
payload |
payload dictionary |
dict
Required
|
headers |
Additional headers dictionary |
dict
Optional
|
timeout |
Maximum time it can take to disconnect to the device |
default 30 seconds
Optional
|
# Assuming the device is already connected
mount_point = "dataservice/template/feature/"
payload = {"templateName":"cli-add-stp",
"templateDescription":"cli-add-stp",
"templateType":"cli-template",
"deviceType":["vedge-ISR-4451-X"],
"templateMinVersion":"15.0.0",
"templateDefinition":{"config":{"vipObjectType":"object",
"vipType":"constant",
"vipValue":"spanning-tree mode rapid-pvst"}},
"factoryDefault":false}
device.rest.post(mount_point=mount_point,
payload=payload)
put¶
API to send PUT command to the device.
Argument |
Description |
Default |
---|---|---|
mount_point |
API url string |
string
Required
|
payload |
payload dictionary |
dict
Required
|
headers |
Additional headers dictionary |
dict
Optional
|
timeout |
Maximum time it can take to disconnect to the device |
default 30 seconds
Optional
|
# Assuming the device is already connected
mount_point = "dataservice/template/feature/3e322401-c965-4394-b539-216e57020404"
payload = {"templateName":"cli-add-stp",
"templateDescription":"cli-add-stp",
"templateType":"cli-template",
"deviceType":["vedge-ISR-4451-X"],
"templateMinVersion":"15.0.0",
"templateDefinition":{"config":{"vipObjectType":"object",
"vipType":"constant",
"vipValue":"spanning-tree mode rapid-pvst"}},
"factoryDefault":false}
device.rest.put(mount_point=mount_point,
payload=payload)
delete¶
API to send DELETE command to the device.
Argument |
Description |
Default |
---|---|---|
mount_point |
API url string |
string
Required
|
headers |
Additional headers dictionary |
dict
Optional
|
timeout |
Maximum time it can take to disconnect to the device |
default 30 seconds
Optional
|
# Assuming the device is already connected
mount_point = "dataservice/device/unreachable/"
device.rest.delete(mount_point=mount_point)
Section author: Vanda Wang <vanwang@cisco.com>