API endpoit /api/v1/{device}/interfaces/{status}
El endpoint status contiene todas las especificaciones que se deben considerar al momento de configurar un call o request para operar con el objeto estado de interfaces. Tanto el detalle acerca de los Métodos, Header, URL y Body, asi como el correcto uso y resultados esperados, son parte de la definición de las especificaciones.
Modelo de Datos
La tabla asociada o Modelo de Datos del endpoint /api/v1/{device}/interfaces se llama Interfaces, y está compuesta por los siguientes campos:
device: instancia de la tabla Devices (*)(#)
type (*)
slot (*)
port (*)
ip4_address (+)
status (+)
(*) Campos que conforman la Key primaria y única de la tabla. Campos mandatorios en los métodos POST, PATCH, y DELETE.
(#) El campo device, se obtiene de la URL del endpoint. No es necesario incluirlo
en el Body.
(+) Campos que se pueden modificar.
URL
La URL esta formada por el pattern /api/v1/, el dispositivo {device}, el pattern /interfaces/ y valor de estado (status) requerido: Up o Down.
/api/v1/{device}/interfaces/{status}
Métodos
Métodos implementados en el endpoint.
GET
El método GET se utiliza para hacer consultas a las tablas asociadas al endpoint, en este caso, la tabla Interfaces. GET solo requiere la definición del Header de acuerdo a las exigencias de la especificación del endpoint en el API Server.
Header
Esta sección muestra como definir el Header cuando se configura un call o request al endpoint. Se incluyen ejemplos para python y CURL y su definición es independiente del método que se utilice.
Python Authorization Token:
Ver tokens
import requests
import json
url = 'http://e-learning.octupus.com/api/v1/{device}/interfaces/{status}'
headers = {
'Authorization': 'Token c26b519346e0755bf9b864c0db8d3d36d854ab23',
'Content-Type': 'application/json',
}
response = requests.request("GET", url, headers=headers, data=payload)
print(json.dumps(json.loads(respose.content), indent=3))
Python Authorization Basic:
Ver Usuarios
Basic Authorization usando 'Basic Auth Token' (base64 encoding de user:password)
import requests
import json
url = 'http://e-learning.octupus.com/api/v1/{device}/interfaces/{status}'
headers = {
'Authorization': 'Basic b2N0aW9uOk9jdGlvblNlcnZlcg==',
'Content-Type': 'application/json',
}
response = requests.request("GET", url, headers=headers, data=payload)
print(json.dumps(json.loads(respose.content), indent=3))
Basic Authorization usando 'user/password'
import requests
import json
url = 'http://e-learning.octupus.com/api/v1/{device}/interfaces/{status}'
user = 'oction'
password = 'OctionServer'
response = requests.get(url, auth=(user, password))
print(json.dumps(json.loads(respose.content), indent=3))
Curl Authorization Token:
Ver Tokens
curl --location --request GET 'http://e-learning.octupus.com/api/v1/{device}/interfaces/{status}' \
--header 'Authorization: Token c26b519346e0755bf9b864c0db8d3d36d854ab23' \
--header 'Content-Type: application/json'
Curl Authorization Basic:
Ver Usuarios
Basic Authorization usando 'Basic Auth Token' (base64 encoding de user:password)
curl --location --request GET 'http://e-learning.octupus.com/api/v1/{device}/interfaces/{status}' \
--header 'Authorization: Basic b2N0aW9uOk9jdGlvblNlcnZlcg==' \
--header 'Content-Type: application/json'
Body
El método GET no requiere Body
Try it
Ejemplos de código para cada método. Como definir el Body y el Header cuando se configura un call o request al endpoint, y cual es la salida esperada.
Try a GET
Código Python Authorization Tokens
import requests
import json
url = 'http://e-learning.octupus.com/api/v1/Catalyst 3700/interfaces/up'
headers = {
}
response = requests.request("GET", url, headers=headers)
print(json.dumps(json.loads(respose.content), indent=3))
Output
"slot": 0,
"port": 1,
"ip4_address": "10.0.0.2",
"status": "Up"
{
"slot": 7,
"port": 0,
"ip4_address": "10.1.1.5",
"status": "Up"