|
14 | 14 | "type": "string",
|
15 | 15 | "pattern": "^(([a-fA-F0-9]{1,4}|):){1,7}([a-fA-F0-9]{1,4}|:)$",
|
16 | 16 | "title": "IPv6 Address",
|
17 |
| - "description": "Short IPv6 address (String) \n Accepts both full and short form addresses, link-local addresses, and IPv4-mapped addresses" |
| 17 | + "description": "Short IPv6 address (String) \nAccepts both full and short form addresses, link-local addresses, and IPv4-mapped addresses" |
18 | 18 | },
|
19 | 19 | "ipv4_cidr": {
|
20 | 20 | "type": "string",
|
21 | 21 | "pattern": "^((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])/(1[0-9]|[0-9]|2[0-9]|3[0-2])$",
|
22 | 22 | "title": "IPv4 CIDR",
|
23 |
| - "description": "IPv4 CIDR (String) \n Format: xxx.xxx.xxx.xxx/xx" |
| 23 | + "description": "IPv4 CIDR (String) \nFormat: xxx.xxx.xxx.xxx/xx" |
24 | 24 | },
|
25 | 25 | "ipv6_cidr": {
|
26 | 26 | "type": "string",
|
27 |
| - "pattern": "(([a-fA-F0-9]{1,4}|):){1,7}([a-fA-F0-9]{1,4}|:)/(32|36|40|44|48|52|56|60|64|128)$", |
28 |
| - "title": "IPv6 CIDR", |
29 |
| - "description": "Full IPv6 CIDR (String) \n Format: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/xxx" |
| 27 | + "pattern": "^(([a-fA-F0-9]{1,4}|):){1,7}([a-fA-F0-9]{1,4}|:)/(32|36|40|44|48|52|56|60|64|128)$", |
| 28 | + "description": "Full IPv6 CIDR (String) \nFormat: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/xxx" |
30 | 29 | },
|
31 | 30 | "ipv4_prefix": {
|
32 | 31 | "type": "string",
|
33 |
| - "title": "IPv4 Prefix", |
34 | 32 | "pattern": "^/(1[0-9]|[0-9]|2[0-9]|3[0-2])$",
|
35 |
| - "description": "IPv4 Prefix (String) \n Format: /xx between 0 and 32" |
| 33 | + "description": "IPv4 Prefix (String) \nFormat: /xx between 0 and 32" |
36 | 34 | },
|
37 | 35 | "ipv6_prefix": {
|
38 | 36 | "type": "string",
|
39 |
| - "title": "IPv6 Prefix", |
40 | 37 | "pattern": "^/(32|36|40|44|48|52|56|60|64|128)$",
|
41 |
| - "description": "IPv6 prefix (String) \n Format: /xx between 32 and 64 in increments of 4. also /128" |
| 38 | + "description": "IPv6 prefix (String) \nFormat: /xx between 32 and 64 in increments of 4. also /128" |
42 | 39 | },
|
43 | 40 | "domain": {
|
44 | 41 | "type": "string",
|
45 | 42 | "pattern": "^([a-zA-Z0-9-]{1,63}\\.)+[a-zA-Z]{2,63}$",
|
46 |
| - "title": "Domain Name", |
47 |
| - "description": "Domain name (String) \n Format: example.com" |
| 43 | + "description": "Domain name (String) \nFormat: example.com" |
| 44 | + }, |
| 45 | + "email": { |
| 46 | + "type": "string", |
| 47 | + "pattern": "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$", |
| 48 | + "description": "Email address (String) \nFormat: [email protected]" |
| 49 | + }, |
| 50 | + "http_url": { |
| 51 | + "type": "string", |
| 52 | + "pattern": "^(https?://)?([\\da-z.-]+)\\.([a-z.]{2,6})([/\\w .-]*)*\\??([^#\\s]*)?(#.*)?$", |
| 53 | + "description": "HTTP(s) URL (String) \nFormat: http://example.com" |
| 54 | + }, |
| 55 | + "uint16": { |
| 56 | + "type": "integer", |
| 57 | + "minimum": 0, |
| 58 | + "maximum": 65535, |
| 59 | + "description": "16-bit Unsigned Integer \nRange: 0 to 65535" |
| 60 | + }, |
| 61 | + "uint32": { |
| 62 | + "type": "integer", |
| 63 | + "minimum": 0, |
| 64 | + "maximum": 4294967295, |
| 65 | + "description": "32-bit Unsigned Integer \nRange: 0 to 4294967295" |
| 66 | + }, |
| 67 | + "uint64": { |
| 68 | + "type": "integer", |
| 69 | + "minimum": 0, |
| 70 | + "maximum": 18446744073709551615, |
| 71 | + "description": "64-bit Unsigned Integer \nRange: 0 to 18446744073709551615" |
| 72 | + }, |
| 73 | + "mtu": { |
| 74 | + "type": "integer", |
| 75 | + "minimum": 68, |
| 76 | + "maximum": 9192, |
| 77 | + "description": "Maximum Transmission Unit (MTU) \nRange: 68 to 9192" |
| 78 | + }, |
| 79 | + "mac": { |
| 80 | + "type": "string", |
| 81 | + "pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$", |
| 82 | + "description": "MAC Address (String) \nFormat: xx:xx:xx:xx:xx:xx" |
| 83 | + }, |
| 84 | + "mac_dot": { |
| 85 | + "type": "string", |
| 86 | + "pattern": "^([0-9A-Fa-f]{4}[.]){2}([0-9A-Fa-f]{4})$", |
| 87 | + "description": "MAC Address with dots (String) \nFormat: xxxx.xxxx.xxxx" |
| 88 | + }, |
| 89 | + "vlan": { |
| 90 | + "type": "integer", |
| 91 | + "minimum": 1, |
| 92 | + "maximum": 4094, |
| 93 | + "description": "VLAN ID (Integer) \nRange: 1 to 4094" |
| 94 | + }, |
| 95 | + "docker_image": { |
| 96 | + "type": "string", |
| 97 | + "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$", |
| 98 | + "description": "Docker Image Name (String) \nFormat: alpine:latest" |
48 | 99 | },
|
49 | 100 | "hostname": {
|
50 | 101 | "title": "Hostname",
|
|
57 | 108 | "additionalProperties": false,
|
58 | 109 | "properties": {
|
59 | 110 | "chassis": {
|
| 111 | + "type": "object", |
| 112 | + "additionalProperties": false, |
60 | 113 | "title": "Chassis",
|
61 | 114 | "description": "Object containing Chassis information. Has the below properties: \nhostname [required]: hostname\nmodel [required]: string\ndevice_type [required]: choice (router, switch, firewall, load-balancer)\n",
|
62 |
| - "type": "object", |
63 | 115 | "properties": {
|
64 | 116 | "hostname": {
|
| 117 | + "title": "hostname", |
65 | 118 | "$ref": "#/$defs/hostname"
|
66 | 119 | },
|
67 | 120 | "model": {
|
68 |
| - "type": "string", |
69 | 121 | "title": "model",
|
| 122 | + "type": "string", |
70 | 123 | "description": "String"
|
71 | 124 | },
|
72 | 125 | "device_type": {
|
73 |
| - "title": "Device Type", |
74 |
| - "description": "Device Type options are:\nrouter, switch, firewall, load-balancer\n", |
| 126 | + "title": "device_type", |
75 | 127 | "enum": [
|
76 | 128 | "router",
|
77 | 129 | "switch",
|
|
87 | 139 | ]
|
88 | 140 | },
|
89 | 141 | "system": {
|
| 142 | + "type": "object", |
| 143 | + "additionalProperties": false, |
90 | 144 | "title": "System",
|
91 | 145 | "description": "Object containing System information. Has the below properties:\ndomain_name [required]: string\nntp_servers [required]: list of ipv4 addresses\n",
|
92 |
| - "type": "object", |
93 | 146 | "properties": {
|
94 | 147 | "domain_name": {
|
95 |
| - "type": "string", |
96 | 148 | "title": "domain_name",
|
| 149 | + "type": "string", |
97 | 150 | "description": "String"
|
98 | 151 | },
|
99 | 152 | "ntp_servers": {
|
| 153 | + "type": "array", |
100 | 154 | "title": "NTP Servers",
|
101 | 155 | "description": "List of NTP servers",
|
102 |
| - "type": "array", |
103 | 156 | "items": {
|
| 157 | + "title": "items", |
104 | 158 | "$ref": "#/$defs/ipv4"
|
105 | 159 | }
|
106 | 160 | }
|
|
111 | 165 | ]
|
112 | 166 | },
|
113 | 167 | "interfaces": {
|
| 168 | + "type": "array", |
114 | 169 | "title": "Device Interfaces",
|
115 | 170 | "description": "List of device interfaces. Each interface has the below properties:\nif [required]: string\ndesc: string\nipv4: ipv4_cidr\nipv6: ipv6_cidr\n",
|
116 |
| - "type": "array", |
117 | 171 | "items": {
|
118 | 172 | "type": "object",
|
| 173 | + "additionalProperties": false, |
119 | 174 | "properties": {
|
120 | 175 | "if": {
|
121 |
| - "type": "string", |
122 | 176 | "title": "if",
|
| 177 | + "type": "string", |
123 | 178 | "description": "String"
|
124 | 179 | },
|
125 | 180 | "desc": {
|
126 |
| - "type": "string", |
127 | 181 | "title": "desc",
|
| 182 | + "type": "string", |
128 | 183 | "description": "String"
|
129 | 184 | },
|
130 | 185 | "ipv4": {
|
| 186 | + "title": "ipv4", |
131 | 187 | "$ref": "#/$defs/ipv4_cidr"
|
132 | 188 | },
|
133 | 189 | "ipv6": {
|
| 190 | + "title": "ipv6", |
134 | 191 | "$ref": "#/$defs/ipv6_cidr"
|
135 | 192 | }
|
136 | 193 | },
|
|
0 commit comments