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