|
45 | 45 | PermissionResetError,
|
46 | 46 | PermissionUpdateError,
|
47 | 47 | ServerAvailableOptionsGetError,
|
| 48 | + ServerCheckAvailabilityError, |
48 | 49 | ServerCurrentOptionsGetError,
|
49 | 50 | ServerDetailsError,
|
50 | 51 | ServerEchoError,
|
@@ -445,7 +446,7 @@ def set_license(self, license: str, force: bool = False) -> Result[Json]:
|
445 | 446 | :type force: bool
|
446 | 447 | :return: Server license.
|
447 | 448 | :rtype: dict
|
448 |
| - :raise arango.exceptions.ServerLicenseError: If retrieval fails. |
| 449 | + :raise arango.exceptions.ServerLicenseSetError: If retrieval fails. |
449 | 450 | """
|
450 | 451 | request = Request(
|
451 | 452 | method="put",
|
@@ -481,6 +482,25 @@ def response_handler(resp: Response) -> Json:
|
481 | 482 |
|
482 | 483 | return self._execute(request, response_handler)
|
483 | 484 |
|
| 485 | + def check_availability(self) -> Result[str]: |
| 486 | + """Return ArangoDB server availability mode. |
| 487 | +
|
| 488 | + :return: Server availability mode ("readonly" or "default"). |
| 489 | + :rtype: str |
| 490 | + :raise arango.exceptions.ServerCheckAvailabilityError: If retrieval fails. |
| 491 | + """ |
| 492 | + request = Request( |
| 493 | + method="get", |
| 494 | + endpoint="/_admin/server/availability", |
| 495 | + ) |
| 496 | + |
| 497 | + def response_handler(resp: Response) -> str: |
| 498 | + if not resp.is_success: |
| 499 | + raise ServerCheckAvailabilityError(resp, request) |
| 500 | + return str(resp.body["mode"]) |
| 501 | + |
| 502 | + return self._execute(request, response_handler) |
| 503 | + |
484 | 504 | def compact(
|
485 | 505 | self,
|
486 | 506 | change_level: Optional[bool] = None,
|
@@ -1069,6 +1089,7 @@ def metrics(self) -> Result[str]:
|
1069 | 1089 |
|
1070 | 1090 | :return: Server metrics in Prometheus format.
|
1071 | 1091 | :rtype: str
|
| 1092 | + :raise arango.exceptions.ServerMetricsError: If operation fails. |
1072 | 1093 | """
|
1073 | 1094 | request = Request(method="get", endpoint="/_admin/metrics/v2")
|
1074 | 1095 |
|
|
0 commit comments