{ "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" } } } }