|
1205 | 1205 | ], |
1206 | 1206 | "type": "object" |
1207 | 1207 | }, |
| 1208 | + "dnslookup.LookupResponse": { |
| 1209 | + "properties": { |
| 1210 | + "message": { |
| 1211 | + "example": "Success", |
| 1212 | + "type": "string" |
| 1213 | + }, |
| 1214 | + "state": { |
| 1215 | + "items": { |
| 1216 | + "$ref": "#/components/schemas/dnslookup_models.LookupResult" |
| 1217 | + }, |
| 1218 | + "type": "array" |
| 1219 | + } |
| 1220 | + }, |
| 1221 | + "type": "object" |
| 1222 | + }, |
| 1223 | + "dnslookupPayload": { |
| 1224 | + "properties": { |
| 1225 | + "address": { |
| 1226 | + "description": "Address is the domain name to look up", |
| 1227 | + "example": "stackit.cloud", |
| 1228 | + "type": "string" |
| 1229 | + }, |
| 1230 | + "includeRawResponse": { |
| 1231 | + "default": false, |
| 1232 | + "description": "IncludeRawResponse indicates whether to include the raw DNS response in the result", |
| 1233 | + "example": false, |
| 1234 | + "type": "boolean" |
| 1235 | + }, |
| 1236 | + "recordType": { |
| 1237 | + "default": "A", |
| 1238 | + "description": "RecordType specifies the DNS record type to query (A, AAAA, MX, etc.)\nIf omitted, defaults to ANY records", |
| 1239 | + "enum": [ |
| 1240 | + "A", |
| 1241 | + "AAAA", |
| 1242 | + "SOA", |
| 1243 | + "CNAME", |
| 1244 | + "NS", |
| 1245 | + "MX", |
| 1246 | + "TXT", |
| 1247 | + "SRV", |
| 1248 | + "PTR", |
| 1249 | + "ALIAS", |
| 1250 | + "DNAME", |
| 1251 | + "CAA", |
| 1252 | + "DNSKEY", |
| 1253 | + "DS", |
| 1254 | + "LOC", |
| 1255 | + "NAPTR", |
| 1256 | + "SSHFP", |
| 1257 | + "TLSA", |
| 1258 | + "URI", |
| 1259 | + "CERT", |
| 1260 | + "SVCB", |
| 1261 | + "TYPE", |
| 1262 | + "CSYNC", |
| 1263 | + "HINFO", |
| 1264 | + "HTTPS", |
| 1265 | + "ANY" |
| 1266 | + ], |
| 1267 | + "example": "A", |
| 1268 | + "type": "string" |
| 1269 | + }, |
| 1270 | + "region": { |
| 1271 | + "description": "Region optionally specifies a STACKIT region to scope the DNS lookup", |
| 1272 | + "example": "eu01", |
| 1273 | + "type": "string" |
| 1274 | + }, |
| 1275 | + "type": { |
| 1276 | + "default": "one", |
| 1277 | + "description": "Type specifies whether to query all configured resolvers or just one\n\"one\" - query a single resolver chosen by round-robin (default)\n\"all\" - query all configured resolvers", |
| 1278 | + "enum": [ |
| 1279 | + "all", |
| 1280 | + "one" |
| 1281 | + ], |
| 1282 | + "example": "one", |
| 1283 | + "type": "string" |
| 1284 | + } |
| 1285 | + }, |
| 1286 | + "type": "object" |
| 1287 | + }, |
| 1288 | + "dnslookup_models.LookupRecord": { |
| 1289 | + "properties": { |
| 1290 | + "data": { |
| 1291 | + "description": "Data contains the record-specific data (e.g., IP address for A records)", |
| 1292 | + "example": "192.0.2.1", |
| 1293 | + "type": "string" |
| 1294 | + }, |
| 1295 | + "name": { |
| 1296 | + "description": "Name is the domain name to which this record applies", |
| 1297 | + "example": "example.com", |
| 1298 | + "type": "string" |
| 1299 | + }, |
| 1300 | + "ttl": { |
| 1301 | + "description": "TTL (Time To Live) is the duration in seconds that the record may be cached", |
| 1302 | + "example": 3600, |
| 1303 | + "type": "integer" |
| 1304 | + }, |
| 1305 | + "type": { |
| 1306 | + "description": "Type is the DNS record type (A, AAAA, MX, etc.)", |
| 1307 | + "enum": [ |
| 1308 | + "A", |
| 1309 | + "AAAA", |
| 1310 | + "SOA", |
| 1311 | + "CNAME", |
| 1312 | + "NS", |
| 1313 | + "MX", |
| 1314 | + "TXT", |
| 1315 | + "SRV", |
| 1316 | + "PTR", |
| 1317 | + "ALIAS", |
| 1318 | + "DNAME", |
| 1319 | + "CAA", |
| 1320 | + "DNSKEY", |
| 1321 | + "DS", |
| 1322 | + "LOC", |
| 1323 | + "NAPTR", |
| 1324 | + "SSHFP", |
| 1325 | + "TLSA", |
| 1326 | + "URI", |
| 1327 | + "CERT", |
| 1328 | + "SVCB", |
| 1329 | + "TYPE", |
| 1330 | + "CSYNC", |
| 1331 | + "HINFO", |
| 1332 | + "HTTPS" |
| 1333 | + ], |
| 1334 | + "example": "A", |
| 1335 | + "type": "string" |
| 1336 | + } |
| 1337 | + }, |
| 1338 | + "type": "object" |
| 1339 | + }, |
| 1340 | + "dnslookup_models.LookupResult": { |
| 1341 | + "properties": { |
| 1342 | + "rawResponse": { |
| 1343 | + "description": "RawResponse contains the raw DNS response in a human-readable format (only included when requested)", |
| 1344 | + "type": "string" |
| 1345 | + }, |
| 1346 | + "records": { |
| 1347 | + "description": "Records contains the DNS records returned by the lookup", |
| 1348 | + "items": { |
| 1349 | + "$ref": "#/components/schemas/dnslookup_models.LookupRecord" |
| 1350 | + }, |
| 1351 | + "type": "array" |
| 1352 | + }, |
| 1353 | + "resolverIP": { |
| 1354 | + "description": "ResolverIP is the IP address of the DNS resolver used for the query", |
| 1355 | + "example": "192.0.2.1", |
| 1356 | + "type": "string" |
| 1357 | + } |
| 1358 | + }, |
| 1359 | + "type": "object" |
| 1360 | + }, |
1208 | 1361 | "domain.Extensions": { |
1209 | 1362 | "properties": { |
1210 | 1363 | "observabilityExtension": { |
|
1232 | 1385 | ], |
1233 | 1386 | "type": "object" |
1234 | 1387 | }, |
| 1388 | + "flush.CreateFlushResponse": { |
| 1389 | + "properties": { |
| 1390 | + "message": { |
| 1391 | + "example": "Success", |
| 1392 | + "type": "string" |
| 1393 | + } |
| 1394 | + }, |
| 1395 | + "type": "object" |
| 1396 | + }, |
| 1397 | + "flushPayload": { |
| 1398 | + "properties": { |
| 1399 | + "domain": { |
| 1400 | + "example": "example.com", |
| 1401 | + "type": "string" |
| 1402 | + }, |
| 1403 | + "type": { |
| 1404 | + "enum": [ |
| 1405 | + "A", |
| 1406 | + "AAAA", |
| 1407 | + "SOA", |
| 1408 | + "CNAME", |
| 1409 | + "NS", |
| 1410 | + "MX", |
| 1411 | + "TXT", |
| 1412 | + "SRV", |
| 1413 | + "PTR", |
| 1414 | + "DNAME", |
| 1415 | + "CAA", |
| 1416 | + "DNSKEY", |
| 1417 | + "DS", |
| 1418 | + "LOC", |
| 1419 | + "NAPTR", |
| 1420 | + "SSHFP", |
| 1421 | + "TLSA", |
| 1422 | + "URI", |
| 1423 | + "CERT", |
| 1424 | + "SVCB", |
| 1425 | + "CSYNC", |
| 1426 | + "HINFO", |
| 1427 | + "HTTPS" |
| 1428 | + ], |
| 1429 | + "example": "A", |
| 1430 | + "type": "string" |
| 1431 | + } |
| 1432 | + }, |
| 1433 | + "required": [ |
| 1434 | + "domain" |
| 1435 | + ], |
| 1436 | + "type": "object" |
| 1437 | + }, |
1235 | 1438 | "zone.Extensions": { |
1236 | 1439 | "properties": { |
1237 | 1440 | "observabilityExtension": { |
|
1307 | 1510 | }, |
1308 | 1511 | "openapi": "3.0.1", |
1309 | 1512 | "paths": { |
| 1513 | + "/v1/dnslookup": { |
| 1514 | + "post": { |
| 1515 | + "description": "allows the user to lookup a domain on the STACKIT DNS Resolvers", |
| 1516 | + "operationId": "dnslookup", |
| 1517 | + "requestBody": { |
| 1518 | + "content": { |
| 1519 | + "application/json": { |
| 1520 | + "schema": { |
| 1521 | + "$ref": "#/components/schemas/dnslookupPayload" |
| 1522 | + } |
| 1523 | + } |
| 1524 | + }, |
| 1525 | + "description": "records to lookup", |
| 1526 | + "required": true |
| 1527 | + }, |
| 1528 | + "responses": { |
| 1529 | + "200": { |
| 1530 | + "content": { |
| 1531 | + "application/json": { |
| 1532 | + "schema": { |
| 1533 | + "$ref": "#/components/schemas/dnslookup.LookupResponse" |
| 1534 | + } |
| 1535 | + } |
| 1536 | + }, |
| 1537 | + "description": "OK" |
| 1538 | + }, |
| 1539 | + "400": { |
| 1540 | + "content": { |
| 1541 | + "application/json": { |
| 1542 | + "schema": { |
| 1543 | + "$ref": "#/components/schemas/Message" |
| 1544 | + } |
| 1545 | + } |
| 1546 | + }, |
| 1547 | + "description": "Bad Request" |
| 1548 | + }, |
| 1549 | + "401": { |
| 1550 | + "content": { |
| 1551 | + "application/json": { |
| 1552 | + "schema": { |
| 1553 | + "$ref": "#/components/schemas/ErrorMessage" |
| 1554 | + } |
| 1555 | + } |
| 1556 | + }, |
| 1557 | + "description": "Unauthorized" |
| 1558 | + }, |
| 1559 | + "502": { |
| 1560 | + "content": { |
| 1561 | + "application/json": { |
| 1562 | + "schema": { |
| 1563 | + "$ref": "#/components/schemas/Message" |
| 1564 | + } |
| 1565 | + } |
| 1566 | + }, |
| 1567 | + "description": "Bad Gateway" |
| 1568 | + } |
| 1569 | + }, |
| 1570 | + "summary": "DNS Lookup Route", |
| 1571 | + "x-stackit-authorization": { |
| 1572 | + "disabled": true |
| 1573 | + } |
| 1574 | + } |
| 1575 | + }, |
1310 | 1576 | "/v1/projects/{projectId}/move-zone": { |
1311 | 1577 | "post": { |
1312 | 1578 | "description": "move zone from one project to another", |
|
4523 | 4789 | } |
4524 | 4790 | } |
4525 | 4791 | } |
| 4792 | + }, |
| 4793 | + "/v1/resolver/flush": { |
| 4794 | + "post": { |
| 4795 | + "description": "allows the user to flush the cache for a domain on the STACKIT DNS Resolvers", |
| 4796 | + "operationId": "flush", |
| 4797 | + "requestBody": { |
| 4798 | + "content": { |
| 4799 | + "application/json": { |
| 4800 | + "schema": { |
| 4801 | + "$ref": "#/components/schemas/flushPayload" |
| 4802 | + } |
| 4803 | + } |
| 4804 | + }, |
| 4805 | + "description": "domain to flush", |
| 4806 | + "required": true |
| 4807 | + }, |
| 4808 | + "responses": { |
| 4809 | + "202": { |
| 4810 | + "content": { |
| 4811 | + "application/json": { |
| 4812 | + "schema": { |
| 4813 | + "$ref": "#/components/schemas/flush.CreateFlushResponse" |
| 4814 | + } |
| 4815 | + } |
| 4816 | + }, |
| 4817 | + "description": "Accepted" |
| 4818 | + }, |
| 4819 | + "400": { |
| 4820 | + "content": { |
| 4821 | + "application/json": { |
| 4822 | + "schema": { |
| 4823 | + "$ref": "#/components/schemas/Message" |
| 4824 | + } |
| 4825 | + } |
| 4826 | + }, |
| 4827 | + "description": "Bad Request" |
| 4828 | + }, |
| 4829 | + "401": { |
| 4830 | + "content": { |
| 4831 | + "application/json": { |
| 4832 | + "schema": { |
| 4833 | + "$ref": "#/components/schemas/ErrorMessage" |
| 4834 | + } |
| 4835 | + } |
| 4836 | + }, |
| 4837 | + "description": "Unauthorized" |
| 4838 | + }, |
| 4839 | + "502": { |
| 4840 | + "content": { |
| 4841 | + "application/json": { |
| 4842 | + "schema": { |
| 4843 | + "$ref": "#/components/schemas/Message" |
| 4844 | + } |
| 4845 | + } |
| 4846 | + }, |
| 4847 | + "description": "Bad Gateway" |
| 4848 | + } |
| 4849 | + }, |
| 4850 | + "summary": "Flush Route", |
| 4851 | + "x-stackit-authorization": { |
| 4852 | + "disabled": true |
| 4853 | + } |
| 4854 | + } |
4526 | 4855 | } |
4527 | 4856 | }, |
4528 | 4857 | "security": [ |
|
0 commit comments