342 lines
9.3 KiB
YAML
342 lines
9.3 KiB
YAML
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
|