549 lines
22 KiB
JSON
549 lines
22 KiB
JSON
{
|
|
"openapi": "3.0.0",
|
|
"info": {
|
|
"title": "Ogdhcp API",
|
|
"version": "1.0"
|
|
},
|
|
"paths": {
|
|
"/opengnsys3/rest/dhcp/subnets": {
|
|
"get": {
|
|
"operationId": "8f92a1cbcb8cd176bdc4ae272b3ad303",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Devuelve todas las subredes",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Subnet"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Error al obtener las subredes"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"summary": "Add a new DHCP subnet",
|
|
"operationId": "88949bae5e7784ce2721ffafe7c88c0a",
|
|
"requestBody": {
|
|
"description": "JSON payload",
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"subnetId": {
|
|
"type": "integer",
|
|
"example": 2
|
|
},
|
|
"mask": {
|
|
"type": "string",
|
|
"example": "255.255.255.0"
|
|
},
|
|
"address": {
|
|
"type": "string",
|
|
"example": "192.168.1.0"
|
|
},
|
|
"nextServer": {
|
|
"type": "string",
|
|
"example": "192.168.1.1"
|
|
},
|
|
"bootFileName": {
|
|
"type": "string",
|
|
"example": "pxelinux.0"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "Subnet added successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"success": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Error occurred",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/opengnsys3/rest/dhcp/subnets/{subnetId}": {
|
|
"put": {
|
|
"summary": "Modify a DHCP subnet",
|
|
"operationId": "548b55fc0e1ad59ea5b5c909dfd07c71",
|
|
"parameters": [
|
|
{
|
|
"name": "subnetId",
|
|
"in": "path",
|
|
"description": "ID of the subnet to modify",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"description": "Data to modify the subnet",
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"mask": {
|
|
"type": "string"
|
|
},
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"nextServer": {
|
|
"type": "string"
|
|
},
|
|
"bootFileName": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "Subnet modified successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"success": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Error occurred",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"summary": "Delete a DHCP subnet",
|
|
"operationId": "c1c1c34729bdd85857b22e6e2bdc41de",
|
|
"parameters": [
|
|
{
|
|
"name": "subnetId",
|
|
"in": "path",
|
|
"description": "ID of the subnet to delete",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Subnet deleted successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"success": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Error occurred",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/opengnsys3/rest/dhcp/subnets/{subnetId}/hosts": {
|
|
"get": {
|
|
"summary": "Get all hosts in a subnet",
|
|
"operationId": "0989ca622a6a7e23f5af8e3bdd6f6b05",
|
|
"parameters": [
|
|
{
|
|
"name": "subnetId",
|
|
"in": "path",
|
|
"description": "The ID of the subnet",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "List of hosts in the subnet",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Host"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Error occurred",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Server error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"summary": "Update a DHCP host",
|
|
"operationId": "1541441cd53685aaf6df45ab48befaa8",
|
|
"parameters": [
|
|
{
|
|
"name": "subnetId",
|
|
"in": "path",
|
|
"description": "The ID of the subnet",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"description": "Data for the host to update",
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"host": {
|
|
"type": "string",
|
|
"example": "pc11"
|
|
},
|
|
"oldMacAddress": {
|
|
"type": "string",
|
|
"example": "56:6f:c7:4f:00:4f"
|
|
},
|
|
"oldAddress": {
|
|
"type": "string",
|
|
"example": "192.168.1.11"
|
|
},
|
|
"macAddress": {
|
|
"type": "string",
|
|
"example": "56:6f:c7:4f:01:01"
|
|
},
|
|
"address": {
|
|
"type": "string",
|
|
"example": "192.168.1.11"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "Host updated successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"success": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Error occurred",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"summary": "Add a DHCP host to a subnet",
|
|
"operationId": "3f897dcd7c04787ac9c42ddbb57cb800",
|
|
"parameters": [
|
|
{
|
|
"name": "subnetId",
|
|
"in": "path",
|
|
"description": "ID of the subnet to add the host to",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"description": "Data for the new host",
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"host": {
|
|
"type": "string",
|
|
"example": "pc11"
|
|
},
|
|
"macAddress": {
|
|
"type": "string",
|
|
"example": "56:6f:c7:4f:00:4f"
|
|
},
|
|
"address": {
|
|
"type": "string",
|
|
"example": "172.30.4.11"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "Host added successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"success": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Error occurred",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"summary": "Delete a DHCP host from a specific subnet",
|
|
"operationId": "f652c52b39d57d283401df66a7930b5f",
|
|
"parameters": [
|
|
{
|
|
"name": "subnetId",
|
|
"in": "path",
|
|
"description": "The ID of the subnet",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"description": "Data for the host to delete",
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"host": {
|
|
"type": "string",
|
|
"example": "pc11"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "Host deleted successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"success": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Error occurred",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"schemas": {
|
|
"Subnet": {
|
|
"properties": {
|
|
"id": {
|
|
"description": "The ID of the subnet",
|
|
"type": "integer"
|
|
},
|
|
"subnet": {
|
|
"description": "The name of the subnet",
|
|
"type": "string"
|
|
},
|
|
"next-server": {
|
|
"description": "The next server in the subnet",
|
|
"type": "string"
|
|
},
|
|
"boot-file-name": {
|
|
"description": "The boot file name for the subnet",
|
|
"type": "string"
|
|
},
|
|
"reservations": {
|
|
"type": "array",
|
|
"items": {
|
|
"description": "The reservations in the subnet",
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Host": {
|
|
"properties": {
|
|
"host": {
|
|
"type": "string",
|
|
"example": "pc11"
|
|
},
|
|
"macAddress": {
|
|
"type": "string",
|
|
"example": "56:6f:c7:4f:00:4f"
|
|
},
|
|
"address": {
|
|
"type": "string",
|
|
"example": "172.30.4.11"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
} |