diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d5646ee69..32a53eef6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,7 +26,8 @@ jobs: package-manager: uv packages: gvm tests python-version: ${{ matrix.python-version }} - linter: ruff check + linter: ruff check --diff + formatter: ruff format --check --diff test: name: Run tests diff --git a/docs/conf.py b/docs/conf.py index a750be7f7..e140a06e7 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # # Configuration file for the Sphinx documentation builder. # @@ -14,20 +13,20 @@ # # pylint: disable=invalid-name,redefined-builtin,wrong-import-position -import os import sys from datetime import datetime +from pathlib import Path -sys.path.insert(0, os.path.abspath("..")) +sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) -import gvm # noqa: E402 +import gvm # -- Project information ----------------------------------------------------- year = datetime.now().year project = "python-gvm" -copyright = f"2018 - {year}, Greenbone AG" +copyright = f"2018 - {year}, Greenbone AG" # noqa: A001 author = "Greenbone AG" # The short X.Y version diff --git a/gvm/_enum.py b/gvm/_enum.py index 5a7c8d19c..ac649d5b4 100644 --- a/gvm/_enum.py +++ b/gvm/_enum.py @@ -4,7 +4,7 @@ # from enum import Enum as PythonEnum -from typing import Any, Optional, Type, TypeVar +from typing import Any, TypeVar from gvm.errors import InvalidArgument @@ -17,16 +17,16 @@ class Enum(PythonEnum): """ @classmethod - def _missing_(cls: Type[Self], value: Any) -> Optional[Self]: + def _missing_(cls: type[Self], value: Any) -> Self | None: if isinstance(value, PythonEnum): return cls.from_string(value.name) return cls.from_string(str(value) if value else None) @classmethod def from_string( - cls: Type[Self], - value: Optional[str], - ) -> Optional[Self]: + cls: type[Self], + value: str | None, + ) -> Self | None: """ Convert a string value into an Enum instance diff --git a/gvm/connections/__init__.py b/gvm/connections/__init__.py index 69cef9ce4..9ecfe79e2 100644 --- a/gvm/connections/__init__.py +++ b/gvm/connections/__init__.py @@ -16,14 +16,14 @@ from ._unix import DEFAULT_UNIX_SOCKET_PATH, UnixSocketConnection __all__ = ( - "DEFAULT_TIMEOUT", - "DEFAULT_UNIX_SOCKET_PATH", "DEFAULT_GVM_PORT", "DEFAULT_HOSTNAME", "DEFAULT_KNOWN_HOSTS_FILE", "DEFAULT_SSH_PASSWORD", - "DEFAULT_SSH_USERNAME", "DEFAULT_SSH_PORT", + "DEFAULT_SSH_USERNAME", + "DEFAULT_TIMEOUT", + "DEFAULT_UNIX_SOCKET_PATH", "DebugConnection", "GvmConnection", "SSHConnection", diff --git a/gvm/connections/_connection.py b/gvm/connections/_connection.py index 6a8bb8dc1..e4b3bba91 100644 --- a/gvm/connections/_connection.py +++ b/gvm/connections/_connection.py @@ -6,7 +6,7 @@ import socket as socketlib from abc import ABC, abstractmethod from time import time -from typing import Optional, Protocol, Union, runtime_checkable +from typing import Protocol, runtime_checkable from gvm.errors import GvmError @@ -62,8 +62,8 @@ class AbstractGvmConnection(ABC): wait indefinitely """ - def __init__(self, timeout: Optional[Union[int, float]] = DEFAULT_TIMEOUT): - self._socket: Optional[socketlib.SocketType] = None + def __init__(self, timeout: int | float | None = DEFAULT_TIMEOUT): + self._socket: socketlib.SocketType | None = None self._timeout = timeout if timeout is not None else DEFAULT_TIMEOUT def _read(self) -> bytes: diff --git a/gvm/connections/_debug.py b/gvm/connections/_debug.py index f30772f23..a81906ae0 100644 --- a/gvm/connections/_debug.py +++ b/gvm/connections/_debug.py @@ -26,7 +26,7 @@ class DebugConnection: logging.basicConfig(level=logging.DEBUG) - socket_connection = UnixSocketConnection(path='/var/run/gvm.sock') + socket_connection = UnixSocketConnection(path="/var/run/gvm.sock") connection = DebugConnection(socket_connection) gmp = GMP(connection=connection) """ diff --git a/gvm/connections/_ssh.py b/gvm/connections/_ssh.py index f82ef80eb..47c9ca3aa 100644 --- a/gvm/connections/_ssh.py +++ b/gvm/connections/_ssh.py @@ -8,10 +8,11 @@ import logging import socket as socketlib import sys +from collections.abc import Callable from os import PathLike from pathlib import Path from time import time -from typing import Any, Callable, Optional, TextIO, Union +from typing import Any, TextIO import paramiko import paramiko.ssh_exception @@ -39,16 +40,16 @@ class SSHConnection: def __init__( self, *, - timeout: Optional[Union[int, float]] = DEFAULT_TIMEOUT, - hostname: Optional[str] = DEFAULT_HOSTNAME, - port: Optional[int] = DEFAULT_SSH_PORT, - username: Optional[str] = DEFAULT_SSH_USERNAME, - password: Optional[str] = DEFAULT_SSH_PASSWORD, - known_hosts_file: Optional[Union[str, PathLike]] = None, - auto_accept_host: Optional[bool] = None, + timeout: int | float | None = DEFAULT_TIMEOUT, + hostname: str | None = DEFAULT_HOSTNAME, + port: int | None = DEFAULT_SSH_PORT, + username: str | None = DEFAULT_SSH_USERNAME, + password: str | None = DEFAULT_SSH_PASSWORD, + known_hosts_file: str | PathLike | None = None, + auto_accept_host: bool | None = None, file: TextIO = sys.stdout, - input: Callable[[], str] = input, - exit: Callable[[str], Any] = sys.exit, + input: Callable[[], str] = input, # noqa: A002 + exit: Callable[[str], Any] = sys.exit, # noqa: A002 ) -> None: """ Create a new SSH connection instance. @@ -61,7 +62,7 @@ def __init__( username: Username to use for SSH login. Default is "gmp". password: Password to use for SSH login. Default is "". """ - self._client: Optional[paramiko.SSHClient] = None + self._client: paramiko.SSHClient | None = None self.hostname = hostname if hostname is not None else DEFAULT_HOSTNAME self.port = int(port) if port is not None else DEFAULT_SSH_PORT self.username = ( @@ -118,8 +119,7 @@ def _auto_accept_host( key_type = key.get_name().replace("ssh-", "").upper() logger.info( - "Warning: Permanently added '%s' (%s) to " - "the list of known hosts.", + "Warning: Permanently added '%s' (%s) to the list of known hosts.", self.hostname, key_type, ) @@ -135,8 +135,7 @@ def _ssh_authentication_input_loop( key_type = key.get_name().replace("ssh-", "").upper() print( - f"The authenticity of host '{self.hostname}' can't " - "be established.", + f"The authenticity of host '{self.hostname}' can't be established.", file=self._file, ) print( diff --git a/gvm/connections/_tls.py b/gvm/connections/_tls.py index f0fc1e1f1..3a8b178eb 100644 --- a/gvm/connections/_tls.py +++ b/gvm/connections/_tls.py @@ -5,7 +5,6 @@ import logging import socket as socketlib import ssl -from typing import Optional, Union from ._connection import DEFAULT_TIMEOUT, AbstractGvmConnection @@ -25,13 +24,13 @@ class TLSConnection(AbstractGvmConnection): def __init__( self, *, - certfile: Optional[str] = None, - cafile: Optional[str] = None, - keyfile: Optional[str] = None, - hostname: Optional[str] = DEFAULT_HOSTNAME, - port: Optional[int] = DEFAULT_GVM_PORT, - password: Optional[str] = None, - timeout: Optional[Union[int, float]] = DEFAULT_TIMEOUT, + certfile: str | None = None, + cafile: str | None = None, + keyfile: str | None = None, + hostname: str | None = DEFAULT_HOSTNAME, + port: int | None = DEFAULT_GVM_PORT, + password: str | None = None, + timeout: int | float | None = DEFAULT_TIMEOUT, ) -> None: """ Create a new TLSConnection instance. diff --git a/gvm/connections/_unix.py b/gvm/connections/_unix.py index 8224d8619..c03056054 100644 --- a/gvm/connections/_unix.py +++ b/gvm/connections/_unix.py @@ -4,7 +4,6 @@ import socket as socketlib from os import PathLike, fspath -from typing import Optional, Union from gvm.errors import GvmError @@ -22,8 +21,8 @@ class UnixSocketConnection(AbstractGvmConnection): def __init__( self, *, - path: Optional[Union[str, PathLike[str]]] = DEFAULT_UNIX_SOCKET_PATH, - timeout: Optional[Union[int, float]] = DEFAULT_TIMEOUT, + path: str | PathLike[str] | None = DEFAULT_UNIX_SOCKET_PATH, + timeout: int | float | None = DEFAULT_TIMEOUT, ) -> None: """ Create a new UnixSocketConnection instance. diff --git a/gvm/errors.py b/gvm/errors.py index cdb715832..b740dc00d 100644 --- a/gvm/errors.py +++ b/gvm/errors.py @@ -6,8 +6,6 @@ Module for GVM errors """ -from typing import Optional - class GvmError(Exception): """An exception for gvm errors @@ -15,7 +13,7 @@ class GvmError(Exception): Base class for all exceptions originating in python-gvm. """ - def __init__(self, message: Optional[str], *args): + def __init__(self, message: str | None, *args): super().__init__(message, *args) self.message = message @@ -44,9 +42,7 @@ class GvmServerError(GvmError): and function """ - def __init__( - self, status: Optional[str] = None, message: Optional[str] = None - ): + def __init__(self, status: str | None = None, message: str | None = None): super().__init__(message, status) self.status = status @@ -71,9 +67,7 @@ class GvmResponseError(GvmClientError): and function """ - def __init__( - self, status: Optional[str] = None, message: Optional[str] = None - ): + def __init__(self, status: str | None = None, message: str | None = None): super().__init__(message, status) self.status = status @@ -87,7 +81,7 @@ def __repr__(self): ) -class InvalidArgument(GvmError): +class InvalidArgument(GvmError): # noqa: N818 """Raised if an invalid argument/parameter is passed Derives from :py:class:`GvmError` @@ -101,10 +95,10 @@ class InvalidArgument(GvmError): def __init__( self, - message: Optional[str] = None, + message: str | None = None, *, - argument: Optional[str] = None, - function: Optional[str] = None, + argument: str | None = None, + function: str | None = None, ): super().__init__(message, argument, function) self.argument = argument @@ -123,7 +117,7 @@ def __str__(self): return f"Invalid argument {self.argument} for {self.function}" -class InvalidArgumentType(GvmError): +class InvalidArgumentType(GvmError): # noqa: N818 """Raised if a passed argument has an invalid type Derives from :py:class:`GvmError` @@ -138,8 +132,8 @@ def __init__( self, argument: str, *, - arg_type: Optional[str] = None, - function: Optional[str] = None, + arg_type: str | None = None, + function: str | None = None, ): super().__init__(None) self.argument = argument @@ -165,7 +159,7 @@ def __str__(self): return f"Invalid argument type for argument {self.argument}." -class RequiredArgument(GvmError): +class RequiredArgument(GvmError): # noqa: N818 """Raised if a required argument/parameter is missing Derives from :py:class:`GvmError` @@ -179,10 +173,10 @@ class RequiredArgument(GvmError): def __init__( self, - message: Optional[str] = None, + message: str | None = None, *, - argument: Optional[str] = None, - function: Optional[str] = None, + argument: str | None = None, + function: str | None = None, ): super().__init__(message, argument, function) self.argument = argument diff --git a/gvm/protocols/_protocol.py b/gvm/protocols/_protocol.py index ab37b91b0..a4e1eb2b2 100644 --- a/gvm/protocols/_protocol.py +++ b/gvm/protocols/_protocol.py @@ -2,8 +2,9 @@ # # SPDX-License-Identifier: GPL-3.0-or-later +from collections.abc import Callable from types import TracebackType -from typing import Callable, Generic, Optional, Type, TypeVar +from typing import Generic, TypeVar from gvm.connections import GvmConnection @@ -50,9 +51,9 @@ def __enter__(self: Self) -> Self: def __exit__( self, - exc_type: Optional[Type[BaseException]], - exc_value: Optional[BaseException], - traceback: Optional[TracebackType], + exc_type: type[BaseException] | None, + exc_value: BaseException | None, + traceback: TracebackType | None, ) -> None: self.disconnect() @@ -126,7 +127,7 @@ def _send_request(self, request: Request) -> Response: try: send_data = self._protocol.send(request) self._send(send_data) - response: Optional[Response] = None + response: Response | None = None while not response: received_data = self._read() response = self._protocol.receive_data(received_data) diff --git a/gvm/protocols/core/_connection.py b/gvm/protocols/core/_connection.py index 8b679acea..3d7323864 100644 --- a/gvm/protocols/core/_connection.py +++ b/gvm/protocols/core/_connection.py @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import AnyStr, Optional, Protocol +from typing import AnyStr, Protocol from lxml import etree @@ -18,7 +18,7 @@ class XmlReader: """ def start_xml(self) -> None: - self._first_element: Optional[etree._Element] = None + self._first_element: etree._Element | None = None # act on start and end element events and # allow huge text data (for report content) self._parser = etree.XMLPullParser( @@ -60,7 +60,7 @@ def __init__(self, message: str = "Invalid State", *args): class State(Protocol): def __set_context__(self, context: "Context") -> None: ... def send(self, request: Request) -> bytes: ... - def receive_data(self, data: bytes) -> Optional[Response]: ... + def receive_data(self, data: bytes) -> Response | None: ... def close(self) -> None: ... @@ -83,7 +83,7 @@ def send(self, request: Request) -> bytes: self.set_next_state(AwaitingResponseState(request)) return bytes(request) - def receive_data(self, data: bytes) -> Optional[Response]: + def receive_data(self, data: bytes) -> Response | None: raise InvalidStateError() def close(self) -> None: @@ -101,7 +101,7 @@ def send(self, request: Request) -> bytes: def close(self) -> None: self.set_next_state(InitialState()) - def receive_data(self, data: bytes) -> Optional[Response]: + def receive_data(self, data: bytes) -> Response | None: next_state = ReceivingDataState(self._request) self.set_next_state(next_state) return next_state.receive_data(data) @@ -118,7 +118,7 @@ def send(self, request: Request) -> bytes: def close(self) -> None: self.set_next_state(InitialState()) - def receive_data(self, data: bytes) -> Optional[Response]: + def receive_data(self, data: bytes) -> Response | None: raise InvalidStateError(self.message) @@ -135,7 +135,7 @@ def send(self, request: Request) -> bytes: def close(self) -> None: self.set_next_state(InitialState()) - def receive_data(self, data: bytes) -> Optional[Response]: + def receive_data(self, data: bytes) -> Response | None: self._data += data try: self._reader.feed_xml(data) @@ -174,7 +174,7 @@ def send(self, request: Request) -> bytes: """ return self._state.send(request) - def receive_data(self, data: bytes) -> Optional[Response]: + def receive_data(self, data: bytes) -> Response | None: """ Feed received data a response is complete diff --git a/gvm/protocols/core/_response.py b/gvm/protocols/core/_response.py index 9aefa1661..d00cdea10 100644 --- a/gvm/protocols/core/_response.py +++ b/gvm/protocols/core/_response.py @@ -3,7 +3,7 @@ # SPDX-License-Identifier: GPL-3.0-or-later from functools import cached_property -from typing import Optional, TypeVar +from typing import TypeVar from gvm.errors import GvmError from gvm.xml import Element, parse_xml @@ -18,7 +18,7 @@ class StatusError(GvmError): May be raised when calling `response.raise_for_status()` """ - def __init__(self, message: Optional[str], *args, response: "Response"): + def __init__(self, message: str | None, *args, response: "Response"): super().__init__(message, *args) self.response = response self.request = response.request @@ -42,7 +42,7 @@ def __init__(self, *, request: Request, data: bytes) -> None: """ self._request = request self._data = data - self.__xml: Optional[Element] = None + self.__xml: Element | None = None def __root_element(self) -> Element: if self.__xml is None: @@ -72,7 +72,7 @@ def request(self) -> Request: return self._request @cached_property - def status_code(self) -> Optional[int]: + def status_code(self) -> int | None: """ The status code of the response diff --git a/gvm/protocols/gmp/__init__.py b/gvm/protocols/gmp/__init__.py index 44f324e8a..99f664a0f 100644 --- a/gvm/protocols/gmp/__init__.py +++ b/gvm/protocols/gmp/__init__.py @@ -30,10 +30,10 @@ __all__ = ( "GMP", - "Gmp", + "GMPNext", "GMPv224", "GMPv225", "GMPv226", "GMPv227", - "GMPNext", + "Gmp", ) diff --git a/gvm/protocols/gmp/_gmp.py b/gvm/protocols/gmp/_gmp.py index 3e4dcba93..73ba9dfd4 100644 --- a/gvm/protocols/gmp/_gmp.py +++ b/gvm/protocols/gmp/_gmp.py @@ -3,8 +3,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later import warnings +from collections.abc import Callable from types import TracebackType -from typing import Callable, Optional, Type, Union from gvm.__version__ import __version__ from gvm.connections import GvmConnection @@ -19,9 +19,9 @@ from ._gmpnext import GMPNext from .requests import Version -SUPPORTED_GMP_VERSIONS = Union[ - GMPv224[T], GMPv225[T], GMPv226[T], GMPv227[T], GMPNext[T] -] +SUPPORTED_GMP_VERSIONS = ( + GMPv224[T] | GMPv225[T] | GMPv226[T] | GMPv227[T] | GMPNext[T] +) _SUPPORTED_GMP_VERSION_STRINGS = ["22.4", "22.5", "22.6", "22.7", "22.8"] @@ -67,7 +67,7 @@ def __init__( See :mod:`gvm.transforms` for existing transforms. """ super().__init__(connection, transform=transform) - self._gmp: Optional[SUPPORTED_GMP_VERSIONS] = None + self._gmp: SUPPORTED_GMP_VERSIONS | None = None def determine_remote_gmp_version(self) -> str: """Determine the supported GMP version of the remote daemon""" @@ -131,9 +131,9 @@ def __enter__(self) -> SUPPORTED_GMP_VERSIONS: # type: ignore[override] def __exit__( self, - exc_type: Optional[Type[BaseException]], - exc_value: Optional[BaseException], - traceback: Optional[TracebackType], + exc_type: type[BaseException] | None, + exc_value: BaseException | None, + traceback: TracebackType | None, ) -> None: if self._gmp: self._gmp.disconnect() diff --git a/gvm/protocols/gmp/_gmp224.py b/gvm/protocols/gmp/_gmp224.py index 3571db249..bc263e863 100644 --- a/gvm/protocols/gmp/_gmp224.py +++ b/gvm/protocols/gmp/_gmp224.py @@ -6,7 +6,7 @@ Greenbone Management Protocol (GMP) version 22.4 """ -from typing import Iterable, Mapping, Optional, Sequence, Union +from collections.abc import Iterable, Mapping, Sequence from gvm.utils import SupportsStr, to_dotted_types_dict @@ -216,7 +216,7 @@ def clone_port_list(self, port_list_id: EntityID) -> T: ) def create_port_list( - self, name: str, port_range: str, *, comment: Optional[str] = None + self, name: str, port_range: str, *, comment: str | None = None ) -> T: """Create a new port list @@ -235,9 +235,9 @@ def create_port_range( port_list_id: EntityID, start: int, end: int, - port_range_type: Union[str, PortRangeType], + port_range_type: str | PortRangeType, *, - comment: Optional[str] = None, + comment: str | None = None, ) -> T: """Create new port range @@ -280,11 +280,11 @@ def delete_port_range(self, port_range_id: EntityID) -> T: def get_port_lists( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - details: Optional[bool] = None, - targets: Optional[bool] = None, - trash: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + details: bool | None = None, + targets: bool | None = None, + trash: bool | None = None, ) -> T: """Request a list of port lists @@ -319,8 +319,8 @@ def modify_port_list( self, port_list_id: EntityID, *, - comment: Optional[str] = None, - name: Optional[str] = None, + comment: str | None = None, + name: str | None = None, ) -> T: """Modify an existing port list. @@ -335,20 +335,19 @@ def modify_port_list( def get_aggregates( self, - resource_type: Union[EntityType, str], + resource_type: EntityType | str, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - sort_criteria: Optional[ - Iterable[dict[str, Union[str, SortOrder, AggregateStatistic]]] - ] = None, - data_columns: Optional[Iterable[str]] = None, - group_column: Optional[str] = None, - subgroup_column: Optional[str] = None, - text_columns: Optional[Iterable[str]] = None, - first_group: Optional[int] = None, - max_groups: Optional[int] = None, - mode: Optional[int] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + sort_criteria: Iterable[dict[str, str | SortOrder | AggregateStatistic]] + | None = None, + data_columns: Iterable[str] | None = None, + group_column: str | None = None, + subgroup_column: str | None = None, + text_columns: Iterable[str] | None = None, + first_group: int | None = None, + max_groups: int | None = None, + mode: int | None = None, **kwargs, ) -> T: """Request aggregated information on a resource / entity type @@ -394,7 +393,7 @@ def get_feeds(self) -> T: """Request the list of feeds""" return self._send_request_and_transform_response(Feed.get_feeds()) - def get_feed(self, feed_type: Union[FeedType, str]) -> T: + def get_feed(self, feed_type: FeedType | str) -> T: """Request a single feed Args: @@ -407,8 +406,8 @@ def get_feed(self, feed_type: Union[FeedType, str]) -> T: def help( self, *, - help_format: Optional[Union[HelpFormat, str]] = None, - brief: Optional[bool] = None, + help_format: HelpFormat | str | None = None, + brief: bool | None = None, ) -> T: """Get the help text @@ -424,12 +423,12 @@ def help( def get_system_reports( self, *, - name: Optional[str] = None, - duration: Optional[int] = None, - start_time: Optional[str] = None, - end_time: Optional[str] = None, - brief: Optional[bool] = None, - slave_id: Optional[EntityID] = None, + name: str | None = None, + duration: int | None = None, + start_time: str | None = None, + end_time: str | None = None, + brief: bool | None = None, + slave_id: EntityID | None = None, ) -> T: """Request a list of system reports @@ -475,7 +474,7 @@ def restore_from_trashcan(self, entity_id: EntityID) -> T: TrashCan.restore_from_trashcan(entity_id) ) - def get_user_settings(self, *, filter_string: Optional[str] = None) -> T: + def get_user_settings(self, *, filter_string: str | None = None) -> T: """Request a list of user settings Args: @@ -498,9 +497,9 @@ def get_user_setting(self, setting_id: EntityID) -> T: def modify_user_setting( self, *, - setting_id: Optional[EntityID] = None, - name: Optional[str] = None, - value: Optional[str] = None, + setting_id: EntityID | None = None, + name: str | None = None, + value: str | None = None, ) -> T: """Modifies an existing user setting. @@ -531,7 +530,7 @@ def create_scan_config( config_id: EntityID, name: str, *, - comment: Optional[str] = None, + comment: str | None = None, ) -> T: """Create a new scan config @@ -545,7 +544,7 @@ def create_scan_config( ) def delete_scan_config( - self, config_id: EntityID, *, ultimate: Optional[bool] = False + self, config_id: EntityID, *, ultimate: bool | None = False ) -> T: """Deletes an existing config @@ -560,13 +559,13 @@ def delete_scan_config( def get_scan_configs( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - details: Optional[bool] = None, - families: Optional[bool] = None, - preferences: Optional[bool] = None, - tasks: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + details: bool | None = None, + families: bool | None = None, + preferences: bool | None = None, + tasks: bool | None = None, ) -> T: """Request a list of scan configs @@ -595,7 +594,7 @@ def get_scan_configs( ) def get_scan_config( - self, config_id: EntityID, *, tasks: Optional[bool] = None + self, config_id: EntityID, *, tasks: bool | None = None ) -> T: """Request a single scan config @@ -610,8 +609,8 @@ def get_scan_config( def get_scan_config_preferences( self, *, - nvt_oid: Optional[str] = None, - config_id: Optional[EntityID] = None, + nvt_oid: str | None = None, + config_id: EntityID | None = None, ) -> T: """Request a list of scan_config preferences @@ -635,8 +634,8 @@ def get_scan_config_preference( self, name: str, *, - nvt_oid: Optional[str] = None, - config_id: Optional[EntityID] = None, + nvt_oid: str | None = None, + config_id: EntityID | None = None, ) -> T: """Request a nvt preference @@ -668,7 +667,7 @@ def modify_scan_config_set_nvt_preference( name: str, nvt_oid: str, *, - value: Optional[str] = None, + value: str | None = None, ) -> T: """Modifies the nvt preferences of an existing scan config. @@ -697,7 +696,7 @@ def modify_scan_config_set_name(self, config_id: EntityID, name: str) -> T: ) def modify_scan_config_set_comment( - self, config_id: EntityID, *, comment: Optional[str] = None + self, config_id: EntityID, *, comment: str | None = None ) -> T: """Modifies the comment of an existing scan config @@ -718,7 +717,7 @@ def modify_scan_config_set_scanner_preference( config_id: EntityID, name: str, *, - value: Optional[str] = None, + value: str | None = None, ) -> T: """Modifies the scanner preferences of an existing scan config @@ -738,7 +737,7 @@ def modify_scan_config_set_nvt_selection( self, config_id: EntityID, family: str, - nvt_oids: Union[tuple[str], list[str]], + nvt_oids: tuple[str] | list[str], ) -> T: """Modifies the selected nvts of an existing scan config @@ -761,7 +760,7 @@ def modify_scan_config_set_family_selection( config_id: EntityID, families: list[tuple[str, bool, bool]], *, - auto_add_new_families: Optional[bool] = True, + auto_add_new_families: bool | None = True, ) -> T: """ Selected the NVTs of a scan config at a family level. @@ -785,12 +784,12 @@ def create_scanner( self, name: str, host: str, - port: Union[str, int], + port: str | int, scanner_type: ScannerType, credential_id: str, *, - ca_pub: Optional[str] = None, - comment: Optional[str] = None, + ca_pub: str | None = None, + comment: str | None = None, ) -> T: """Create a new scanner @@ -820,13 +819,13 @@ def modify_scanner( self, scanner_id: EntityID, *, - name: Optional[str] = None, - host: Optional[str] = None, - port: Optional[int] = None, - scanner_type: Optional[ScannerType] = None, - credential_id: Optional[EntityID] = None, - ca_pub: Optional[str] = None, - comment: Optional[str] = None, + name: str | None = None, + host: str | None = None, + port: int | None = None, + scanner_type: ScannerType | None = None, + credential_id: EntityID | None = None, + ca_pub: str | None = None, + comment: str | None = None, ) -> T: """Modify an existing scanner @@ -857,10 +856,10 @@ def modify_scanner( def get_scanners( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + details: bool | None = None, ) -> T: """Request a list of scanners @@ -911,7 +910,7 @@ def clone_scanner(self, scanner_id: EntityID) -> T: ) def delete_scanner( - self, scanner_id: EntityID, ultimate: Optional[bool] = False + self, scanner_id: EntityID, ultimate: bool | None = False ) -> T: """Delete an existing scanner @@ -926,10 +925,10 @@ def create_user( self, name: str, *, - password: Optional[str] = None, - hosts: Optional[list[str]] = None, - hosts_allow: Optional[bool] = False, - role_ids: Optional[list[EntityID]] = None, + password: str | None = None, + hosts: list[str] | None = None, + hosts_allow: bool | None = False, + role_ids: list[EntityID] | None = None, ) -> T: """Create a new user @@ -955,14 +954,14 @@ def modify_user( self, user_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - password: Optional[str] = None, - auth_source: Optional[UserAuthType] = None, - role_ids: Optional[list[EntityID]] = None, - hosts: Optional[list[str]] = None, - hosts_allow: Optional[bool] = False, - group_ids: Optional[list[EntityID]] = None, + name: str | None = None, + comment: str | None = None, + password: str | None = None, + auth_source: UserAuthType | None = None, + role_ids: list[EntityID] | None = None, + hosts: list[str] | None = None, + hosts_allow: bool | None = False, + group_ids: list[EntityID] | None = None, ) -> T: """Modify an existing user. @@ -1012,11 +1011,11 @@ def clone_user(self, user_id: EntityID) -> T: def delete_user( self, - user_id: Optional[EntityID] = None, + user_id: EntityID | None = None, *, - name: Optional[str] = None, - inheritor_id: Optional[EntityID] = None, - inheritor_name: Optional[str] = None, + name: str | None = None, + inheritor_id: EntityID | None = None, + inheritor_name: str | None = None, ) -> T: """Delete an existing user @@ -1041,8 +1040,8 @@ def delete_user( def get_users( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, ) -> T: """Request a list of users @@ -1069,12 +1068,12 @@ def create_note( text: str, nvt_oid: str, *, - days_active: Optional[int] = None, - hosts: Optional[list[str]] = None, - port: Optional[str] = None, - result_id: Optional[EntityID] = None, - severity: Optional[Severity] = None, - task_id: Optional[EntityID] = None, + days_active: int | None = None, + hosts: list[str] | None = None, + port: str | None = None, + result_id: EntityID | None = None, + severity: Severity | None = None, + task_id: EntityID | None = None, ) -> T: """Create a new note @@ -1108,12 +1107,12 @@ def modify_note( note_id: EntityID, text: str, *, - days_active: Optional[int] = None, - hosts: Optional[list[str]] = None, - port: Optional[str] = None, - result_id: Optional[EntityID] = None, - severity: Optional[Severity] = None, - task_id: Optional[EntityID] = None, + days_active: int | None = None, + hosts: list[str] | None = None, + port: str | None = None, + result_id: EntityID | None = None, + severity: Severity | None = None, + task_id: EntityID | None = None, ) -> T: """Modify a note @@ -1152,7 +1151,7 @@ def clone_note(self, note_id: EntityID) -> T: ) def delete_note( - self, note_id: EntityID, *, ultimate: Optional[bool] = False + self, note_id: EntityID, *, ultimate: bool | None = False ) -> T: """Delete an existing note @@ -1167,10 +1166,10 @@ def delete_note( def get_notes( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - details: Optional[bool] = None, - result: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + details: bool | None = None, + result: bool | None = None, ) -> T: """Request a list of notes @@ -1205,13 +1204,13 @@ def create_override( text: str, nvt_oid: str, *, - days_active: Optional[int] = None, - hosts: Optional[list[str]] = None, - port: Optional[str] = None, - result_id: Optional[EntityID] = None, - severity: Optional[Severity] = None, - new_severity: Optional[Severity] = None, - task_id: Optional[EntityID] = None, + days_active: int | None = None, + hosts: list[str] | None = None, + port: str | None = None, + result_id: EntityID | None = None, + severity: Severity | None = None, + new_severity: Severity | None = None, + task_id: EntityID | None = None, ) -> T: """Create a new override @@ -1246,13 +1245,13 @@ def modify_override( override_id: EntityID, text: str, *, - days_active: Optional[int] = None, - hosts: Optional[list[str]] = None, - port: Optional[str] = None, - result_id: Optional[EntityID] = None, - severity: Optional[Severity] = None, - new_severity: Optional[Severity] = None, - task_id: Optional[EntityID] = None, + days_active: int | None = None, + hosts: list[str] | None = None, + port: str | None = None, + result_id: EntityID | None = None, + severity: Severity | None = None, + new_severity: Severity | None = None, + task_id: EntityID | None = None, ) -> T: """Modify an existing override. @@ -1294,7 +1293,7 @@ def clone_override(self, override_id: EntityID) -> T: ) def delete_override( - self, override_id: EntityID, *, ultimate: Optional[bool] = False + self, override_id: EntityID, *, ultimate: bool | None = False ) -> T: """Delete an existing override @@ -1309,10 +1308,10 @@ def delete_override( def get_overrides( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - details: Optional[bool] = None, - result: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + details: bool | None = None, + result: bool | None = None, ) -> T: """Request a list of overrides @@ -1345,21 +1344,21 @@ def create_target( self, name: str, *, - asset_hosts_filter: Optional[str] = None, - hosts: Optional[list[str]] = None, - comment: Optional[str] = None, - exclude_hosts: Optional[list[str]] = None, - ssh_credential_id: Optional[EntityID] = None, - ssh_credential_port: Optional[Union[int, str]] = None, - smb_credential_id: Optional[EntityID] = None, - esxi_credential_id: Optional[EntityID] = None, - snmp_credential_id: Optional[EntityID] = None, - alive_test: Optional[Union[str, AliveTest]] = None, - allow_simultaneous_ips: Optional[bool] = None, - reverse_lookup_only: Optional[bool] = None, - reverse_lookup_unify: Optional[bool] = None, - port_range: Optional[str] = None, - port_list_id: Optional[EntityID] = None, + asset_hosts_filter: str | None = None, + hosts: list[str] | None = None, + comment: str | None = None, + exclude_hosts: list[str] | None = None, + ssh_credential_id: EntityID | None = None, + ssh_credential_port: int | str | None = None, + smb_credential_id: EntityID | None = None, + esxi_credential_id: EntityID | None = None, + snmp_credential_id: EntityID | None = None, + alive_test: str | AliveTest | None = None, + allow_simultaneous_ips: bool | None = None, + reverse_lookup_only: bool | None = None, + reverse_lookup_unify: bool | None = None, + port_range: str | None = None, + port_list_id: EntityID | None = None, ) -> T: """Create a new target @@ -1408,20 +1407,20 @@ def modify_target( self, target_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - hosts: Optional[list[str]] = None, - exclude_hosts: Optional[list[str]] = None, - ssh_credential_id: Optional[EntityID] = None, - ssh_credential_port: Optional[Union[str, int]] = None, - smb_credential_id: Optional[EntityID] = None, - esxi_credential_id: Optional[EntityID] = None, - snmp_credential_id: Optional[EntityID] = None, - alive_test: Optional[Union[AliveTest, str]] = None, - allow_simultaneous_ips: Optional[bool] = None, - reverse_lookup_only: Optional[bool] = None, - reverse_lookup_unify: Optional[bool] = None, - port_list_id: Optional[EntityID] = None, + name: str | None = None, + comment: str | None = None, + hosts: list[str] | None = None, + exclude_hosts: list[str] | None = None, + ssh_credential_id: EntityID | None = None, + ssh_credential_port: str | int | None = None, + smb_credential_id: EntityID | None = None, + esxi_credential_id: EntityID | None = None, + snmp_credential_id: EntityID | None = None, + alive_test: AliveTest | str | None = None, + allow_simultaneous_ips: bool | None = None, + reverse_lookup_only: bool | None = None, + reverse_lookup_unify: bool | None = None, + port_list_id: EntityID | None = None, ) -> T: """Modify an existing target. @@ -1475,7 +1474,7 @@ def clone_target(self, target_id: EntityID) -> T: ) def delete_target( - self, target_id: EntityID, *, ultimate: Optional[bool] = False + self, target_id: EntityID, *, ultimate: bool | None = False ) -> T: """Delete an existing target. @@ -1488,7 +1487,7 @@ def delete_target( ) def get_target( - self, target_id: EntityID, *, tasks: Optional[bool] = None + self, target_id: EntityID, *, tasks: bool | None = None ) -> T: """Request a single target. @@ -1503,10 +1502,10 @@ def get_target( def get_targets( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - tasks: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + tasks: bool | None = None, ) -> T: """Request a list of targets. @@ -1532,11 +1531,11 @@ def create_alert( event: AlertEvent, method: AlertMethod, *, - method_data: Optional[dict[str, str]] = None, - event_data: Optional[dict[str, str]] = None, - condition_data: Optional[dict[str, str]] = None, - filter_id: Optional[EntityID] = None, - comment: Optional[str] = None, + method_data: dict[str, str] | None = None, + event_data: dict[str, str] | None = None, + condition_data: dict[str, str] | None = None, + filter_id: EntityID | None = None, + comment: str | None = None, ) -> T: """Create a new alert @@ -1579,15 +1578,15 @@ def modify_alert( self, alert_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - filter_id: Optional[EntityID] = None, - event: Optional[Union[AlertEvent, str]] = None, - event_data: Optional[dict] = None, - condition: Optional[Union[AlertCondition, str]] = None, - condition_data: Optional[dict[str, str]] = None, - method: Optional[Union[AlertMethod, str]] = None, - method_data: Optional[dict[str, str]] = None, + name: str | None = None, + comment: str | None = None, + filter_id: EntityID | None = None, + event: AlertEvent | str | None = None, + event_data: dict | None = None, + condition: AlertCondition | str | None = None, + condition_data: dict[str, str] | None = None, + method: AlertMethod | str | None = None, + method_data: dict[str, str] | None = None, ) -> T: """Modify an existing alert. @@ -1639,7 +1638,7 @@ def clone_alert(self, alert_id: EntityID) -> T: ) def delete_alert( - self, alert_id: EntityID, *, ultimate: Optional[bool] = False + self, alert_id: EntityID, *, ultimate: bool | None = False ) -> T: """Delete an existing alert @@ -1668,10 +1667,10 @@ def trigger_alert( alert_id: EntityID, report_id: EntityID, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - report_format_id: Optional[Union[EntityID, ReportFormatType]] = None, - delta_report_id: Optional[EntityID] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + report_format_id: EntityID | ReportFormatType | None = None, + delta_report_id: EntityID | None = None, ) -> T: """Run an alert by ignoring its event and conditions @@ -1700,10 +1699,10 @@ def trigger_alert( def get_alerts( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - tasks: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + tasks: bool | None = None, ) -> T: """Request a list of alerts @@ -1722,9 +1721,7 @@ def get_alerts( ) ) - def get_alert( - self, alert_id: EntityID, *, tasks: Optional[bool] = None - ) -> T: + def get_alert(self, alert_id: EntityID, *, tasks: bool | None = None) -> T: """Request a single alert Arguments: @@ -1742,14 +1739,14 @@ def create_audit( target_id: EntityID, scanner_id: EntityID, *, - alterable: Optional[bool] = None, - hosts_ordering: Optional[Union[HostsOrdering, str]] = None, - schedule_id: Optional[str] = None, - alert_ids: Optional[list[EntityID]] = None, - comment: Optional[str] = None, - schedule_periods: Optional[int] = None, - observers: Optional[list[EntityID]] = None, - preferences: Optional[dict[str, str]] = None, + alterable: bool | None = None, + hosts_ordering: HostsOrdering | str | None = None, + schedule_id: str | None = None, + alert_ids: list[EntityID] | None = None, + comment: str | None = None, + schedule_periods: int | None = None, + observers: list[EntityID] | None = None, + preferences: dict[str, str] | None = None, ) -> T: """Create a new audit @@ -1790,18 +1787,18 @@ def modify_audit( self, audit_id: EntityID, *, - name: Optional[str] = None, - policy_id: Optional[EntityID] = None, - target_id: Optional[EntityID] = None, - scanner_id: Optional[EntityID] = None, - alterable: Optional[bool] = None, - hosts_ordering: Optional[Union[str, HostsOrdering]] = None, - schedule_id: Optional[EntityID] = None, - schedule_periods: Optional[int] = None, - comment: Optional[str] = None, - alert_ids: Optional[list[EntityID]] = None, - observers: Optional[list[EntityID]] = None, - preferences: Optional[dict[str, str]] = None, + name: str | None = None, + policy_id: EntityID | None = None, + target_id: EntityID | None = None, + scanner_id: EntityID | None = None, + alterable: bool | None = None, + hosts_ordering: str | HostsOrdering | None = None, + schedule_id: EntityID | None = None, + schedule_periods: int | None = None, + comment: str | None = None, + alert_ids: list[EntityID] | None = None, + observers: list[EntityID] | None = None, + preferences: dict[str, str] | None = None, ) -> T: """Modifies an existing audit. @@ -1850,7 +1847,7 @@ def clone_audit(self, audit_id: EntityID) -> T: ) def delete_audit( - self, audit_id: EntityID, *, ultimate: Optional[bool] = False + self, audit_id: EntityID, *, ultimate: bool | None = False ) -> T: """Delete an existing audit @@ -1865,11 +1862,11 @@ def delete_audit( def get_audits( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - details: Optional[bool] = None, - schedules_only: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + details: bool | None = None, + schedules_only: bool | None = None, ) -> T: """Request a list of audits @@ -1944,20 +1941,20 @@ def clone_credential(self, credential_id: EntityID) -> T: def create_credential( self, name: str, - credential_type: Union[CredentialType, str], + credential_type: CredentialType | str, *, - comment: Optional[str] = None, - allow_insecure: Optional[bool] = None, - certificate: Optional[str] = None, - key_phrase: Optional[str] = None, - private_key: Optional[str] = None, - login: Optional[str] = None, - password: Optional[str] = None, - auth_algorithm: Optional[Union[SnmpAuthAlgorithm, str]] = None, - community: Optional[str] = None, - privacy_algorithm: Optional[Union[SnmpPrivacyAlgorithm, str]] = None, - privacy_password: Optional[str] = None, - public_key: Optional[str] = None, + comment: str | None = None, + allow_insecure: bool | None = None, + certificate: str | None = None, + key_phrase: str | None = None, + private_key: str | None = None, + login: str | None = None, + password: str | None = None, + auth_algorithm: SnmpAuthAlgorithm | str | None = None, + community: str | None = None, + privacy_algorithm: SnmpPrivacyAlgorithm | str | None = None, + privacy_password: str | None = None, + public_key: str | None = None, ) -> T: """Create a new credential @@ -2004,24 +2001,24 @@ def create_credential( .. code-block:: python gmp.create_credential( - name='UP Credential', + name="UP Credential", credential_type=CredentialType.USERNAME_PASSWORD, - login='foo', - password='bar', + login="foo", + password="bar", ) Creating a Username + SSH Key credential .. code-block:: python - with open('path/to/private-ssh-key') as f: + with open("path/to/private-ssh-key") as f: key = f.read() gmp.create_credential( - name='USK Credential', + name="USK Credential", credential_type=CredentialType.USERNAME_SSH_KEY, - login='foo', - key_phrase='foobar', + login="foo", + key_phrase="foobar", private_key=key, ) @@ -2036,11 +2033,11 @@ def create_credential( .. code-block:: python - with open('path/to/pgp.key.asc') as f: + with open("path/to/pgp.key.asc") as f: key = f.read() gmp.create_credential( - name='PGP Credential', + name="PGP Credential", credential_type=CredentialType.PGP_ENCRYPTION_KEY, public_key=key, ) @@ -2049,11 +2046,11 @@ def create_credential( .. code-block:: python - with open('path/to/smime-cert') as f: + with open("path/to/smime-cert") as f: cert = f.read() gmp.create_credential( - name='SMIME Credential', + name="SMIME Credential", credential_type=CredentialType.SMIME_CERTIFICATE, certificate=cert, ) @@ -2063,9 +2060,9 @@ def create_credential( .. code-block:: python gmp.create_credential( - name='Password-Only Credential', + name="Password-Only Credential", credential_type=CredentialType.PASSWORD_ONLY, - password='foo', + password="foo", ) """ return self._send_request_and_transform_response( @@ -2088,7 +2085,7 @@ def create_credential( ) def delete_credential( - self, credential_id: EntityID, *, ultimate: Optional[bool] = False + self, credential_id: EntityID, *, ultimate: bool | None = False ) -> T: """Delete an existing credential @@ -2103,11 +2100,11 @@ def delete_credential( def get_credentials( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[str] = None, - scanners: Optional[bool] = None, - trash: Optional[bool] = None, - targets: Optional[bool] = None, + filter_string: str | None = None, + filter_id: str | None = None, + scanners: bool | None = None, + trash: bool | None = None, + targets: bool | None = None, ) -> T: """Request a list of credentials @@ -2133,9 +2130,9 @@ def get_credential( self, credential_id: str, *, - scanners: Optional[bool] = None, - targets: Optional[bool] = None, - credential_format: Optional[Union[CredentialFormat, str]] = None, + scanners: bool | None = None, + targets: bool | None = None, + credential_format: CredentialFormat | str | None = None, ) -> T: """Request a single credential @@ -2159,19 +2156,19 @@ def modify_credential( self, credential_id: str, *, - name: Optional[str] = None, - comment: Optional[str] = None, - allow_insecure: Optional[bool] = None, - certificate: Optional[str] = None, - key_phrase: Optional[str] = None, - private_key: Optional[str] = None, - login: Optional[str] = None, - password: Optional[str] = None, - auth_algorithm: Optional[Union[SnmpAuthAlgorithm, str]] = None, - community: Optional[str] = None, - privacy_algorithm: Optional[Union[SnmpPrivacyAlgorithm, str]] = None, - privacy_password: Optional[str] = None, - public_key: Optional[str] = None, + name: str | None = None, + comment: str | None = None, + allow_insecure: bool | None = None, + certificate: str | None = None, + key_phrase: str | None = None, + private_key: str | None = None, + login: str | None = None, + password: str | None = None, + auth_algorithm: SnmpAuthAlgorithm | str | None = None, + community: str | None = None, + privacy_algorithm: SnmpPrivacyAlgorithm | str | None = None, + privacy_password: str | None = None, + public_key: str | None = None, ) -> T: """Modifies an existing credential. @@ -2224,9 +2221,9 @@ def create_filter( self, name: str, *, - filter_type: Optional[FilterType] = None, - comment: Optional[str] = None, - term: Optional[str] = None, + filter_type: FilterType | None = None, + comment: str | None = None, + term: str | None = None, ) -> T: """Create a new filter @@ -2243,7 +2240,7 @@ def create_filter( ) def delete_filter( - self, filter_id: EntityID, *, ultimate: Optional[bool] = False + self, filter_id: EntityID, *, ultimate: bool | None = False ) -> T: """Deletes an existing filter @@ -2258,10 +2255,10 @@ def delete_filter( def get_filters( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - alerts: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + alerts: bool | None = None, ) -> T: """Request a list of filters @@ -2281,7 +2278,7 @@ def get_filters( ) def get_filter( - self, filter_id: EntityID, *, alerts: Optional[bool] = None + self, filter_id: EntityID, *, alerts: bool | None = None ) -> T: """Request a single filter @@ -2297,10 +2294,10 @@ def modify_filter( self, filter_id: EntityID, *, - comment: Optional[str] = None, - name: Optional[str] = None, - term: Optional[str] = None, - filter_type: Optional[FilterType] = None, + comment: str | None = None, + name: str | None = None, + term: str | None = None, + filter_type: FilterType | None = None, ) -> T: """Modifies an existing filter. @@ -2335,9 +2332,9 @@ def create_group( self, name: str, *, - comment: Optional[str] = None, - special: Optional[bool] = False, - users: Optional[list[str]] = None, + comment: str | None = None, + special: bool | None = False, + users: list[str] | None = None, ) -> T: """Create a new group @@ -2355,7 +2352,7 @@ def create_group( ) def delete_group( - self, group_id: EntityID, *, ultimate: Optional[bool] = False + self, group_id: EntityID, *, ultimate: bool | None = False ) -> T: """Deletes an existing group @@ -2370,9 +2367,9 @@ def delete_group( def get_groups( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, ) -> T: """Request a list of groups @@ -2401,9 +2398,9 @@ def modify_group( self, group_id: EntityID, *, - comment: Optional[str] = None, - name: Optional[str] = None, - users: Optional[list[str]] = None, + comment: str | None = None, + name: str | None = None, + users: list[str] | None = None, ) -> T: """Modifies an existing group. @@ -2419,7 +2416,7 @@ def modify_group( ) ) - def create_host(self, name: str, *, comment: Optional[str] = None) -> T: + def create_host(self, name: str, *, comment: str | None = None) -> T: """Create a new host host Args: @@ -2443,9 +2440,9 @@ def delete_host(self, host_id: EntityID) -> T: def get_hosts( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + details: bool | None = None, ) -> T: """Request a list of hosts @@ -2462,9 +2459,7 @@ def get_hosts( ) ) - def get_host( - self, host_id: EntityID, *, details: Optional[bool] = None - ) -> T: + def get_host(self, host_id: EntityID, *, details: bool | None = None) -> T: """Request a single host Arguments: @@ -2476,7 +2471,7 @@ def get_host( ) def modify_host( - self, host_id: EntityID, *, comment: Optional[str] = None + self, host_id: EntityID, *, comment: str | None = None ) -> T: """Modifies an existing host. @@ -2505,9 +2500,9 @@ def delete_operating_system( def get_operating_systems( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + details: bool | None = None, ) -> T: """Request a list of operating systems @@ -2525,7 +2520,7 @@ def get_operating_systems( ) def get_operating_system( - self, operating_system_id: EntityID, *, details: Optional[bool] = None + self, operating_system_id: EntityID, *, details: bool | None = None ) -> T: """Request a single operating system @@ -2540,7 +2535,7 @@ def get_operating_system( ) def modify_operating_system( - self, operating_system_id: EntityID, *, comment: Optional[str] = None + self, operating_system_id: EntityID, *, comment: str | None = None ) -> T: """Modifies an existing operating system. @@ -2569,11 +2564,11 @@ def create_permission( self, name: str, subject_id: EntityID, - subject_type: Union[PermissionSubjectType, str], + subject_type: PermissionSubjectType | str, *, - resource_id: Optional[str] = None, - resource_type: Optional[Union[EntityType, str]] = None, - comment: Optional[str] = None, + resource_id: str | None = None, + resource_type: EntityType | str | None = None, + comment: str | None = None, ) -> T: """Create a new permission @@ -2598,7 +2593,7 @@ def create_permission( ) def delete_permission( - self, permission_id: EntityID, *, ultimate: Optional[bool] = False + self, permission_id: EntityID, *, ultimate: bool | None = False ) -> T: """Deletes an existing permission @@ -2613,9 +2608,9 @@ def delete_permission( def get_permissions( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[str] = None, - trash: Optional[bool] = None, + filter_string: str | None = None, + filter_id: str | None = None, + trash: bool | None = None, ) -> T: """Request a list of permissions @@ -2644,12 +2639,12 @@ def modify_permission( self, permission_id: EntityID, *, - comment: Optional[str] = None, - name: Optional[str] = None, - resource_id: Optional[EntityID] = None, - resource_type: Optional[Union[EntityType, str]] = None, - subject_id: Optional[EntityID] = None, - subject_type: Optional[Union[PermissionSubjectType, str]] = None, + comment: str | None = None, + name: str | None = None, + resource_id: EntityID | None = None, + resource_type: EntityType | str | None = None, + subject_id: EntityID | None = None, + subject_type: PermissionSubjectType | str | None = None, ) -> T: """Modifies an existing permission. @@ -2689,8 +2684,8 @@ def create_policy( self, name: str, *, - policy_id: Optional[EntityID] = None, - comment: Optional[str] = None, + policy_id: EntityID | None = None, + comment: str | None = None, ) -> T: """Create a new policy @@ -2705,7 +2700,7 @@ def create_policy( ) def delete_policy( - self, policy_id: EntityID, *, ultimate: Optional[bool] = False + self, policy_id: EntityID, *, ultimate: bool | None = False ) -> T: """Deletes an existing policy @@ -2720,13 +2715,13 @@ def delete_policy( def get_policies( self, *, - audits: Optional[bool] = None, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - details: Optional[bool] = None, - families: Optional[bool] = None, - preferences: Optional[bool] = None, - trash: Optional[bool] = None, + audits: bool | None = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + details: bool | None = None, + families: bool | None = None, + preferences: bool | None = None, + trash: bool | None = None, ) -> T: """Request a list of policies @@ -2755,7 +2750,7 @@ def get_policies( ) def get_policy( - self, policy_id: EntityID, *, audits: Optional[bool] = None + self, policy_id: EntityID, *, audits: bool | None = None ) -> T: """Request a single policy @@ -2784,7 +2779,7 @@ def modify_policy_set_nvt_preference( name: str, nvt_oid: str, *, - value: Optional[str] = None, + value: str | None = None, ) -> T: """Modifies the nvt preferences of an existing policy. @@ -2813,7 +2808,7 @@ def modify_policy_set_name(self, policy_id: EntityID, name: str) -> T: ) def modify_policy_set_comment( - self, policy_id: EntityID, comment: Optional[str] = None + self, policy_id: EntityID, comment: str | None = None ) -> T: """Modifies the comment of an existing policy @@ -2828,7 +2823,7 @@ def modify_policy_set_comment( ) def modify_policy_set_scanner_preference( - self, policy_id: EntityID, name: str, *, value: Optional[str] = None + self, policy_id: EntityID, name: str, *, value: str | None = None ) -> T: """Modifies the scanner preferences of an existing policy @@ -2868,7 +2863,7 @@ def modify_policy_set_family_selection( policy_id: EntityID, families: Sequence[tuple[str, bool, bool]], *, - auto_add_new_families: Optional[bool] = True, + auto_add_new_families: bool | None = True, ) -> T: """ Selected the NVTs of a policy at a family level. @@ -2903,12 +2898,12 @@ def get_report( self, report_id: EntityID, *, - filter_string: Optional[str] = None, - filter_id: Optional[str] = None, - delta_report_id: Optional[EntityID] = None, - report_format_id: Optional[Union[str, ReportFormatType]] = None, - ignore_pagination: Optional[bool] = None, - details: Optional[bool] = True, + filter_string: str | None = None, + filter_id: str | None = None, + delta_report_id: EntityID | None = None, + report_format_id: str | ReportFormatType | None = None, + ignore_pagination: bool | None = None, + details: bool | None = True, ) -> T: """Request a single report @@ -2939,12 +2934,12 @@ def get_report( def get_reports( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - note_details: Optional[bool] = None, - override_details: Optional[bool] = None, - ignore_pagination: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + note_details: bool | None = None, + override_details: bool | None = None, + ignore_pagination: bool | None = None, + details: bool | None = None, ) -> T: """Request a list of reports @@ -2974,7 +2969,7 @@ def import_report( report: str, task_id: EntityID, *, - in_assets: Optional[bool] = None, + in_assets: bool | None = None, ) -> T: """Import a Report from XML @@ -3001,12 +2996,12 @@ def get_result(self, result_id: EntityID) -> T: def get_results( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[str] = None, - task_id: Optional[str] = None, - note_details: Optional[bool] = None, - override_details: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: str | None = None, + task_id: str | None = None, + note_details: bool | None = None, + override_details: bool | None = None, + details: bool | None = None, ) -> T: """Request a list of results @@ -3044,8 +3039,8 @@ def create_role( self, name: str, *, - comment: Optional[str] = None, - users: Optional[list[str]] = None, + comment: str | None = None, + users: list[str] | None = None, ) -> T: """Create a new role @@ -3058,9 +3053,7 @@ def create_role( Roles.create_role(name, comment=comment, users=users) ) - def delete_role( - self, role_id: str, *, ultimate: Optional[bool] = False - ) -> T: + def delete_role(self, role_id: str, *, ultimate: bool | None = False) -> T: """Deletes an existing role Args: @@ -3074,9 +3067,9 @@ def delete_role( def get_roles( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, ) -> T: """Request a list of roles @@ -3105,9 +3098,9 @@ def modify_role( self, role_id: EntityID, *, - comment: Optional[str] = None, - name: Optional[str] = None, - users: Optional[list[str]] = None, + comment: str | None = None, + name: str | None = None, + users: list[str] | None = None, ) -> T: """Modifies an existing role. @@ -3137,7 +3130,7 @@ def create_schedule( icalendar: str, timezone: str, *, - comment: Optional[str] = None, + comment: str | None = None, ) -> T: """Create a new schedule based in `iCalendar `_ data. @@ -3154,19 +3147,17 @@ def create_schedule( cal = Calendar() - cal.add('prodid', '-//Foo Bar//') - cal.add('version', '2.0') + cal.add("prodid", "-//Foo Bar//") + cal.add("version", "2.0") event = Event() - event.add('dtstamp', datetime.now(tz=pytz.UTC)) - event.add('dtstart', datetime(2020, 1, 1, tzinfo=pytz.utc)) + event.add("dtstamp", datetime.now(tz=pytz.UTC)) + event.add("dtstart", datetime(2020, 1, 1, tzinfo=pytz.utc)) cal.add_component(event) gmp.create_schedule( - name="My Schedule", - icalendar=cal.to_ical(), - timezone='UTC' + name="My Schedule", icalendar=cal.to_ical(), timezone="UTC" ) Args: @@ -3186,7 +3177,7 @@ def create_schedule( ) def delete_schedule( - self, schedule_id: EntityID, *, ultimate: Optional[bool] = False + self, schedule_id: EntityID, *, ultimate: bool | None = False ) -> T: """Deletes an existing schedule @@ -3201,10 +3192,10 @@ def delete_schedule( def get_schedules( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - tasks: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + tasks: bool | None = None, ) -> T: """Request a list of schedules @@ -3224,7 +3215,7 @@ def get_schedules( ) def get_schedule( - self, schedule_id: EntityID, *, tasks: Optional[bool] = None + self, schedule_id: EntityID, *, tasks: bool | None = None ) -> T: """Request a single schedule @@ -3240,10 +3231,10 @@ def modify_schedule( self, schedule_id: EntityID, *, - name: Optional[str] = None, - icalendar: Optional[str] = None, - timezone: Optional[str] = None, - comment: Optional[str] = None, + name: str | None = None, + icalendar: str | None = None, + timezone: str | None = None, + comment: str | None = None, ) -> T: """Modifies an existing schedule @@ -3269,7 +3260,7 @@ def modify_schedule( ) ) - def get_nvt_families(self, *, sort_order: Optional[str] = None) -> T: + def get_nvt_families(self, *, sort_order: str | None = None) -> T: """Request a list of nvt families Args: @@ -3282,15 +3273,15 @@ def get_nvt_families(self, *, sort_order: Optional[str] = None) -> T: def get_scan_config_nvts( self, *, - details: Optional[bool] = None, - preferences: Optional[bool] = None, - preference_count: Optional[bool] = None, - timeout: Optional[bool] = None, - config_id: Optional[EntityID] = None, - preferences_config_id: Optional[EntityID] = None, - family: Optional[str] = None, - sort_order: Optional[str] = None, - sort_field: Optional[str] = None, + details: bool | None = None, + preferences: bool | None = None, + preference_count: bool | None = None, + timeout: bool | None = None, + config_id: EntityID | None = None, + preferences_config_id: EntityID | None = None, + family: str | None = None, + sort_order: str | None = None, + sort_field: str | None = None, ) -> T: """Request a list of nvts @@ -3333,19 +3324,19 @@ def get_scan_config_nvt(self, nvt_oid: str) -> T: def get_nvts( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[str] = None, - name: Optional[str] = None, - details: Optional[bool] = None, - extended: Optional[bool] = None, - preferences: Optional[bool] = None, - preference_count: Optional[bool] = None, - timeout: Optional[bool] = None, - config_id: Optional[str] = None, - preferences_config_id: Optional[str] = None, - family: Optional[str] = None, - sort_order: Optional[str] = None, - sort_field: Optional[str] = None, + filter_string: str | None = None, + filter_id: str | None = None, + name: str | None = None, + details: bool | None = None, + extended: bool | None = None, + preferences: bool | None = None, + preference_count: bool | None = None, + timeout: bool | None = None, + config_id: str | None = None, + preferences_config_id: str | None = None, + family: str | None = None, + sort_order: str | None = None, + sort_field: str | None = None, ) -> T: """Request a list of NVTs @@ -3385,7 +3376,7 @@ def get_nvts( ) ) - def get_nvt(self, nvt_id: str, *, extended: Optional[bool] = None) -> T: + def get_nvt(self, nvt_id: str, *, extended: bool | None = None) -> T: """Request a single NVT Args: @@ -3400,7 +3391,7 @@ def get_nvt(self, nvt_id: str, *, extended: Optional[bool] = None) -> T: def get_nvt_preferences( self, *, - nvt_oid: Optional[str] = None, + nvt_oid: str | None = None, ) -> T: """Request a list of preferences @@ -3418,7 +3409,7 @@ def get_nvt_preference( self, name: str, *, - nvt_oid: Optional[str] = None, + nvt_oid: str | None = None, ) -> T: """Request a nvt preference @@ -3447,10 +3438,10 @@ def get_info_list( self, info_type: InfoType, *, - filter_string: Optional[str] = None, - filter_id: Optional[str] = None, - name: Optional[str] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: str | None = None, + name: str | None = None, + details: bool | None = None, ) -> T: """Request a list of security information @@ -3476,10 +3467,10 @@ def get_info_list( def get_cves( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - name: Optional[str] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + name: str | None = None, + details: bool | None = None, ) -> T: """Request a list of CVEs @@ -3510,10 +3501,10 @@ def get_cve(self, cve_id: str) -> T: def get_cpes( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - name: Optional[str] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + name: str | None = None, + details: bool | None = None, ) -> T: """Request a list of CPEs @@ -3544,10 +3535,10 @@ def get_cpe(self, cpe_id: str) -> T: def get_dfn_cert_advisories( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - name: Optional[str] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + name: str | None = None, + details: bool | None = None, ) -> T: """Request a list of DFN-CERT Advisories @@ -3580,10 +3571,10 @@ def get_dfn_cert_advisory(self, cert_id: EntityID) -> T: def get_cert_bund_advisories( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - name: Optional[str] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + name: str | None = None, + details: bool | None = None, ) -> T: """Request a list of CERT-BUND Advisories @@ -3626,11 +3617,11 @@ def create_tag( name: str, resource_type: EntityType, *, - resource_filter: Optional[str] = None, - resource_ids: Optional[list[EntityID]] = None, - value: Optional[str] = None, - comment: Optional[str] = None, - active: Optional[bool] = None, + resource_filter: str | None = None, + resource_ids: list[EntityID] | None = None, + value: str | None = None, + comment: str | None = None, + active: bool | None = None, ) -> T: """Create a tag @@ -3660,7 +3651,7 @@ def create_tag( ) def delete_tag( - self, tag_id: EntityID, *, ultimate: Optional[bool] = False + self, tag_id: EntityID, *, ultimate: bool | None = False ) -> T: """Deletes an existing tag @@ -3675,10 +3666,10 @@ def delete_tag( def get_tags( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - names_only: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + names_only: bool | None = None, ) -> T: """Request a list of tags @@ -3709,14 +3700,14 @@ def modify_tag( self, tag_id: EntityID, *, - comment: Optional[str] = None, - name: Optional[str] = None, - value: Optional[str] = None, - active: Optional[bool] = None, - resource_action: Optional[str] = None, - resource_type: Optional[EntityType] = None, - resource_filter: Optional[str] = None, - resource_ids: Optional[list[EntityID]] = None, + comment: str | None = None, + name: str | None = None, + value: str | None = None, + active: bool | None = None, + resource_action: str | None = None, + resource_type: EntityType | None = None, + resource_filter: str | None = None, + resource_ids: list[EntityID] | None = None, ) -> T: """Modifies an existing tag. @@ -3759,7 +3750,7 @@ def clone_task(self, task_id: EntityID) -> T: ) def create_container_task( - self, name: str, *, comment: Optional[str] = None + self, name: str, *, comment: str | None = None ) -> T: """Create a new container task @@ -3781,14 +3772,14 @@ def create_task( target_id: EntityID, scanner_id: EntityID, *, - alterable: Optional[bool] = None, - hosts_ordering: Optional[HostsOrdering] = None, - schedule_id: Optional[EntityID] = None, - alert_ids: Optional[Sequence[EntityID]] = None, - comment: Optional[str] = None, - schedule_periods: Optional[int] = None, - observers: Optional[Sequence[str]] = None, - preferences: Optional[Mapping[str, SupportsStr]] = None, + alterable: bool | None = None, + hosts_ordering: HostsOrdering | None = None, + schedule_id: EntityID | None = None, + alert_ids: Sequence[EntityID] | None = None, + comment: str | None = None, + schedule_periods: int | None = None, + observers: Sequence[str] | None = None, + preferences: Mapping[str, SupportsStr] | None = None, ) -> T: """Create a new scan task @@ -3826,7 +3817,7 @@ def create_task( ) def delete_task( - self, task_id: EntityID, *, ultimate: Optional[bool] = False + self, task_id: EntityID, *, ultimate: bool | None = False ) -> T: """Deletes an existing task @@ -3841,12 +3832,12 @@ def delete_task( def get_tasks( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - details: Optional[bool] = None, - schedules_only: Optional[bool] = None, - ignore_pagination: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + details: bool | None = None, + schedules_only: bool | None = None, + ignore_pagination: bool | None = None, ) -> T: """Request a list of tasks @@ -3885,18 +3876,18 @@ def modify_task( self, task_id: EntityID, *, - name: Optional[str] = None, - config_id: Optional[EntityID] = None, - target_id: Optional[EntityID] = None, - scanner_id: Optional[EntityID] = None, - alterable: Optional[bool] = None, - hosts_ordering: Optional[HostsOrdering] = None, - schedule_id: Optional[EntityID] = None, - schedule_periods: Optional[int] = None, - comment: Optional[str] = None, - alert_ids: Optional[Sequence[EntityID]] = None, - observers: Optional[Sequence[str]] = None, - preferences: Optional[Mapping[str, SupportsStr]] = None, + name: str | None = None, + config_id: EntityID | None = None, + target_id: EntityID | None = None, + scanner_id: EntityID | None = None, + alterable: bool | None = None, + hosts_ordering: HostsOrdering | None = None, + schedule_id: EntityID | None = None, + schedule_periods: int | None = None, + comment: str | None = None, + alert_ids: Sequence[EntityID] | None = None, + observers: Sequence[str] | None = None, + preferences: Mapping[str, SupportsStr] | None = None, ) -> T: """Modifies an existing task. @@ -3935,7 +3926,7 @@ def modify_task( ) def move_task( - self, task_id: EntityID, *, slave_id: Optional[EntityID] = None + self, task_id: EntityID, *, slave_id: EntityID | None = None ) -> T: """Move an existing task to another GMP slave scanner or the master @@ -3993,7 +3984,7 @@ def create_ticket( result_id: EntityID, assigned_to_user_id: EntityID, note: str, - comment: Optional[str] = None, + comment: str | None = None, ) -> T: """Create a new ticket @@ -4013,7 +4004,7 @@ def create_ticket( ) def delete_ticket( - self, ticket_id: EntityID, *, ultimate: Optional[bool] = False + self, ticket_id: EntityID, *, ultimate: bool | None = False ) -> T: """Deletes an existing ticket @@ -4028,9 +4019,9 @@ def delete_ticket( def get_tickets( self, *, - trash: Optional[bool] = None, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, + trash: bool | None = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, ) -> T: """Request a list of tickets @@ -4059,10 +4050,10 @@ def modify_ticket( self, ticket_id: EntityID, *, - status: Optional[Union[TicketStatus, str]] = None, - note: Optional[str] = None, - assigned_to_user_id: Optional[EntityID] = None, - comment: Optional[str] = None, + status: TicketStatus | str | None = None, + note: str | None = None, + assigned_to_user_id: EntityID | None = None, + comment: str | None = None, ) -> T: """Modify a single ticket @@ -4099,8 +4090,8 @@ def create_tls_certificate( name: str, certificate: str, *, - comment: Optional[str] = None, - trust: Optional[bool] = None, + comment: str | None = None, + trust: bool | None = None, ) -> T: """Create a new TLS certificate @@ -4130,10 +4121,10 @@ def delete_tls_certificate(self, tls_certificate_id: EntityID) -> T: def get_tls_certificates( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - include_certificate_data: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + include_certificate_data: bool | None = None, + details: bool | None = None, ) -> T: """Request a list of TLS certificates @@ -4168,9 +4159,9 @@ def modify_tls_certificate( self, tls_certificate_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - trust: Optional[bool] = None, + name: str | None = None, + comment: str | None = None, + trust: bool | None = None, ) -> T: """Modifies an existing TLS certificate. @@ -4189,8 +4180,8 @@ def modify_tls_certificate( def get_vulnerabilities( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, ) -> T: """Request a list of vulnerabilities @@ -4215,7 +4206,7 @@ def get_vulnerability(self, vulnerability_id: EntityID) -> T: ) def clone_report_format( - self, report_format_id: Union[EntityID, ReportFormatType] + self, report_format_id: EntityID | ReportFormatType ) -> T: """Clone a report format from an existing one @@ -4229,9 +4220,9 @@ def clone_report_format( def delete_report_format( self, - report_format_id: Union[EntityID, ReportFormatType], + report_format_id: EntityID | ReportFormatType, *, - ultimate: Optional[bool] = False, + ultimate: bool | None = False, ) -> T: """Deletes an existing report format @@ -4249,12 +4240,12 @@ def delete_report_format( def get_report_formats( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - alerts: Optional[bool] = None, - params: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + alerts: bool | None = None, + params: bool | None = None, + details: bool | None = None, ) -> T: """Request a list of report formats @@ -4278,7 +4269,7 @@ def get_report_formats( ) def get_report_format( - self, report_format_id: Union[EntityID, ReportFormatType] + self, report_format_id: EntityID | ReportFormatType ) -> T: """Request a single report format @@ -4303,13 +4294,13 @@ def import_report_format(self, report_format: str) -> T: def modify_report_format( self, - report_format_id: Union[EntityID, ReportFormatType], + report_format_id: EntityID | ReportFormatType, *, - active: Optional[bool] = None, - name: Optional[str] = None, - summary: Optional[str] = None, - param_name: Optional[str] = None, - param_value: Optional[str] = None, + active: bool | None = None, + name: str | None = None, + summary: str | None = None, + param_name: str | None = None, + param_value: str | None = None, ) -> T: """Modifies an existing report format. @@ -4334,7 +4325,7 @@ def modify_report_format( ) def verify_report_format( - self, report_format_id: Union[EntityID, ReportFormatType] + self, report_format_id: EntityID | ReportFormatType ) -> T: """Verify an existing report format diff --git a/gvm/protocols/gmp/_gmp225.py b/gvm/protocols/gmp/_gmp225.py index 39b9c0ac7..420b03dec 100644 --- a/gvm/protocols/gmp/_gmp225.py +++ b/gvm/protocols/gmp/_gmp225.py @@ -6,8 +6,6 @@ Greenbone Management Protocol (GMP) version 22.5 """ -from typing import Optional - from .._protocol import T from ._gmp224 import GMPv224 from .requests.v225 import ( @@ -38,7 +36,7 @@ def get_resource_names( self, resource_type: ResourceType, *, - filter_string: Optional[str] = None, + filter_string: str | None = None, ) -> T: """Request a list of resource names and IDs diff --git a/gvm/protocols/gmp/_gmp226.py b/gvm/protocols/gmp/_gmp226.py index 10dfe971f..69e8dc3cb 100644 --- a/gvm/protocols/gmp/_gmp226.py +++ b/gvm/protocols/gmp/_gmp226.py @@ -6,7 +6,7 @@ Greenbone Management Protocol (GMP) version 22.6 """ -from typing import Optional, Sequence, Union +from collections.abc import Sequence from .._protocol import T from ._gmp225 import GMPv225 @@ -46,7 +46,7 @@ def get_resource_names( self, resource_type: ResourceType, # type: ignore[override] *, - filter_string: Optional[str] = None, + filter_string: str | None = None, ) -> T: """Request a list of resource names and IDs @@ -99,13 +99,13 @@ def get_report( self, report_id: EntityID, *, - filter_string: Optional[str] = None, - filter_id: Optional[str] = None, - delta_report_id: Optional[EntityID] = None, - report_format_id: Optional[Union[str, ReportFormatType]] = None, - report_config_id: Optional[str] = None, - ignore_pagination: Optional[bool] = None, - details: Optional[bool] = True, + filter_string: str | None = None, + filter_id: str | None = None, + delta_report_id: EntityID | None = None, + report_format_id: str | ReportFormatType | None = None, + report_config_id: str | None = None, + ignore_pagination: bool | None = None, + details: bool | None = True, ) -> T: """Request a single scan report @@ -138,12 +138,12 @@ def get_report( def get_reports( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - note_details: Optional[bool] = None, - override_details: Optional[bool] = None, - ignore_pagination: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + note_details: bool | None = None, + override_details: bool | None = None, + ignore_pagination: bool | None = None, + details: bool | None = None, ) -> T: """Request a list of scan reports @@ -173,7 +173,7 @@ def import_report( report: str, task_id: EntityID, *, - in_assets: Optional[bool] = None, + in_assets: bool | None = None, ) -> T: """Import a scan Report from XML @@ -201,12 +201,12 @@ def get_audit_report( self, report_id: EntityID, *, - filter_string: Optional[str] = None, - filter_id: Optional[str] = None, - delta_report_id: Optional[EntityID] = None, - report_format_id: Optional[Union[str, ReportFormatType]] = None, - ignore_pagination: Optional[bool] = None, - details: Optional[bool] = True, + filter_string: str | None = None, + filter_id: str | None = None, + delta_report_id: EntityID | None = None, + report_format_id: str | ReportFormatType | None = None, + ignore_pagination: bool | None = None, + details: bool | None = True, ) -> T: """Request a single audit report @@ -237,12 +237,12 @@ def get_audit_report( def get_audit_reports( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - note_details: Optional[bool] = None, - override_details: Optional[bool] = None, - ignore_pagination: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + note_details: bool | None = None, + override_details: bool | None = None, + ignore_pagination: bool | None = None, + details: bool | None = None, ) -> T: """Request a list of audit reports @@ -271,9 +271,9 @@ def create_filter( self, name: str, *, - filter_type: Optional[FilterType] = None, # type: ignore[override] - comment: Optional[str] = None, - term: Optional[str] = None, + filter_type: FilterType | None = None, # type: ignore[override] + comment: str | None = None, + term: str | None = None, ) -> T: """Create a new filter @@ -295,10 +295,10 @@ def modify_filter( self, filter_id: EntityID, *, - comment: Optional[str] = None, - name: Optional[str] = None, - term: Optional[str] = None, - filter_type: Optional[FilterType] = None, # type: ignore[override] + comment: str | None = None, + name: str | None = None, + term: str | None = None, + filter_type: FilterType | None = None, # type: ignore[override] ) -> T: """Modifies an existing filter. @@ -335,7 +335,7 @@ def delete_report_config( self, report_config_id: EntityID, *, - ultimate: Optional[bool] = False, + ultimate: bool | None = False, ) -> T: """Deletes an existing report config @@ -352,10 +352,10 @@ def delete_report_config( def get_report_configs( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + details: bool | None = None, ) -> T: """Request a list of report configs @@ -390,10 +390,10 @@ def get_report_config( def create_report_config( self, name: str, - report_format_id: Union[EntityID, ReportFormatType], + report_format_id: EntityID | ReportFormatType, *, - comment: Optional[str] = None, - params: Optional[Sequence[ReportConfigParameter]] = None, + comment: str | None = None, + params: Sequence[ReportConfigParameter] | None = None, ) -> T: """Create a report config @@ -413,9 +413,9 @@ def modify_report_config( self, report_config_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - params: Optional[Sequence[ReportConfigParameter]] = None, + name: str | None = None, + comment: str | None = None, + params: Sequence[ReportConfigParameter] | None = None, ) -> T: """Create a report config diff --git a/gvm/protocols/gmp/_gmp227.py b/gvm/protocols/gmp/_gmp227.py index fabaf7abf..b8c9b1566 100644 --- a/gvm/protocols/gmp/_gmp227.py +++ b/gvm/protocols/gmp/_gmp227.py @@ -6,8 +6,6 @@ Greenbone Management Protocol (GMP) version 22.7 """ -from typing import Optional, Union - from .._protocol import T from ._gmp226 import GMPv226 from .requests.v227 import ( @@ -39,14 +37,14 @@ def create_scanner( # type: ignore[override] self, name: str, host: str, - port: Union[str, int], + port: str | int, scanner_type: ScannerType, credential_id: str, *, - ca_pub: Optional[str] = None, - comment: Optional[str] = None, - relay_host: Optional[str] = None, - relay_port: Optional[Union[str, int]] = None, + ca_pub: str | None = None, + comment: str | None = None, + relay_host: str | None = None, + relay_port: str | int | None = None, ) -> T: """Create a new scanner @@ -80,15 +78,15 @@ def modify_scanner( # type: ignore[override] self, scanner_id: EntityID, *, - name: Optional[str] = None, - host: Optional[str] = None, - port: Optional[int] = None, - scanner_type: Optional[ScannerType] = None, - credential_id: Optional[EntityID] = None, - ca_pub: Optional[str] = None, - comment: Optional[str] = None, - relay_host: Optional[str] = None, - relay_port: Optional[Union[str, int]] = None, + name: str | None = None, + host: str | None = None, + port: int | None = None, + scanner_type: ScannerType | None = None, + credential_id: EntityID | None = None, + ca_pub: str | None = None, + comment: str | None = None, + relay_host: str | None = None, + relay_port: str | int | None = None, ) -> T: """Modify an existing scanner @@ -123,10 +121,10 @@ def modify_scanner( # type: ignore[override] def get_scanners( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + details: bool | None = None, ) -> T: """Request a list of scanners @@ -177,7 +175,7 @@ def clone_scanner(self, scanner_id: EntityID) -> T: ) def delete_scanner( - self, scanner_id: EntityID, ultimate: Optional[bool] = False + self, scanner_id: EntityID, ultimate: bool | None = False ) -> T: """Delete an existing scanner diff --git a/gvm/protocols/gmp/_gmpnext.py b/gvm/protocols/gmp/_gmpnext.py index 6656f2be3..8241f718f 100644 --- a/gvm/protocols/gmp/_gmpnext.py +++ b/gvm/protocols/gmp/_gmpnext.py @@ -2,7 +2,8 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Any, Mapping, Optional, Sequence, Union +from collections.abc import Mapping, Sequence +from typing import Any from gvm.protocols.gmp.requests import EntityID @@ -48,10 +49,10 @@ def get_protocol_version() -> tuple[int, int]: def get_agent_installers( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + details: bool | None = None, ) -> T: """Request a list of agent installers @@ -94,9 +95,9 @@ def get_agent_installer_file(self, agent_installer_id: EntityID) -> T: def get_agents( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + details: bool | None = None, ) -> T: """Request a list of agents. @@ -117,10 +118,10 @@ def modify_agents( self, agent_ids: list[EntityID], *, - authorized: Optional[bool] = None, - update_to_latest: Optional[bool] = None, - config: Optional[Mapping[str, Any]] = None, - comment: Optional[str] = None, + authorized: bool | None = None, + update_to_latest: bool | None = None, + config: Mapping[str, Any] | None = None, + comment: str | None = None, ) -> T: """ Modify multiple agents. @@ -174,9 +175,9 @@ def modify_agent_control_scan_config( def get_agent_groups( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, ) -> T: """Request a list of agent groups. @@ -219,7 +220,7 @@ def create_agent_group( name: str, agent_ids: list[str], *, - comment: Optional[str] = None, + comment: str | None = None, ) -> T: """Create a new agent group. @@ -243,9 +244,9 @@ def modify_agent_group( self, agent_group_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - agent_ids: Optional[list[str]] = None, + name: str | None = None, + comment: str | None = None, + agent_ids: list[str] | None = None, ) -> T: """Modify an existing agent group. @@ -311,12 +312,12 @@ def sync_agents(self) -> T: def create_credential_store_credential( self, name: str, - credential_type: Union[CredentialStoreCredentialType, str], + credential_type: CredentialStoreCredentialType | str, *, - comment: Optional[str] = None, - credential_store_id: Optional[EntityID] = None, - vault_id: Optional[str] = None, - host_identifier: Optional[str] = None, + comment: str | None = None, + credential_store_id: EntityID | None = None, + vault_id: str | None = None, + host_identifier: str | None = None, ) -> T: """Create a new credential store type credential @@ -343,11 +344,11 @@ def modify_credential_store_credential( self, credential_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - credential_store_id: Optional[EntityID] = None, - vault_id: Optional[str] = None, - host_identifier: Optional[str] = None, + name: str | None = None, + comment: str | None = None, + credential_store_id: EntityID | None = None, + vault_id: str | None = None, + host_identifier: str | None = None, ) -> T: """Modify an existing credential stored in a credential store @@ -374,7 +375,7 @@ def get_credential_store( self, credential_store_id: EntityID, *, - details: Optional[bool] = None, + details: bool | None = None, ) -> T: """Request a credential store @@ -392,9 +393,9 @@ def get_credential_store( def get_credential_stores( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + details: bool | None = None, ) -> T: """Request a list of credential stores @@ -415,17 +416,17 @@ def modify_credential_store( self, credential_store_id: EntityID, *, - active: Optional[bool] = None, - host: Optional[str] = None, - port: Optional[int] = None, - path: Optional[str] = None, - app_id: Optional[str] = None, - client_cert: Optional[str] = None, - client_key: Optional[str] = None, - client_pkcs12_file: Optional[str] = None, - passphrase: Optional[str] = None, - server_ca_cert: Optional[str] = None, - comment: Optional[str] = None, + active: bool | None = None, + host: str | None = None, + port: int | None = None, + path: str | None = None, + app_id: str | None = None, + client_cert: str | None = None, + client_key: str | None = None, + client_pkcs12_file: str | None = None, + passphrase: str | None = None, + server_ca_cert: str | None = None, + comment: str | None = None, ) -> T: """Modify an existing credential store @@ -481,8 +482,8 @@ def create_oci_image_target( name: str, image_references: list[str], *, - comment: Optional[str] = None, - credential_id: Optional[EntityID] = None, + comment: str | None = None, + credential_id: EntityID | None = None, ) -> T: """Create a new OCI image target @@ -505,10 +506,10 @@ def modify_oci_image_target( self, oci_image_target_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - image_references: Optional[list[str]] = None, - credential_id: Optional[EntityID] = None, + name: str | None = None, + comment: str | None = None, + image_references: list[str] | None = None, + credential_id: EntityID | None = None, ) -> T: """Modify an existing OCI image target. @@ -540,7 +541,7 @@ def clone_oci_image_target(self, oci_image_target_id: EntityID) -> T: ) def delete_oci_image_target( - self, oci_image_target_id: EntityID, *, ultimate: Optional[bool] = False + self, oci_image_target_id: EntityID, *, ultimate: bool | None = False ) -> T: """Delete an existing OCI image target. @@ -555,7 +556,7 @@ def delete_oci_image_target( ) def get_oci_image_target( - self, oci_image_target_id: EntityID, *, tasks: Optional[bool] = None + self, oci_image_target_id: EntityID, *, tasks: bool | None = None ) -> T: """Request a single OCI image target. @@ -572,10 +573,10 @@ def get_oci_image_target( def get_oci_image_targets( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - tasks: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + tasks: bool | None = None, ) -> T: """Request a list of OCI image targets. @@ -610,13 +611,13 @@ def create_agent_group_task( agent_group_id: EntityID, scanner_id: EntityID, *, - comment: Optional[str] = None, - alterable: Optional[bool] = None, - schedule_id: Optional[EntityID] = None, - alert_ids: Optional[Sequence[EntityID]] = None, - schedule_periods: Optional[int] = None, - observers: Optional[Sequence[str]] = None, - preferences: Optional[Mapping[str, SupportsStr]] = None, + comment: str | None = None, + alterable: bool | None = None, + schedule_id: EntityID | None = None, + alert_ids: Sequence[EntityID] | None = None, + schedule_periods: int | None = None, + observers: Sequence[str] | None = None, + preferences: Mapping[str, SupportsStr] | None = None, ) -> T: """Create a new scan task using an agent group. @@ -653,13 +654,13 @@ def create_container_image_task( oci_image_target_id: EntityID, scanner_id: EntityID, *, - comment: Optional[str] = None, - alterable: Optional[bool] = None, - schedule_id: Optional[EntityID] = None, - alert_ids: Optional[Sequence[EntityID]] = None, - schedule_periods: Optional[int] = None, - observers: Optional[Sequence[str]] = None, - preferences: Optional[Mapping[str, SupportsStr]] = None, + comment: str | None = None, + alterable: bool | None = None, + schedule_id: EntityID | None = None, + alert_ids: Sequence[EntityID] | None = None, + schedule_periods: int | None = None, + observers: Sequence[str] | None = None, + preferences: Mapping[str, SupportsStr] | None = None, ) -> T: """Create a new scan task using an OCI image target. @@ -690,9 +691,7 @@ def create_container_image_task( ) ) - def create_import_task( - self, name: str, *, comment: Optional[str] = None - ) -> T: + def create_import_task(self, name: str, *, comment: str | None = None) -> T: """Create a new import task An import task is a "meta" task to import and view reports from other @@ -707,7 +706,7 @@ def create_import_task( ) def create_container_task( - self, name: str, *, comment: Optional[str] = None + self, name: str, *, comment: str | None = None ) -> T: """[DEPRECATED] Use create_import_task instead. @@ -724,14 +723,14 @@ def create_task( target_id: EntityID, scanner_id: EntityID, *, - alterable: Optional[bool] = None, - hosts_ordering: Optional[HostsOrdering] = None, - schedule_id: Optional[EntityID] = None, - alert_ids: Optional[Sequence[EntityID]] = None, - comment: Optional[str] = None, - schedule_periods: Optional[int] = None, - observers: Optional[Sequence[str]] = None, - preferences: Optional[Mapping[str, SupportsStr]] = None, + alterable: bool | None = None, + hosts_ordering: HostsOrdering | None = None, + schedule_id: EntityID | None = None, + alert_ids: Sequence[EntityID] | None = None, + comment: str | None = None, + schedule_periods: int | None = None, + observers: Sequence[str] | None = None, + preferences: Mapping[str, SupportsStr] | None = None, ) -> T: """Create a new scan task @@ -769,7 +768,7 @@ def create_task( ) def delete_task( - self, task_id: EntityID, *, ultimate: Optional[bool] = False + self, task_id: EntityID, *, ultimate: bool | None = False ) -> T: """Deletes an existing task @@ -784,12 +783,12 @@ def delete_task( def get_tasks( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - details: Optional[bool] = None, - schedules_only: Optional[bool] = None, - ignore_pagination: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + details: bool | None = None, + schedules_only: bool | None = None, + ignore_pagination: bool | None = None, ) -> T: """Request a list of tasks @@ -828,20 +827,20 @@ def modify_task( self, task_id: EntityID, *, - name: Optional[str] = None, - config_id: Optional[EntityID] = None, - target_id: Optional[EntityID] = None, - scanner_id: Optional[EntityID] = None, - agent_group_id: Optional[EntityID] = None, - oci_image_target_id: Optional[EntityID] = None, - alterable: Optional[bool] = None, - hosts_ordering: Optional[HostsOrdering] = None, - schedule_id: Optional[EntityID] = None, - schedule_periods: Optional[int] = None, - comment: Optional[str] = None, - alert_ids: Optional[Sequence[EntityID]] = None, - observers: Optional[Sequence[str]] = None, - preferences: Optional[Mapping[str, SupportsStr]] = None, + name: str | None = None, + config_id: EntityID | None = None, + target_id: EntityID | None = None, + scanner_id: EntityID | None = None, + agent_group_id: EntityID | None = None, + oci_image_target_id: EntityID | None = None, + alterable: bool | None = None, + hosts_ordering: HostsOrdering | None = None, + schedule_id: EntityID | None = None, + schedule_periods: int | None = None, + comment: str | None = None, + alert_ids: Sequence[EntityID] | None = None, + observers: Sequence[str] | None = None, + preferences: Mapping[str, SupportsStr] | None = None, ) -> T: """Modifies an existing task. @@ -884,7 +883,7 @@ def modify_task( ) def move_task( - self, task_id: EntityID, *, slave_id: Optional[EntityID] = None + self, task_id: EntityID, *, slave_id: EntityID | None = None ) -> T: """Move an existing task to another GMP slave scanner or the master @@ -930,7 +929,7 @@ def stop_task(self, task_id: EntityID) -> T: ) def get_integration_config( - self, integration_config_id: EntityID, *, details: Optional[bool] = None + self, integration_config_id: EntityID, *, details: bool | None = None ) -> T: """Request a single Integration Configuration. @@ -947,8 +946,8 @@ def get_integration_config( def get_integration_configs( self, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, ) -> T: """Request a list of Integration Configurations. @@ -967,11 +966,11 @@ def modify_integration_config( self, integration_config_id: EntityID, *, - service_url: Optional[str] = None, - service_cacert: Optional[str] = None, - oidc_provider_url: Optional[str] = None, - oidc_provider_client_id: Optional[str] = None, - oidc_provider_client_secret: Optional[str] = None, + service_url: str | None = None, + service_cacert: str | None = None, + oidc_provider_url: str | None = None, + oidc_provider_client_id: str | None = None, + oidc_provider_client_secret: str | None = None, ) -> T: """Modify an existing Integration Configuration. diff --git a/gvm/protocols/gmp/requests/_entity_id.py b/gvm/protocols/gmp/requests/_entity_id.py index 4a3aa253a..34605e3d1 100644 --- a/gvm/protocols/gmp/requests/_entity_id.py +++ b/gvm/protocols/gmp/requests/_entity_id.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Union from uuid import UUID -EntityID = Union[str, UUID] +EntityID = str | UUID diff --git a/gvm/protocols/gmp/requests/next/__init__.py b/gvm/protocols/gmp/requests/next/__init__.py index f18fcd1ef..92f47f33d 100644 --- a/gvm/protocols/gmp/requests/next/__init__.py +++ b/gvm/protocols/gmp/requests/next/__init__.py @@ -90,31 +90,31 @@ "AgentGroups", "AgentInstallers", "Agents", - "Aggregates", "AggregateStatistic", - "Alerts", + "Aggregates", "AlertCondition", "AlertEvent", "AlertMethod", + "Alerts", "AliveTest", "AuditReports", "Audits", "Authentication", "CertBundAdvisories", "Cpes", - "Credentials", "CredentialFormat", - "CredentialType", "CredentialStoreCredentialType", "CredentialStores", + "CredentialType", + "Credentials", "Cves", "DfnCertAdvisories", "EntityID", "EntityType", "Feed", "FeedType", - "Filters", "FilterType", + "Filters", "Groups", "Help", "HelpFormat", @@ -127,13 +127,13 @@ "OCIImageTargets", "OperatingSystems", "Overrides", - "Permissions", "PermissionSubjectType", + "Permissions", "Policies", "PortLists", "PortRangeType", - "ReportConfigs", "ReportConfigParameter", + "ReportConfigs", "ReportFormatType", "ReportFormats", "Reports", @@ -142,21 +142,21 @@ "Results", "Roles", "ScanConfigs", - "Scanners", "ScannerType", + "Scanners", "Schedules", "SecInfo", "Severity", - "SortOrder", "SnmpAuthAlgorithm", "SnmpPrivacyAlgorithm", + "SortOrder", "SystemReports", + "TLSCertificates", "Tags", "Targets", "Tasks", - "Tickets", "TicketStatus", - "TLSCertificates", + "Tickets", "TrashCan", "UserAuthType", "UserSettings", diff --git a/gvm/protocols/gmp/requests/next/_agent_groups.py b/gvm/protocols/gmp/requests/next/_agent_groups.py index 0753ef231..1d93f6d99 100644 --- a/gvm/protocols/gmp/requests/next/_agent_groups.py +++ b/gvm/protocols/gmp/requests/next/_agent_groups.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -18,7 +17,7 @@ def create_agent_group( name: str, agent_ids: list[str], *, - comment: Optional[str] = None, + comment: str | None = None, ) -> Request: """Create a new agent group. @@ -78,9 +77,9 @@ def modify_agent_group( cls, agent_group_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - agent_ids: Optional[list[str]] = None, + name: str | None = None, + comment: str | None = None, + agent_ids: list[str] | None = None, ) -> Request: """Modify an existing agent group. @@ -120,7 +119,7 @@ def delete_agent_group( cls, agent_group_id: EntityID, *, - ultimate: Optional[bool] = False, + ultimate: bool | None = False, ) -> Request: """Delete an existing agent group. @@ -147,9 +146,9 @@ def delete_agent_group( def get_agent_groups( cls, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, ) -> Request: """Request a list of agent groups. diff --git a/gvm/protocols/gmp/requests/next/_agent_installers.py b/gvm/protocols/gmp/requests/next/_agent_installers.py index 9de4723da..fae64c559 100644 --- a/gvm/protocols/gmp/requests/next/_agent_installers.py +++ b/gvm/protocols/gmp/requests/next/_agent_installers.py @@ -4,7 +4,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -14,14 +13,13 @@ class AgentInstallers: - @staticmethod def get_agent_installers( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + details: bool | None = None, ) -> Request: """Request a list of agent installers diff --git a/gvm/protocols/gmp/requests/next/_agents.py b/gvm/protocols/gmp/requests/next/_agents.py index 83f5a1343..b9fdc4121 100644 --- a/gvm/protocols/gmp/requests/next/_agents.py +++ b/gvm/protocols/gmp/requests/next/_agents.py @@ -2,7 +2,8 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Any, Mapping, Optional, Sequence +from collections.abc import Mapping, Sequence +from typing import Any from gvm.errors import InvalidArgumentType, RequiredArgument from gvm.protocols.core import Request @@ -142,7 +143,7 @@ def _append_agent_config( cls, parent, config: Mapping[str, Any], - wrapper_tag: Optional[str] = "config", + wrapper_tag: str | None = "config", ) -> None: """ Append an agent configuration block to the given XML parent element. @@ -154,19 +155,19 @@ def _append_agent_config( "retry": { "attempts": 6, "delay_in_seconds": 60, - "max_jitter_in_seconds": 10 + "max_jitter_in_seconds": 10, } }, "agent_script_executor": { "bulk_size": 2, "bulk_throttle_time_in_ms": 300, "indexer_dir_depth": 100, - "scheduler_cron_time": ["0 */12 * * *"] + "scheduler_cron_time": ["0 */12 * * *"], }, "heartbeat": { "interval_in_seconds": 300, - "miss_until_inactive": 1 - } + "miss_until_inactive": 1, + }, } Args: @@ -261,9 +262,9 @@ def _append_config_defaults( def get_agents( cls, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + details: bool | None = None, ) -> Request: """Request a list of agents. @@ -285,10 +286,10 @@ def modify_agents( cls, agent_ids: list[EntityID], *, - authorized: Optional[bool] = None, - update_to_latest: Optional[bool] = None, - config: Optional[Mapping[str, Any]] = None, - comment: Optional[str] = None, + authorized: bool | None = None, + update_to_latest: bool | None = None, + config: Mapping[str, Any] | None = None, + comment: str | None = None, ) -> Request: """ Modify multiple agents. diff --git a/gvm/protocols/gmp/requests/next/_credential_stores.py b/gvm/protocols/gmp/requests/next/_credential_stores.py index 67ae0db65..b6ad9d48b 100644 --- a/gvm/protocols/gmp/requests/next/_credential_stores.py +++ b/gvm/protocols/gmp/requests/next/_credential_stores.py @@ -3,7 +3,6 @@ # SPDX-License-Identifier: GPL-3.0-or-later from base64 import b64encode -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -19,7 +18,7 @@ def get_credential_store( cls, credential_store_id: EntityID, *, - details: Optional[bool] = None, + details: bool | None = None, ) -> Request: """Request a credential store @@ -46,9 +45,9 @@ def get_credential_store( def get_credential_stores( cls, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + details: bool | None = None, ) -> Request: """Request a list of credential stores @@ -71,17 +70,17 @@ def modify_credential_store( cls, credential_store_id: EntityID, *, - active: Optional[bool] = None, - host: Optional[str] = None, - port: Optional[int] = None, - path: Optional[str] = None, - app_id: Optional[str] = None, - client_cert: Optional[str] = None, - client_key: Optional[str] = None, - client_pkcs12_file: Optional[str] = None, - passphrase: Optional[str] = None, - server_ca_cert: Optional[str] = None, - comment: Optional[str] = None, + active: bool | None = None, + host: str | None = None, + port: int | None = None, + path: str | None = None, + app_id: str | None = None, + client_cert: str | None = None, + client_key: str | None = None, + client_pkcs12_file: str | None = None, + passphrase: str | None = None, + server_ca_cert: str | None = None, + comment: str | None = None, ) -> Request: """Modify a credential store diff --git a/gvm/protocols/gmp/requests/next/_credentials.py b/gvm/protocols/gmp/requests/next/_credentials.py index a8e9d454f..6868e363d 100644 --- a/gvm/protocols/gmp/requests/next/_credentials.py +++ b/gvm/protocols/gmp/requests/next/_credentials.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union from gvm._enum import Enum from gvm.errors import InvalidArgument, RequiredArgument @@ -32,12 +31,12 @@ class Credentials(CredentialsV224): def create_credential_store_credential( cls, name: str, - credential_type: Union[CredentialStoreCredentialType, str], + credential_type: CredentialStoreCredentialType | str, *, - comment: Optional[str] = None, - credential_store_id: Optional[EntityID] = None, - vault_id: Optional[str] = None, - host_identifier: Optional[str] = None, + comment: str | None = None, + credential_store_id: EntityID | None = None, + vault_id: str | None = None, + host_identifier: str | None = None, ) -> Request: """Create a new credential that is fetched from a credential store @@ -68,10 +67,10 @@ def create_credential_store_credential( .. code-block:: python request = Credentials.create_credential( - name='Credential-Store Password-Only Credential', + name="Credential-Store Password-Only Credential", credential_type=CredentialType.CREDENTIAL_STOREPASSWORD_ONLY, - vault_id='a5f84dd4-da18-447c-a9fb-b77b5df49076', - host_identifier='/My/Secret', + vault_id="a5f84dd4-da18-447c-a9fb-b77b5df49076", + host_identifier="/My/Secret", ) """ if not name: @@ -138,11 +137,11 @@ def modify_credential_store_credential( cls, credential_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - credential_store_id: Optional[EntityID] = None, - vault_id: Optional[str] = None, - host_identifier: Optional[str] = None, + name: str | None = None, + comment: str | None = None, + credential_store_id: EntityID | None = None, + vault_id: str | None = None, + host_identifier: str | None = None, ) -> Request: """Modifies an existing credential. diff --git a/gvm/protocols/gmp/requests/next/_integration_configs.py b/gvm/protocols/gmp/requests/next/_integration_configs.py index 6cfea2043..d05768524 100644 --- a/gvm/protocols/gmp/requests/next/_integration_configs.py +++ b/gvm/protocols/gmp/requests/next/_integration_configs.py @@ -1,5 +1,3 @@ -from typing import Optional - from gvm.errors import RequiredArgument from gvm.protocols.core import Request from gvm.protocols.gmp.requests import EntityID @@ -10,7 +8,7 @@ class IntegrationConfigs: @classmethod def get_integration_config( - cls, integration_config_id: EntityID, *, details: Optional[bool] = None + cls, integration_config_id: EntityID, *, details: bool | None = None ) -> Request: """Request a single Integration Configuration. @@ -36,8 +34,8 @@ def get_integration_config( def get_integration_configs( cls, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, ) -> Request: """Request a list of Integration Configurations. @@ -55,11 +53,11 @@ def modify_integration_config( cls, integration_config_id: EntityID, *, - service_url: Optional[str] = None, - service_cacert: Optional[str] = None, - oidc_provider_url: Optional[str] = None, - oidc_provider_client_id: Optional[str] = None, - oidc_provider_client_secret: Optional[str] = None, + service_url: str | None = None, + service_cacert: str | None = None, + oidc_provider_url: str | None = None, + oidc_provider_client_id: str | None = None, + oidc_provider_client_secret: str | None = None, ) -> Request: """Modify an existing Integration Configuration. diff --git a/gvm/protocols/gmp/requests/next/_oci_image_targets.py b/gvm/protocols/gmp/requests/next/_oci_image_targets.py index 9605e2b0d..b99b65a3b 100644 --- a/gvm/protocols/gmp/requests/next/_oci_image_targets.py +++ b/gvm/protocols/gmp/requests/next/_oci_image_targets.py @@ -3,7 +3,6 @@ # SPDX-License-Identifier: GPL-3.0-or-later # -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -19,8 +18,8 @@ def create_oci_image_target( name: str, image_references: list[str], *, - comment: Optional[str] = None, - credential_id: Optional[EntityID] = None, + comment: str | None = None, + credential_id: EntityID | None = None, ) -> Request: """Create a new OCI image target @@ -58,10 +57,10 @@ def modify_oci_image_target( cls, oci_image_target_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - image_references: Optional[list[str]] = None, - credential_id: Optional[EntityID] = None, + name: str | None = None, + comment: str | None = None, + image_references: list[str] | None = None, + credential_id: EntityID | None = None, ) -> Request: """Modify an existing target. @@ -114,7 +113,7 @@ def clone_oci_image_target(cls, oci_image_target_id: EntityID) -> Request: @classmethod def delete_oci_image_target( - cls, oci_image_target_id: EntityID, *, ultimate: Optional[bool] = False + cls, oci_image_target_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Delete an existing OCI image target. @@ -135,7 +134,7 @@ def delete_oci_image_target( @classmethod def get_oci_image_target( - cls, oci_image_target_id: EntityID, *, tasks: Optional[bool] = None + cls, oci_image_target_id: EntityID, *, tasks: bool | None = None ) -> Request: """Request a single OCI Image target. @@ -161,10 +160,10 @@ def get_oci_image_target( def get_oci_image_targets( cls, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - tasks: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + tasks: bool | None = None, ) -> Request: """Request a list of OCI image targets. diff --git a/gvm/protocols/gmp/requests/next/_tasks.py b/gvm/protocols/gmp/requests/next/_tasks.py index cb4945afc..52d63d635 100644 --- a/gvm/protocols/gmp/requests/next/_tasks.py +++ b/gvm/protocols/gmp/requests/next/_tasks.py @@ -2,8 +2,8 @@ # # SPDX-License-Identifier: GPL-3.0-or-later +from collections.abc import Mapping, Sequence from numbers import Integral -from typing import Mapping, Optional, Sequence from gvm.errors import InvalidArgument, RequiredArgument from gvm.protocols.core import Request @@ -15,7 +15,6 @@ class Tasks: - @classmethod def clone_task(cls, task_id: EntityID) -> Request: """Clone an existing task @@ -39,13 +38,13 @@ def create_agent_group_task( agent_group_id: EntityID, scanner_id: EntityID, *, - comment: Optional[str] = None, - alterable: Optional[bool] = None, - schedule_id: Optional[EntityID] = None, - alert_ids: Optional[Sequence[EntityID]] = None, - schedule_periods: Optional[int] = None, - observers: Optional[Sequence[str]] = None, - preferences: Optional[Mapping[str, SupportsStr]] = None, + comment: str | None = None, + alterable: bool | None = None, + schedule_id: EntityID | None = None, + alert_ids: Sequence[EntityID] | None = None, + schedule_periods: int | None = None, + observers: Sequence[str] | None = None, + preferences: Mapping[str, SupportsStr] | None = None, ) -> Request: """Create a new scan task using an agent group. @@ -126,13 +125,13 @@ def create_container_image_task( oci_image_target_id: EntityID, scanner_id: EntityID, *, - comment: Optional[str] = None, - alterable: Optional[bool] = None, - schedule_id: Optional[EntityID] = None, - alert_ids: Optional[Sequence[EntityID]] = None, - schedule_periods: Optional[int] = None, - observers: Optional[Sequence[str]] = None, - preferences: Optional[Mapping[str, SupportsStr]] = None, + comment: str | None = None, + alterable: bool | None = None, + schedule_id: EntityID | None = None, + alert_ids: Sequence[EntityID] | None = None, + schedule_periods: int | None = None, + observers: Sequence[str] | None = None, + preferences: Mapping[str, SupportsStr] | None = None, ) -> Request: """Create a new scan task using an OCI image target. @@ -211,7 +210,7 @@ def create_container_image_task( @classmethod def create_import_task( - cls, name: str, *, comment: Optional[str] = None + cls, name: str, *, comment: str | None = None ) -> Request: """Create a new import task @@ -241,7 +240,7 @@ def create_import_task( "The function is obsolete. Please use create_import_task instead." ) def create_container_task( - cls, name: str, *, comment: Optional[str] = None + cls, name: str, *, comment: str | None = None ) -> "Request": """[DEPRECATED] Use create_import_task instead. @@ -257,14 +256,14 @@ def create_task( target_id: EntityID, scanner_id: EntityID, *, - alterable: Optional[bool] = None, - hosts_ordering: Optional[HostsOrdering] = None, - schedule_id: Optional[EntityID] = None, - alert_ids: Optional[Sequence[EntityID]] = None, - comment: Optional[str] = None, - schedule_periods: Optional[int] = None, - observers: Optional[Sequence[str]] = None, - preferences: Optional[Mapping[str, SupportsStr]] = None, + alterable: bool | None = None, + hosts_ordering: HostsOrdering | None = None, + schedule_id: EntityID | None = None, + alert_ids: Sequence[EntityID] | None = None, + comment: str | None = None, + schedule_periods: int | None = None, + observers: Sequence[str] | None = None, + preferences: Mapping[str, SupportsStr] | None = None, ) -> Request: """Create a new scan task @@ -363,7 +362,7 @@ def create_task( @classmethod def delete_task( - cls, task_id: EntityID, *, ultimate: Optional[bool] = False + cls, task_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Deletes an existing task @@ -385,12 +384,12 @@ def delete_task( @staticmethod def get_tasks( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - details: Optional[bool] = None, - schedules_only: Optional[bool] = None, - ignore_pagination: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + details: bool | None = None, + schedules_only: bool | None = None, + ignore_pagination: bool | None = None, ) -> Request: """Request a list of tasks @@ -448,20 +447,20 @@ def modify_task( cls, task_id: EntityID, *, - name: Optional[str] = None, - config_id: Optional[EntityID] = None, - target_id: Optional[EntityID] = None, - scanner_id: Optional[EntityID] = None, - agent_group_id: Optional[EntityID] = None, - oci_image_target_id: Optional[EntityID] = None, - alterable: Optional[bool] = None, - hosts_ordering: Optional[HostsOrdering] = None, - schedule_id: Optional[EntityID] = None, - schedule_periods: Optional[int] = None, - comment: Optional[str] = None, - alert_ids: Optional[Sequence[EntityID]] = None, - observers: Optional[Sequence[str]] = None, - preferences: Optional[Mapping[str, SupportsStr]] = None, + name: str | None = None, + config_id: EntityID | None = None, + target_id: EntityID | None = None, + scanner_id: EntityID | None = None, + agent_group_id: EntityID | None = None, + oci_image_target_id: EntityID | None = None, + alterable: bool | None = None, + hosts_ordering: HostsOrdering | None = None, + schedule_id: EntityID | None = None, + schedule_periods: int | None = None, + comment: str | None = None, + alert_ids: Sequence[EntityID] | None = None, + observers: Sequence[str] | None = None, + preferences: Mapping[str, SupportsStr] | None = None, ) -> Request: """Modifies an existing task. @@ -490,8 +489,12 @@ def modify_task( if ( sum( - id is not None - for id in (target_id, agent_group_id, oci_image_target_id) + entity_id is not None + for entity_id in ( + target_id, + agent_group_id, + oci_image_target_id, + ) ) > 1 ): @@ -570,7 +573,7 @@ def modify_task( @classmethod def move_task( - cls, task_id: EntityID, *, slave_id: Optional[EntityID] = None + cls, task_id: EntityID, *, slave_id: EntityID | None = None ) -> Request: """Move an existing task to another GMP slave scanner or the master diff --git a/gvm/protocols/gmp/requests/v224/__init__.py b/gvm/protocols/gmp/requests/v224/__init__.py index d3624501f..35da77f4d 100644 --- a/gvm/protocols/gmp/requests/v224/__init__.py +++ b/gvm/protocols/gmp/requests/v224/__init__.py @@ -57,28 +57,28 @@ from ._vulnerabilities import Vulnerabilities __all__ = ( - "Aggregates", "AggregateStatistic", - "Alerts", + "Aggregates", "AlertCondition", "AlertEvent", "AlertMethod", + "Alerts", "AliveTest", "Audits", "Authentication", "CertBundAdvisories", "Cpes", - "Credentials", "CredentialFormat", "CredentialType", + "Credentials", "Cves", "DfnCertAdvisories", "EntityID", "EntityType", "Feed", "FeedType", - "Filters", "FilterType", + "Filters", "Groups", "Help", "HelpFormat", @@ -89,8 +89,8 @@ "Nvts", "OperatingSystems", "Overrides", - "Permissions", "PermissionSubjectType", + "Permissions", "Policies", "PortLists", "PortRangeType", @@ -100,21 +100,21 @@ "Results", "Roles", "ScanConfigs", - "Scanners", "ScannerType", + "Scanners", "Schedules", "SecInfo", "Severity", - "SortOrder", "SnmpAuthAlgorithm", "SnmpPrivacyAlgorithm", + "SortOrder", "SystemReports", + "TLSCertificates", "Tags", "Targets", "Tasks", - "Tickets", "TicketStatus", - "TLSCertificates", + "Tickets", "TrashCan", "UserAuthType", "UserSettings", diff --git a/gvm/protocols/gmp/requests/v224/_aggregates.py b/gvm/protocols/gmp/requests/v224/_aggregates.py index ca70e4410..8ebafbbed 100644 --- a/gvm/protocols/gmp/requests/v224/_aggregates.py +++ b/gvm/protocols/gmp/requests/v224/_aggregates.py @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Iterable, Optional, Union +from collections.abc import Iterable from gvm._enum import Enum from gvm.errors import InvalidArgumentType, RequiredArgument @@ -38,20 +38,19 @@ class Aggregates: @classmethod def get_aggregates( cls, - resource_type: Union[EntityType, str], + resource_type: EntityType | str, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - sort_criteria: Optional[ - Iterable[dict[str, Union[str, SortOrder, AggregateStatistic]]] - ] = None, - data_columns: Optional[Union[Iterable[str], str]] = None, - group_column: Optional[str] = None, - subgroup_column: Optional[str] = None, - text_columns: Optional[Union[Iterable[str], str]] = None, - first_group: Optional[int] = None, - max_groups: Optional[int] = None, - mode: Optional[int] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + sort_criteria: Iterable[dict[str, str | SortOrder | AggregateStatistic]] + | None = None, + data_columns: Iterable[str] | str | None = None, + group_column: str | None = None, + subgroup_column: str | None = None, + text_columns: Iterable[str] | str | None = None, + first_group: int | None = None, + max_groups: int | None = None, + mode: int | None = None, **kwargs, ) -> Request: """Request aggregated information on a resource / entity type diff --git a/gvm/protocols/gmp/requests/v224/_alerts.py b/gvm/protocols/gmp/requests/v224/_alerts.py index 31e436bb7..e12a95a2d 100644 --- a/gvm/protocols/gmp/requests/v224/_alerts.py +++ b/gvm/protocols/gmp/requests/v224/_alerts.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union from gvm._enum import Enum from gvm.errors import InvalidArgument, RequiredArgument @@ -55,8 +54,8 @@ class AlertMethod(Enum): def _check_event( event: AlertEvent, - condition: Optional[AlertCondition], - method: Optional[AlertMethod], + condition: AlertCondition | None, + method: AlertMethod | None, ): if event == AlertEvent.TASK_RUN_STATUS_CHANGED: if not condition: @@ -139,11 +138,11 @@ def create_alert( event: AlertEvent, method: AlertMethod, *, - method_data: Optional[dict[str, str]] = None, - event_data: Optional[dict[str, str]] = None, - condition_data: Optional[dict[str, str]] = None, - filter_id: Optional[EntityID] = None, - comment: Optional[str] = None, + method_data: dict[str, str] | None = None, + event_data: dict[str, str] | None = None, + condition_data: dict[str, str] | None = None, + filter_id: EntityID | None = None, + comment: str | None = None, ) -> Request: """Create a new alert @@ -234,15 +233,15 @@ def modify_alert( cls, alert_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - filter_id: Optional[EntityID] = None, - event: Optional[Union[AlertEvent, str]] = None, - event_data: Optional[dict] = None, - condition: Optional[Union[AlertCondition, str]] = None, - condition_data: Optional[dict[str, str]] = None, - method: Optional[Union[AlertMethod, str]] = None, - method_data: Optional[dict[str, str]] = None, + name: str | None = None, + comment: str | None = None, + filter_id: EntityID | None = None, + event: AlertEvent | str | None = None, + event_data: dict | None = None, + condition: AlertCondition | str | None = None, + condition_data: dict[str, str] | None = None, + method: AlertMethod | str | None = None, + method_data: dict[str, str] | None = None, ) -> Request: """Modify an existing alert. @@ -340,7 +339,7 @@ def clone_alert(cls, alert_id: EntityID) -> Request: @classmethod def delete_alert( - cls, alert_id: EntityID, *, ultimate: Optional[bool] = False + cls, alert_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Delete an existing alert @@ -382,10 +381,10 @@ def trigger_alert( alert_id: EntityID, report_id: EntityID, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - report_format_id: Optional[Union[EntityID, ReportFormatType]] = None, - delta_report_id: Optional[EntityID] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + report_format_id: EntityID | ReportFormatType | None = None, + delta_report_id: EntityID | None = None, ) -> Request: """Run an alert by ignoring its event and conditions @@ -428,10 +427,10 @@ def trigger_alert( @staticmethod def get_alerts( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - tasks: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + tasks: bool | None = None, ) -> Request: """Request a list of alerts @@ -454,7 +453,7 @@ def get_alerts( @classmethod def get_alert( - cls, alert_id: EntityID, *, tasks: Optional[bool] = None + cls, alert_id: EntityID, *, tasks: bool | None = None ) -> Request: """Request a single alert diff --git a/gvm/protocols/gmp/requests/v224/_audits.py b/gvm/protocols/gmp/requests/v224/_audits.py index a6e685100..0e5d9410a 100644 --- a/gvm/protocols/gmp/requests/v224/_audits.py +++ b/gvm/protocols/gmp/requests/v224/_audits.py @@ -3,7 +3,6 @@ # SPDX-License-Identifier: GPL-3.0-or-later from numbers import Integral -from typing import Optional, Union from gvm.errors import InvalidArgument, RequiredArgument from gvm.protocols.core import Request @@ -23,14 +22,14 @@ def create_audit( target_id: EntityID, scanner_id: EntityID, *, - alterable: Optional[bool] = None, - hosts_ordering: Optional[Union[HostsOrdering, str]] = None, - schedule_id: Optional[str] = None, - alert_ids: Optional[list[EntityID]] = None, - comment: Optional[str] = None, - schedule_periods: Optional[int] = None, - observers: Optional[list[EntityID]] = None, - preferences: Optional[dict[str, str]] = None, + alterable: bool | None = None, + hosts_ordering: HostsOrdering | str | None = None, + schedule_id: str | None = None, + alert_ids: list[EntityID] | None = None, + comment: str | None = None, + schedule_periods: int | None = None, + observers: list[EntityID] | None = None, + preferences: dict[str, str] | None = None, ) -> Request: """Create a new audit @@ -132,18 +131,18 @@ def modify_audit( cls, audit_id: EntityID, *, - name: Optional[str] = None, - policy_id: Optional[EntityID] = None, - target_id: Optional[EntityID] = None, - scanner_id: Optional[EntityID] = None, - alterable: Optional[bool] = None, - hosts_ordering: Optional[Union[str, HostsOrdering]] = None, - schedule_id: Optional[EntityID] = None, - schedule_periods: Optional[int] = None, - comment: Optional[str] = None, - alert_ids: Optional[list[EntityID]] = None, - observers: Optional[list[EntityID]] = None, - preferences: Optional[dict[str, str]] = None, + name: str | None = None, + policy_id: EntityID | None = None, + target_id: EntityID | None = None, + scanner_id: EntityID | None = None, + alterable: bool | None = None, + hosts_ordering: str | HostsOrdering | None = None, + schedule_id: EntityID | None = None, + schedule_periods: int | None = None, + comment: str | None = None, + alert_ids: list[EntityID] | None = None, + observers: list[EntityID] | None = None, + preferences: dict[str, str] | None = None, ) -> Request: """Modifies an existing audit. @@ -245,7 +244,7 @@ def clone_audit(cls, audit_id: EntityID) -> Request: @classmethod def delete_audit( - cls, audit_id: EntityID, *, ultimate: Optional[bool] = False + cls, audit_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Delete an existing audit @@ -266,11 +265,11 @@ def delete_audit( @staticmethod def get_audits( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - details: Optional[bool] = None, - schedules_only: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + details: bool | None = None, + schedules_only: bool | None = None, ) -> Request: """Request a list of audits diff --git a/gvm/protocols/gmp/requests/v224/_auth.py b/gvm/protocols/gmp/requests/v224/_auth.py index a607b5dbe..0301aa1e7 100644 --- a/gvm/protocols/gmp/requests/v224/_auth.py +++ b/gvm/protocols/gmp/requests/v224/_auth.py @@ -8,7 +8,6 @@ class Authentication: - @classmethod def authenticate(cls, username: str, password: str) -> Request: """Authenticate to gvmd. diff --git a/gvm/protocols/gmp/requests/v224/_cert_bund_advisories.py b/gvm/protocols/gmp/requests/v224/_cert_bund_advisories.py index c19880587..dde9ed72a 100644 --- a/gvm/protocols/gmp/requests/v224/_cert_bund_advisories.py +++ b/gvm/protocols/gmp/requests/v224/_cert_bund_advisories.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -13,14 +12,13 @@ class CertBundAdvisories: - @staticmethod def get_cert_bund_advisories( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - name: Optional[str] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + name: str | None = None, + details: bool | None = None, ) -> Request: """Request a list of CERT-BUND Advisories diff --git a/gvm/protocols/gmp/requests/v224/_cpes.py b/gvm/protocols/gmp/requests/v224/_cpes.py index ae57a84f7..e7256d3b5 100644 --- a/gvm/protocols/gmp/requests/v224/_cpes.py +++ b/gvm/protocols/gmp/requests/v224/_cpes.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -13,14 +12,13 @@ class Cpes: - @staticmethod def get_cpes( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - name: Optional[str] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + name: str | None = None, + details: bool | None = None, ) -> Request: """Request a list of CPEs diff --git a/gvm/protocols/gmp/requests/v224/_credentials.py b/gvm/protocols/gmp/requests/v224/_credentials.py index f0518fea4..3559d2450 100644 --- a/gvm/protocols/gmp/requests/v224/_credentials.py +++ b/gvm/protocols/gmp/requests/v224/_credentials.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union from gvm._enum import Enum from gvm.errors import RequiredArgument @@ -71,20 +70,20 @@ def clone_credential(cls, credential_id: EntityID) -> Request: def create_credential( cls, name: str, - credential_type: Union[CredentialType, str], + credential_type: CredentialType | str, *, - comment: Optional[str] = None, - allow_insecure: Optional[bool] = None, - certificate: Optional[str] = None, - key_phrase: Optional[str] = None, - private_key: Optional[str] = None, - login: Optional[str] = None, - password: Optional[str] = None, - auth_algorithm: Optional[Union[SnmpAuthAlgorithm, str]] = None, - community: Optional[str] = None, - privacy_algorithm: Optional[Union[SnmpPrivacyAlgorithm, str]] = None, - privacy_password: Optional[str] = None, - public_key: Optional[str] = None, + comment: str | None = None, + allow_insecure: bool | None = None, + certificate: str | None = None, + key_phrase: str | None = None, + private_key: str | None = None, + login: str | None = None, + password: str | None = None, + auth_algorithm: SnmpAuthAlgorithm | str | None = None, + community: str | None = None, + privacy_algorithm: SnmpPrivacyAlgorithm | str | None = None, + privacy_password: str | None = None, + public_key: str | None = None, ) -> Request: """Create a new credential @@ -131,24 +130,24 @@ def create_credential( .. code-block:: python request = Credentials.create_credential( - name='UP Credential', + name="UP Credential", credential_type=CredentialType.USERNAME_PASSWORD, - login='foo', - password='bar', + login="foo", + password="bar", ) Creating a Username + SSH Key credential .. code-block:: python - with open('path/to/private-ssh-key') as f: + with open("path/to/private-ssh-key") as f: key = f.read() request = Credentials.create_credential( - name='USK Credential', + name="USK Credential", credential_type=CredentialType.USERNAME_SSH_KEY, - login='foo', - key_phrase='foobar', + login="foo", + key_phrase="foobar", private_key=key, ) @@ -163,11 +162,11 @@ def create_credential( .. code-block:: python - with open('path/to/pgp.key.asc') as f: + with open("path/to/pgp.key.asc") as f: key = f.read() request = Credentials.create_credential( - name='PGP Credential', + name="PGP Credential", credential_type=CredentialType.PGP_ENCRYPTION_KEY, public_key=key, ) @@ -176,11 +175,11 @@ def create_credential( .. code-block:: python - with open('path/to/smime-cert') as f: + with open("path/to/smime-cert") as f: cert = f.read() request = Credentials.create_credential( - name='SMIME Credential', + name="SMIME Credential", credential_type=CredentialType.SMIME_CERTIFICATE, certificate=cert, ) @@ -190,9 +189,9 @@ def create_credential( .. code-block:: python request = Credentials.create_credential( - name='Password-Only Credential', + name="Password-Only Credential", credential_type=CredentialType.PASSWORD_ONLY, - password='foo', + password="foo", ) Creating an auto-generated password @@ -200,9 +199,9 @@ def create_credential( .. code-block:: python request = Credentials.create_credential( - name='UP Credential', + name="UP Credential", credential_type=CredentialType.USERNAME_PASSWORD, - login='foo', + login="foo", ) Creating an auto-generated SSH-Key credential @@ -210,9 +209,9 @@ def create_credential( .. code-block:: python request = Credentials.create_credential( - name='USK Credential', + name="USK Credential", credential_type=CredentialType.USERNAME_SSH_KEY, - login='foo', + login="foo", ) """ if not name: @@ -340,7 +339,7 @@ def create_credential( @classmethod def delete_credential( - cls, credential_id: EntityID, *, ultimate: Optional[bool] = False + cls, credential_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Delete a credential @@ -362,11 +361,11 @@ def delete_credential( @staticmethod def get_credentials( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - scanners: Optional[bool] = None, - trash: Optional[bool] = None, - targets: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + scanners: bool | None = None, + trash: bool | None = None, + targets: bool | None = None, ) -> Request: """Request a list of credentials @@ -398,9 +397,9 @@ def get_credential( cls, credential_id: EntityID, *, - scanners: Optional[bool] = None, - targets: Optional[bool] = None, - credential_format: Optional[Union[CredentialFormat, str]] = None, + scanners: bool | None = None, + targets: bool | None = None, + credential_format: CredentialFormat | str | None = None, ) -> Request: """Request a single credential @@ -438,19 +437,19 @@ def modify_credential( cls, credential_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - allow_insecure: Optional[bool] = None, - certificate: Optional[str] = None, - key_phrase: Optional[str] = None, - private_key: Optional[str] = None, - login: Optional[str] = None, - password: Optional[str] = None, - auth_algorithm: Optional[Union[SnmpAuthAlgorithm, str]] = None, - community: Optional[str] = None, - privacy_algorithm: Optional[Union[SnmpPrivacyAlgorithm, str]] = None, - privacy_password: Optional[str] = None, - public_key: Optional[str] = None, + name: str | None = None, + comment: str | None = None, + allow_insecure: bool | None = None, + certificate: str | None = None, + key_phrase: str | None = None, + private_key: str | None = None, + login: str | None = None, + password: str | None = None, + auth_algorithm: SnmpAuthAlgorithm | str | None = None, + community: str | None = None, + privacy_algorithm: SnmpPrivacyAlgorithm | str | None = None, + privacy_password: str | None = None, + public_key: str | None = None, ) -> Request: """Modifies an existing credential. diff --git a/gvm/protocols/gmp/requests/v224/_cves.py b/gvm/protocols/gmp/requests/v224/_cves.py index 85059bcb7..bcbe96bce 100644 --- a/gvm/protocols/gmp/requests/v224/_cves.py +++ b/gvm/protocols/gmp/requests/v224/_cves.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -13,14 +12,13 @@ class Cves: - @staticmethod def get_cves( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - name: Optional[str] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + name: str | None = None, + details: bool | None = None, ) -> Request: """Request a list of CVEs diff --git a/gvm/protocols/gmp/requests/v224/_dfn_cert_advisories.py b/gvm/protocols/gmp/requests/v224/_dfn_cert_advisories.py index 3f156ad0e..f8a0c0f2a 100644 --- a/gvm/protocols/gmp/requests/v224/_dfn_cert_advisories.py +++ b/gvm/protocols/gmp/requests/v224/_dfn_cert_advisories.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -13,14 +12,13 @@ class DfnCertAdvisories: - @staticmethod def get_dfn_cert_advisories( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - name: Optional[str] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + name: str | None = None, + details: bool | None = None, ) -> Request: """Request a list of DFN-CERT Advisories diff --git a/gvm/protocols/gmp/requests/v224/_entity_type.py b/gvm/protocols/gmp/requests/v224/_entity_type.py index fed96ad0b..abedfa278 100644 --- a/gvm/protocols/gmp/requests/v224/_entity_type.py +++ b/gvm/protocols/gmp/requests/v224/_entity_type.py @@ -48,7 +48,7 @@ class EntityType(Enum): @classmethod def from_string( cls, - entity_type: Optional[str], + entity_type: str | None, ) -> Optional["EntityType"]: """Convert a entity type string to an actual EntityType instance diff --git a/gvm/protocols/gmp/requests/v224/_feed.py b/gvm/protocols/gmp/requests/v224/_feed.py index 4e33a7135..1e771c55c 100644 --- a/gvm/protocols/gmp/requests/v224/_feed.py +++ b/gvm/protocols/gmp/requests/v224/_feed.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Union from gvm._enum import Enum from gvm.errors import RequiredArgument @@ -26,7 +25,7 @@ def get_feeds() -> Request: return XmlCommand("get_feeds") @classmethod - def get_feed(cls, feed_type: Union[FeedType, str]) -> Request: + def get_feed(cls, feed_type: FeedType | str) -> Request: """Request a single feed Arguments: diff --git a/gvm/protocols/gmp/requests/v224/_filters.py b/gvm/protocols/gmp/requests/v224/_filters.py index 8b3049daf..88bf0d83d 100644 --- a/gvm/protocols/gmp/requests/v224/_filters.py +++ b/gvm/protocols/gmp/requests/v224/_filters.py @@ -45,7 +45,7 @@ class FilterType(Enum): @classmethod def from_string( cls, - filter_type: Optional[str], + filter_type: str | None, ) -> Optional["FilterType"]: """Convert a filter type string to an actual FilterType instance @@ -89,9 +89,9 @@ def create_filter( cls, name: str, *, - filter_type: Optional[FilterType] = None, - comment: Optional[str] = None, - term: Optional[str] = None, + filter_type: FilterType | None = None, + comment: str | None = None, + term: str | None = None, ) -> Request: """Create a new filter @@ -125,7 +125,7 @@ def create_filter( @classmethod def delete_filter( - cls, filter_id: EntityID, *, ultimate: Optional[bool] = False + cls, filter_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Deletes an existing filter @@ -147,10 +147,10 @@ def delete_filter( @staticmethod def get_filters( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - alerts: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + alerts: bool | None = None, ) -> Request: """Request a list of filters @@ -174,7 +174,7 @@ def get_filters( @classmethod def get_filter( - cls, filter_id: EntityID, *, alerts: Optional[bool] = None + cls, filter_id: EntityID, *, alerts: bool | None = None ) -> Request: """Request a single filter @@ -201,10 +201,10 @@ def modify_filter( cls, filter_id: EntityID, *, - comment: Optional[str] = None, - name: Optional[str] = None, - term: Optional[str] = None, - filter_type: Optional[FilterType] = None, + comment: str | None = None, + name: str | None = None, + term: str | None = None, + filter_type: FilterType | None = None, ) -> Request: """Modifies an existing filter. diff --git a/gvm/protocols/gmp/requests/v224/_groups.py b/gvm/protocols/gmp/requests/v224/_groups.py index 3e0a23afd..e3d563c15 100644 --- a/gvm/protocols/gmp/requests/v224/_groups.py +++ b/gvm/protocols/gmp/requests/v224/_groups.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -35,9 +34,9 @@ def create_group( cls, name: str, *, - comment: Optional[str] = None, - special: Optional[bool] = False, - users: Optional[list[str]] = None, + comment: str | None = None, + special: bool | None = False, + users: list[str] | None = None, ) -> Request: """Create a new group @@ -70,7 +69,7 @@ def create_group( @classmethod def delete_group( - cls, group_id: EntityID, *, ultimate: Optional[bool] = False + cls, group_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Deletes an existing group @@ -92,9 +91,9 @@ def delete_group( @staticmethod def get_groups( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, ) -> Request: """Request a list of groups @@ -134,9 +133,9 @@ def modify_group( cls, group_id: EntityID, *, - comment: Optional[str] = None, - name: Optional[str] = None, - users: Optional[list[str]] = None, + comment: str | None = None, + name: str | None = None, + users: list[str] | None = None, ) -> Request: """Modifies an existing group. diff --git a/gvm/protocols/gmp/requests/v224/_help.py b/gvm/protocols/gmp/requests/v224/_help.py index 1bbffd624..3b8024bc8 100644 --- a/gvm/protocols/gmp/requests/v224/_help.py +++ b/gvm/protocols/gmp/requests/v224/_help.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union from gvm._enum import Enum from gvm.protocols.core import Request @@ -22,8 +21,8 @@ class Help: @staticmethod def help( *, - help_format: Optional[Union[HelpFormat, str]] = None, - brief: Optional[bool] = None, + help_format: HelpFormat | str | None = None, + brief: bool | None = None, ) -> Request: """Get the help text diff --git a/gvm/protocols/gmp/requests/v224/_hosts.py b/gvm/protocols/gmp/requests/v224/_hosts.py index 2e971bd87..411fb979d 100644 --- a/gvm/protocols/gmp/requests/v224/_hosts.py +++ b/gvm/protocols/gmp/requests/v224/_hosts.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm._enum import Enum from gvm.errors import RequiredArgument @@ -22,11 +21,8 @@ class HostsOrdering(Enum): class Hosts: - @classmethod - def create_host( - cls, name: str, *, comment: Optional[str] = None - ) -> Request: + def create_host(cls, name: str, *, comment: str | None = None) -> Request: """Create a new host host Args: @@ -69,9 +65,9 @@ def delete_host(cls, host_id: EntityID) -> Request: @staticmethod def get_hosts( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + details: bool | None = None, ) -> Request: """Request a list of hosts @@ -94,7 +90,7 @@ def get_hosts( @classmethod def get_host( - cls, host_id: EntityID, *, details: Optional[bool] = None + cls, host_id: EntityID, *, details: bool | None = None ) -> Request: """Request a single host @@ -119,7 +115,7 @@ def get_host( @classmethod def modify_host( - cls, host_id: EntityID, *, comment: Optional[str] = None + cls, host_id: EntityID, *, comment: str | None = None ) -> Request: """Modifies an existing host. diff --git a/gvm/protocols/gmp/requests/v224/_notes.py b/gvm/protocols/gmp/requests/v224/_notes.py index 8f86c2249..1841acae3 100644 --- a/gvm/protocols/gmp/requests/v224/_notes.py +++ b/gvm/protocols/gmp/requests/v224/_notes.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import InvalidArgument, RequiredArgument from gvm.protocols.core import Request @@ -20,12 +19,12 @@ def create_note( text: str, nvt_oid: str, *, - days_active: Optional[int] = None, - hosts: Optional[list[str]] = None, - port: Optional[str] = None, - result_id: Optional[EntityID] = None, - severity: Optional[Severity] = None, - task_id: Optional[EntityID] = None, + days_active: int | None = None, + hosts: list[str] | None = None, + port: str | None = None, + result_id: EntityID | None = None, + severity: Severity | None = None, + task_id: EntityID | None = None, ) -> Request: """Create a new note @@ -86,12 +85,12 @@ def modify_note( note_id: EntityID, text: str, *, - days_active: Optional[int] = None, - hosts: Optional[list[str]] = None, - port: Optional[str] = None, - result_id: Optional[EntityID] = None, - severity: Optional[Severity] = None, - task_id: Optional[EntityID] = None, + days_active: int | None = None, + hosts: list[str] | None = None, + port: str | None = None, + result_id: EntityID | None = None, + severity: Severity | None = None, + task_id: EntityID | None = None, ) -> Request: """Modify a note @@ -163,7 +162,7 @@ def clone_note(cls, note_id: EntityID) -> Request: @classmethod def delete_note( - cls, note_id: EntityID, *, ultimate: Optional[bool] = False + cls, note_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Delete an existing note @@ -185,10 +184,10 @@ def delete_note( def get_notes( cls, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - details: Optional[bool] = None, - result: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + details: bool | None = None, + result: bool | None = None, ) -> Request: """Request a list of notes diff --git a/gvm/protocols/gmp/requests/v224/_nvts.py b/gvm/protocols/gmp/requests/v224/_nvts.py index 8337271a8..8ff22debd 100644 --- a/gvm/protocols/gmp/requests/v224/_nvts.py +++ b/gvm/protocols/gmp/requests/v224/_nvts.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -13,9 +12,8 @@ class Nvts: - @staticmethod - def get_nvt_families(*, sort_order: Optional[str] = None) -> Request: + def get_nvt_families(*, sort_order: str | None = None) -> Request: """Request a list of nvt families Args: @@ -31,15 +29,15 @@ def get_nvt_families(*, sort_order: Optional[str] = None) -> Request: @staticmethod def get_scan_config_nvts( *, - details: Optional[bool] = None, - preferences: Optional[bool] = None, - preference_count: Optional[bool] = None, - timeout: Optional[bool] = None, - config_id: Optional[EntityID] = None, - preferences_config_id: Optional[EntityID] = None, - family: Optional[str] = None, - sort_order: Optional[str] = None, - sort_field: Optional[str] = None, + details: bool | None = None, + preferences: bool | None = None, + preference_count: bool | None = None, + timeout: bool | None = None, + config_id: EntityID | None = None, + preferences_config_id: EntityID | None = None, + family: str | None = None, + sort_order: str | None = None, + sort_field: str | None = None, ) -> Request: """Request a list of nvts @@ -115,19 +113,19 @@ def get_scan_config_nvt(cls, nvt_oid: str) -> Request: def get_nvts( cls, *, - filter_string: Optional[str] = None, - filter_id: Optional[str] = None, - name: Optional[str] = None, - details: Optional[bool] = None, - extended: Optional[bool] = None, - preferences: Optional[bool] = None, - preference_count: Optional[bool] = None, - timeout: Optional[bool] = None, - config_id: Optional[str] = None, - preferences_config_id: Optional[str] = None, - family: Optional[str] = None, - sort_order: Optional[str] = None, - sort_field: Optional[str] = None, + filter_string: str | None = None, + filter_id: str | None = None, + name: str | None = None, + details: bool | None = None, + extended: bool | None = None, + preferences: bool | None = None, + preference_count: bool | None = None, + timeout: bool | None = None, + config_id: str | None = None, + preferences_config_id: str | None = None, + family: str | None = None, + sort_order: str | None = None, + sort_field: str | None = None, ) -> Request: """Request a list of NVTs @@ -177,9 +175,7 @@ def get_nvts( return cmd @classmethod - def get_nvt( - cls, nvt_id: str, *, extended: Optional[bool] = None - ) -> Request: + def get_nvt(cls, nvt_id: str, *, extended: bool | None = None) -> Request: """Request a single NVT Args: @@ -207,7 +203,7 @@ def get_nvt( @staticmethod def get_nvt_preferences( *, - nvt_oid: Optional[str] = None, + nvt_oid: str | None = None, ) -> Request: """Request a list of preferences @@ -229,7 +225,7 @@ def get_nvt_preference( cls, name: str, *, - nvt_oid: Optional[str] = None, + nvt_oid: str | None = None, ) -> Request: """Request a nvt preference diff --git a/gvm/protocols/gmp/requests/v224/_operating_systems.py b/gvm/protocols/gmp/requests/v224/_operating_systems.py index 5ac3d69d0..db17a9099 100644 --- a/gvm/protocols/gmp/requests/v224/_operating_systems.py +++ b/gvm/protocols/gmp/requests/v224/_operating_systems.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -13,7 +12,6 @@ class OperatingSystems: - @classmethod def delete_operating_system( cls, @@ -38,9 +36,9 @@ def delete_operating_system( @staticmethod def get_operating_systems( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + details: bool | None = None, ) -> Request: """Request a list of operating systems @@ -63,7 +61,7 @@ def get_operating_systems( @classmethod def get_operating_system( - cls, operating_system_id: EntityID, *, details: Optional[bool] = None + cls, operating_system_id: EntityID, *, details: bool | None = None ) -> Request: """Request a single operating system @@ -89,7 +87,7 @@ def get_operating_system( @classmethod def modify_operating_system( - cls, operating_system_id: EntityID, *, comment: Optional[str] = None + cls, operating_system_id: EntityID, *, comment: str | None = None ) -> Request: """Modifies an existing operating system. diff --git a/gvm/protocols/gmp/requests/v224/_overrides.py b/gvm/protocols/gmp/requests/v224/_overrides.py index 10da9a25c..ce03ad2d2 100644 --- a/gvm/protocols/gmp/requests/v224/_overrides.py +++ b/gvm/protocols/gmp/requests/v224/_overrides.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import InvalidArgument, RequiredArgument from gvm.protocols.core import Request @@ -14,20 +13,19 @@ class Overrides: - @classmethod def create_override( cls, text: str, nvt_oid: str, *, - days_active: Optional[int] = None, - hosts: Optional[list[str]] = None, - port: Optional[str] = None, - result_id: Optional[EntityID] = None, - severity: Optional[Severity] = None, - new_severity: Optional[Severity] = None, - task_id: Optional[EntityID] = None, + days_active: int | None = None, + hosts: list[str] | None = None, + port: str | None = None, + result_id: EntityID | None = None, + severity: Severity | None = None, + new_severity: Severity | None = None, + task_id: EntityID | None = None, ) -> Request: """Create a new override @@ -91,13 +89,13 @@ def modify_override( override_id: EntityID, text: str, *, - days_active: Optional[int] = None, - hosts: Optional[list[str]] = None, - port: Optional[str] = None, - result_id: Optional[EntityID] = None, - severity: Optional[Severity] = None, - new_severity: Optional[Severity] = None, - task_id: Optional[EntityID] = None, + days_active: int | None = None, + hosts: list[str] | None = None, + port: str | None = None, + result_id: EntityID | None = None, + severity: Severity | None = None, + new_severity: Severity | None = None, + task_id: EntityID | None = None, ) -> Request: """Modify an existing override. @@ -174,7 +172,7 @@ def clone_override(cls, override_id: EntityID) -> Request: @classmethod def delete_override( - cls, override_id: EntityID, *, ultimate: Optional[bool] = False + cls, override_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Delete an existing override @@ -195,10 +193,10 @@ def delete_override( @staticmethod def get_overrides( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - details: Optional[bool] = None, - result: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + details: bool | None = None, + result: bool | None = None, ) -> Request: """Request a list of overrides diff --git a/gvm/protocols/gmp/requests/v224/_permissions.py b/gvm/protocols/gmp/requests/v224/_permissions.py index b1a31fd5b..5080c719a 100644 --- a/gvm/protocols/gmp/requests/v224/_permissions.py +++ b/gvm/protocols/gmp/requests/v224/_permissions.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union from gvm._enum import Enum from gvm.errors import RequiredArgument @@ -23,7 +22,6 @@ class PermissionSubjectType(Enum): class Permissions: - @classmethod def clone_permission(cls, permission_id: EntityID) -> Request: """Clone an existing permission @@ -46,11 +44,11 @@ def create_permission( cls, name: str, subject_id: EntityID, - subject_type: Union[PermissionSubjectType, str], + subject_type: PermissionSubjectType | str, *, - resource_id: Optional[str] = None, - resource_type: Optional[Union[EntityType, str]] = None, - comment: Optional[str] = None, + resource_id: str | None = None, + resource_type: EntityType | str | None = None, + comment: str | None = None, ) -> Request: """Create a new permission @@ -117,7 +115,7 @@ def create_permission( @classmethod def delete_permission( - cls, permission_id: EntityID, *, ultimate: Optional[bool] = False + cls, permission_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Deletes an existing permission @@ -140,9 +138,9 @@ def delete_permission( @staticmethod def get_permissions( *, - filter_string: Optional[str] = None, - filter_id: Optional[str] = None, - trash: Optional[bool] = None, + filter_string: str | None = None, + filter_id: str | None = None, + trash: bool | None = None, ) -> Request: """Request a list of permissions @@ -182,12 +180,12 @@ def modify_permission( cls, permission_id: EntityID, *, - comment: Optional[str] = None, - name: Optional[str] = None, - resource_id: Optional[EntityID] = None, - resource_type: Optional[Union[EntityType, str]] = None, - subject_id: Optional[EntityID] = None, - subject_type: Optional[Union[PermissionSubjectType, str]] = None, + comment: str | None = None, + name: str | None = None, + resource_id: EntityID | None = None, + resource_type: EntityType | str | None = None, + subject_id: EntityID | None = None, + subject_type: PermissionSubjectType | str | None = None, ) -> Request: """Modifies an existing permission. diff --git a/gvm/protocols/gmp/requests/v224/_policies.py b/gvm/protocols/gmp/requests/v224/_policies.py index c07569d8a..b312df803 100644 --- a/gvm/protocols/gmp/requests/v224/_policies.py +++ b/gvm/protocols/gmp/requests/v224/_policies.py @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Sequence +from collections.abc import Sequence from gvm.errors import InvalidArgument, RequiredArgument from gvm.protocols.core import Request @@ -15,7 +15,6 @@ class Policies: - @classmethod def clone_policy(cls, policy_id: EntityID) -> Request: """Clone a policy from an existing one @@ -37,8 +36,8 @@ def create_policy( cls, name: str, *, - policy_id: Optional[EntityID] = None, - comment: Optional[str] = None, + policy_id: EntityID | None = None, + comment: str | None = None, ) -> Request: """Create a new policy @@ -68,7 +67,7 @@ def create_policy( @classmethod def delete_policy( - cls, policy_id: EntityID, *, ultimate: Optional[bool] = False + cls, policy_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Deletes an existing policy @@ -90,13 +89,13 @@ def delete_policy( @staticmethod def get_policies( *, - audits: Optional[bool] = None, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - details: Optional[bool] = None, - families: Optional[bool] = None, - preferences: Optional[bool] = None, - trash: Optional[bool] = None, + audits: bool | None = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + details: bool | None = None, + families: bool | None = None, + preferences: bool | None = None, + trash: bool | None = None, ) -> Request: """Request a list of policies @@ -136,7 +135,7 @@ def get_policies( @classmethod def get_policy( - cls, policy_id: EntityID, *, audits: Optional[bool] = None + cls, policy_id: EntityID, *, audits: bool | None = None ) -> Request: """Request a single policy @@ -193,7 +192,7 @@ def modify_policy_set_nvt_preference( name: str, nvt_oid: str, *, - value: Optional[str] = None, + value: str | None = None, ) -> Request: """Modifies the nvt preferences of an existing policy. @@ -264,7 +263,7 @@ def modify_policy_set_name(cls, policy_id: EntityID, name: str) -> Request: @classmethod def modify_policy_set_comment( - cls, policy_id: EntityID, comment: Optional[str] = None + cls, policy_id: EntityID, comment: str | None = None ) -> Request: """Modifies the comment of an existing policy @@ -290,7 +289,7 @@ def modify_policy_set_comment( @classmethod def modify_policy_set_scanner_preference( - cls, policy_id: EntityID, name: str, *, value: Optional[str] = None + cls, policy_id: EntityID, name: str, *, value: str | None = None ) -> Request: """Modifies the scanner preferences of an existing policy @@ -373,7 +372,7 @@ def modify_policy_set_family_selection( policy_id: EntityID, families: Sequence[tuple[str, bool, bool]], *, - auto_add_new_families: Optional[bool] = True, + auto_add_new_families: bool | None = True, ) -> Request: """ Selected the NVTs of a policy at a family level. diff --git a/gvm/protocols/gmp/requests/v224/_port_lists.py b/gvm/protocols/gmp/requests/v224/_port_lists.py index 7dc2608c3..40bb28c2c 100644 --- a/gvm/protocols/gmp/requests/v224/_port_lists.py +++ b/gvm/protocols/gmp/requests/v224/_port_lists.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union from gvm._enum import Enum from gvm.errors import RequiredArgument @@ -39,7 +38,7 @@ def clone_port_list(cls, port_list_id: EntityID) -> Request: @classmethod def create_port_list( - cls, name: str, port_range: str, *, comment: Optional[str] = None + cls, name: str, port_range: str, *, comment: str | None = None ) -> Request: """Create a new port list @@ -74,9 +73,9 @@ def create_port_range( port_list_id: EntityID, start: int, end: int, - port_range_type: Union[str, PortRangeType], + port_range_type: str | PortRangeType, *, - comment: Optional[str] = None, + comment: str | None = None, ) -> Request: """Create new port range @@ -166,11 +165,11 @@ def delete_port_range(cls, port_range_id: EntityID) -> Request: def get_port_lists( cls, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - details: Optional[bool] = None, - targets: Optional[bool] = None, - trash: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + details: bool | None = None, + targets: bool | None = None, + trash: bool | None = None, ) -> Request: """Request a list of port lists @@ -222,8 +221,8 @@ def modify_port_list( cls, port_list_id: EntityID, *, - comment: Optional[str] = None, - name: Optional[str] = None, + comment: str | None = None, + name: str | None = None, ) -> Request: """Modifies an existing port list. diff --git a/gvm/protocols/gmp/requests/v224/_report_formats.py b/gvm/protocols/gmp/requests/v224/_report_formats.py index fbf2e5d30..98df1e674 100644 --- a/gvm/protocols/gmp/requests/v224/_report_formats.py +++ b/gvm/protocols/gmp/requests/v224/_report_formats.py @@ -3,7 +3,6 @@ # SPDX-License-Identifier: GPL-3.0-or-later # -from typing import Optional, Union from gvm._enum import Enum from gvm.errors import InvalidArgument, RequiredArgument @@ -42,10 +41,9 @@ def __str__(self) -> str: class ReportFormats: - @classmethod def clone_report_format( - cls, report_format_id: Union[EntityID, ReportFormatType] + cls, report_format_id: EntityID | ReportFormatType ) -> Request: """Clone a report format from an existing one @@ -66,9 +64,9 @@ def clone_report_format( @classmethod def delete_report_format( cls, - report_format_id: Union[EntityID, ReportFormatType], + report_format_id: EntityID | ReportFormatType, *, - ultimate: Optional[bool] = False, + ultimate: bool | None = False, ) -> Request: """Deletes an existing report format @@ -94,12 +92,12 @@ def delete_report_format( @staticmethod def get_report_formats( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - alerts: Optional[bool] = None, - params: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + alerts: bool | None = None, + params: bool | None = None, + details: bool | None = None, ) -> Request: """Request a list of report formats @@ -131,7 +129,7 @@ def get_report_formats( @classmethod def get_report_format( - cls, report_format_id: Union[EntityID, ReportFormatType] + cls, report_format_id: EntityID | ReportFormatType ) -> Request: """Request a single report format @@ -182,13 +180,13 @@ def import_report_format(cls, report_format: str) -> Request: @classmethod def modify_report_format( cls, - report_format_id: Union[EntityID, ReportFormatType], + report_format_id: EntityID | ReportFormatType, *, - active: Optional[bool] = None, - name: Optional[str] = None, - summary: Optional[str] = None, - param_name: Optional[str] = None, - param_value: Optional[str] = None, + active: bool | None = None, + name: str | None = None, + summary: str | None = None, + param_name: str | None = None, + param_value: str | None = None, ) -> Request: """Modifies an existing report format. @@ -231,7 +229,7 @@ def modify_report_format( @classmethod def verify_report_format( - cls, report_format_id: Union[EntityID, ReportFormatType] + cls, report_format_id: EntityID | ReportFormatType ) -> Request: """Verify an existing report format diff --git a/gvm/protocols/gmp/requests/v224/_reports.py b/gvm/protocols/gmp/requests/v224/_reports.py index 16af26457..923f48381 100644 --- a/gvm/protocols/gmp/requests/v224/_reports.py +++ b/gvm/protocols/gmp/requests/v224/_reports.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union from gvm.errors import InvalidArgument, RequiredArgument from gvm.protocols.core import Request @@ -14,7 +13,6 @@ class Reports: - @classmethod def delete_report(cls, report_id: EntityID) -> Request: """Deletes an existing report @@ -37,12 +35,12 @@ def get_report( cls, report_id: EntityID, *, - filter_string: Optional[str] = None, - filter_id: Optional[str] = None, - delta_report_id: Optional[EntityID] = None, - report_format_id: Optional[Union[str, ReportFormatType]] = None, - ignore_pagination: Optional[bool] = None, - details: Optional[bool] = True, + filter_string: str | None = None, + filter_id: str | None = None, + delta_report_id: EntityID | None = None, + report_format_id: str | ReportFormatType | None = None, + ignore_pagination: bool | None = None, + details: bool | None = True, ) -> Request: """Request a single report @@ -85,12 +83,12 @@ def get_report( @staticmethod def get_reports( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - note_details: Optional[bool] = None, - override_details: Optional[bool] = None, - ignore_pagination: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + note_details: bool | None = None, + override_details: bool | None = None, + ignore_pagination: bool | None = None, + details: bool | None = None, ) -> Request: """Request a list of reports @@ -132,7 +130,7 @@ def import_report( report: str, task_id: EntityID, *, - in_assets: Optional[bool] = None, + in_assets: bool | None = None, ) -> Request: """Import a Report from XML diff --git a/gvm/protocols/gmp/requests/v224/_results.py b/gvm/protocols/gmp/requests/v224/_results.py index d4e651983..f4703e18f 100644 --- a/gvm/protocols/gmp/requests/v224/_results.py +++ b/gvm/protocols/gmp/requests/v224/_results.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -13,7 +12,6 @@ class Results: - @classmethod def get_result(cls, result_id: EntityID) -> Request: """Request a single result @@ -37,12 +35,12 @@ def get_result(cls, result_id: EntityID) -> Request: @staticmethod def get_results( *, - filter_string: Optional[str] = None, - filter_id: Optional[str] = None, - task_id: Optional[str] = None, - note_details: Optional[bool] = None, - override_details: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: str | None = None, + task_id: str | None = None, + note_details: bool | None = None, + override_details: bool | None = None, + details: bool | None = None, ) -> Request: """Request a list of results diff --git a/gvm/protocols/gmp/requests/v224/_roles.py b/gvm/protocols/gmp/requests/v224/_roles.py index fffcbee09..16890a835 100644 --- a/gvm/protocols/gmp/requests/v224/_roles.py +++ b/gvm/protocols/gmp/requests/v224/_roles.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -13,7 +12,6 @@ class Roles: - @classmethod def clone_role(cls, role_id: EntityID) -> Request: """Clone an existing role @@ -35,8 +33,8 @@ def create_role( cls, name: str, *, - comment: Optional[str] = None, - users: Optional[list[str]] = None, + comment: str | None = None, + users: list[str] | None = None, ) -> Request: """Create a new role @@ -63,7 +61,7 @@ def create_role( @classmethod def delete_role( - cls, role_id: str, *, ultimate: Optional[bool] = False + cls, role_id: str, *, ultimate: bool | None = False ) -> Request: """Deletes an existing role @@ -84,9 +82,9 @@ def delete_role( @staticmethod def get_roles( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, ) -> Request: """Request a list of roles @@ -125,9 +123,9 @@ def modify_role( cls, role_id: EntityID, *, - comment: Optional[str] = None, - name: Optional[str] = None, - users: Optional[list[str]] = None, + comment: str | None = None, + name: str | None = None, + users: list[str] | None = None, ) -> Request: """Modifies an existing role. diff --git a/gvm/protocols/gmp/requests/v224/_scan_configs.py b/gvm/protocols/gmp/requests/v224/_scan_configs.py index f5070cb3a..8b1c0635f 100644 --- a/gvm/protocols/gmp/requests/v224/_scan_configs.py +++ b/gvm/protocols/gmp/requests/v224/_scan_configs.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union from gvm.errors import InvalidArgument, InvalidArgumentType, RequiredArgument from gvm.protocols.core import Request @@ -35,7 +34,7 @@ def create_scan_config( config_id: EntityID, name: str, *, - comment: Optional[str] = None, + comment: str | None = None, ) -> Request: """Create a new scan config @@ -66,7 +65,7 @@ def create_scan_config( @classmethod def delete_scan_config( - cls, config_id: EntityID, *, ultimate: Optional[bool] = False + cls, config_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Deletes an existing config @@ -88,13 +87,13 @@ def delete_scan_config( @staticmethod def get_scan_configs( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - details: Optional[bool] = None, - families: Optional[bool] = None, - preferences: Optional[bool] = None, - tasks: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + details: bool | None = None, + families: bool | None = None, + preferences: bool | None = None, + tasks: bool | None = None, ) -> Request: """Request a list of scan configs @@ -134,7 +133,7 @@ def get_scan_configs( @classmethod def get_scan_config( - cls, config_id: EntityID, *, tasks: Optional[bool] = None + cls, config_id: EntityID, *, tasks: bool | None = None ) -> Request: """Request a single scan config @@ -164,8 +163,8 @@ def get_scan_config( def get_scan_config_preferences( cls, *, - nvt_oid: Optional[str] = None, - config_id: Optional[EntityID] = None, + nvt_oid: str | None = None, + config_id: EntityID | None = None, ) -> Request: """Request a list of scan_config preferences @@ -194,8 +193,8 @@ def get_scan_config_preference( cls, name: str, *, - nvt_oid: Optional[str] = None, - config_id: Optional[EntityID] = None, + nvt_oid: str | None = None, + config_id: EntityID | None = None, ) -> Request: """Request a nvt preference @@ -253,7 +252,7 @@ def modify_scan_config_set_nvt_preference( name: str, nvt_oid: str, *, - value: Optional[str] = None, + value: str | None = None, ) -> Request: """Modifies the nvt preferences of an existing scan config. @@ -326,7 +325,7 @@ def modify_scan_config_set_name( @classmethod def modify_scan_config_set_comment( - cls, config_id: EntityID, *, comment: Optional[str] = None + cls, config_id: EntityID, *, comment: str | None = None ) -> Request: """Modifies the comment of an existing scan config @@ -358,7 +357,7 @@ def modify_scan_config_set_scanner_preference( config_id: EntityID, name: str, *, - value: Optional[str] = None, + value: str | None = None, ) -> Request: """Modifies the scanner preferences of an existing scan config @@ -401,7 +400,7 @@ def modify_scan_config_set_nvt_selection( cls, config_id: EntityID, family: str, - nvt_oids: Union[tuple[str], list[str]], + nvt_oids: tuple[str] | list[str], ) -> Request: """Modifies the selected nvts of an existing scan config @@ -449,7 +448,7 @@ def modify_scan_config_set_family_selection( config_id: EntityID, families: list[tuple[str, bool, bool]], *, - auto_add_new_families: Optional[bool] = True, + auto_add_new_families: bool | None = True, ) -> Request: """ Selected the NVTs of a scan config at a family level. diff --git a/gvm/protocols/gmp/requests/v224/_scanners.py b/gvm/protocols/gmp/requests/v224/_scanners.py index 57c7ecc0d..ceb44680b 100644 --- a/gvm/protocols/gmp/requests/v224/_scanners.py +++ b/gvm/protocols/gmp/requests/v224/_scanners.py @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union +from typing import Optional from gvm._enum import Enum from gvm.errors import InvalidArgument, RequiredArgument @@ -24,7 +24,7 @@ class ScannerType(Enum): @classmethod def from_string( cls, - scanner_type: Optional[str], + scanner_type: str | None, ) -> Optional["ScannerType"]: """Convert a scanner type string to an actual ScannerType instance @@ -68,12 +68,12 @@ def create_scanner( cls, name: str, host: str, - port: Union[str, int], + port: str | int, scanner_type: ScannerType, credential_id: str, *, - ca_pub: Optional[str] = None, - comment: Optional[str] = None, + ca_pub: str | None = None, + comment: str | None = None, ) -> Request: """Create a new scanner @@ -137,13 +137,13 @@ def modify_scanner( cls, scanner_id: EntityID, *, - name: Optional[str] = None, - host: Optional[str] = None, - port: Optional[int] = None, - scanner_type: Optional[ScannerType] = None, - credential_id: Optional[EntityID] = None, - ca_pub: Optional[str] = None, - comment: Optional[str] = None, + name: str | None = None, + host: str | None = None, + port: int | None = None, + scanner_type: ScannerType | None = None, + credential_id: EntityID | None = None, + ca_pub: str | None = None, + comment: str | None = None, ) -> Request: """Modify an existing scanner @@ -199,10 +199,10 @@ def modify_scanner( @staticmethod def get_scanners( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + details: bool | None = None, ) -> Request: """Request a list of scanners @@ -279,7 +279,7 @@ def clone_scanner(cls, scanner_id: EntityID) -> Request: @classmethod def delete_scanner( - cls, scanner_id: EntityID, ultimate: Optional[bool] = False + cls, scanner_id: EntityID, ultimate: bool | None = False ) -> Request: """Delete an existing scanner diff --git a/gvm/protocols/gmp/requests/v224/_schedules.py b/gvm/protocols/gmp/requests/v224/_schedules.py index 6dbb6b8e3..fe3f62f2f 100644 --- a/gvm/protocols/gmp/requests/v224/_schedules.py +++ b/gvm/protocols/gmp/requests/v224/_schedules.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -13,7 +12,6 @@ class Schedules: - @classmethod def clone_schedule(cls, schedule_id: EntityID) -> Request: """Clone an existing schedule @@ -37,7 +35,7 @@ def create_schedule( icalendar: str, timezone: str, *, - comment: Optional[str] = None, + comment: str | None = None, ) -> Request: """Create a new schedule based in `iCalendar`_ data. @@ -54,19 +52,17 @@ def create_schedule( cal = Calendar() - cal.add('prodid', '-//Foo Bar//') - cal.add('version', '2.0') + cal.add("prodid", "-//Foo Bar//") + cal.add("version", "2.0") event = Event() - event.add('dtstamp', datetime.now(tz=pytz.UTC)) - event.add('dtstart', datetime(2020, 1, 1, tzinfo=pytz.utc)) + event.add("dtstamp", datetime.now(tz=pytz.UTC)) + event.add("dtstart", datetime(2020, 1, 1, tzinfo=pytz.utc)) cal.add_component(event) Schedules.create_schedule( - name="My Schedule", - icalendar=cal.to_ical(), - timezone='UTC' + name="My Schedule", icalendar=cal.to_ical(), timezone="UTC" ) Args: @@ -110,7 +106,7 @@ def create_schedule( @classmethod def delete_schedule( - cls, schedule_id: EntityID, *, ultimate: Optional[bool] = False + cls, schedule_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Deletes an existing schedule @@ -132,10 +128,10 @@ def delete_schedule( @staticmethod def get_schedules( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - tasks: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + tasks: bool | None = None, ) -> Request: """Request a list of schedules @@ -159,7 +155,7 @@ def get_schedules( @classmethod def get_schedule( - cls, schedule_id: EntityID, *, tasks: Optional[bool] = None + cls, schedule_id: EntityID, *, tasks: bool | None = None ) -> Request: """Request a single schedule @@ -186,10 +182,10 @@ def modify_schedule( cls, schedule_id: EntityID, *, - name: Optional[str] = None, - icalendar: Optional[str] = None, - timezone: Optional[str] = None, - comment: Optional[str] = None, + name: str | None = None, + icalendar: str | None = None, + timezone: str | None = None, + comment: str | None = None, ) -> Request: """Modifies an existing schedule diff --git a/gvm/protocols/gmp/requests/v224/_secinfo.py b/gvm/protocols/gmp/requests/v224/_secinfo.py index 83566862e..39d64bcf2 100644 --- a/gvm/protocols/gmp/requests/v224/_secinfo.py +++ b/gvm/protocols/gmp/requests/v224/_secinfo.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm._enum import Enum from gvm.errors import RequiredArgument @@ -61,10 +60,10 @@ def get_info_list( cls, info_type: InfoType, *, - filter_string: Optional[str] = None, - filter_id: Optional[str] = None, - name: Optional[str] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: str | None = None, + name: str | None = None, + details: bool | None = None, ) -> Request: """Request a list of security information diff --git a/gvm/protocols/gmp/requests/v224/_system_reports.py b/gvm/protocols/gmp/requests/v224/_system_reports.py index 415d1e39c..2fe26aa42 100644 --- a/gvm/protocols/gmp/requests/v224/_system_reports.py +++ b/gvm/protocols/gmp/requests/v224/_system_reports.py @@ -4,7 +4,6 @@ # from numbers import Integral -from typing import Optional from gvm.errors import InvalidArgument from gvm.protocols.core import Request @@ -19,12 +18,12 @@ class SystemReports: def get_system_reports( cls, *, - name: Optional[str] = None, - duration: Optional[int] = None, - start_time: Optional[str] = None, - end_time: Optional[str] = None, - brief: Optional[bool] = None, - slave_id: Optional[EntityID] = None, + name: str | None = None, + duration: int | None = None, + start_time: str | None = None, + end_time: str | None = None, + brief: bool | None = None, + slave_id: EntityID | None = None, ) -> Request: """Request a list of system reports diff --git a/gvm/protocols/gmp/requests/v224/_tags.py b/gvm/protocols/gmp/requests/v224/_tags.py index ddb600779..db364feda 100644 --- a/gvm/protocols/gmp/requests/v224/_tags.py +++ b/gvm/protocols/gmp/requests/v224/_tags.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import InvalidArgument, RequiredArgument from gvm.protocols.core import Request @@ -14,7 +13,6 @@ class Tags: - @classmethod def clone_tag(cls, tag_id: EntityID) -> Request: """Clone an existing tag @@ -37,11 +35,11 @@ def create_tag( name: str, resource_type: EntityType, *, - resource_filter: Optional[str] = None, - resource_ids: Optional[list[EntityID]] = None, - value: Optional[str] = None, - comment: Optional[str] = None, - active: Optional[bool] = None, + resource_filter: str | None = None, + resource_ids: list[EntityID] | None = None, + value: str | None = None, + comment: str | None = None, + active: bool | None = None, ) -> Request: """Create a tag @@ -110,7 +108,7 @@ def create_tag( @classmethod def delete_tag( - cls, tag_id: EntityID, *, ultimate: Optional[bool] = False + cls, tag_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Deletes an existing tag @@ -132,10 +130,10 @@ def delete_tag( @staticmethod def get_tags( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - names_only: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + names_only: bool | None = None, ) -> Request: """Request a list of tags @@ -179,14 +177,14 @@ def modify_tag( cls, tag_id: EntityID, *, - comment: Optional[str] = None, - name: Optional[str] = None, - value: Optional[str] = None, - active: Optional[bool] = None, - resource_action: Optional[str] = None, - resource_type: Optional[EntityType] = None, - resource_filter: Optional[str] = None, - resource_ids: Optional[list[EntityID]] = None, + comment: str | None = None, + name: str | None = None, + value: str | None = None, + active: bool | None = None, + resource_action: str | None = None, + resource_type: EntityType | None = None, + resource_filter: str | None = None, + resource_ids: list[EntityID] | None = None, ) -> Request: """Modifies an existing tag. diff --git a/gvm/protocols/gmp/requests/v224/_targets.py b/gvm/protocols/gmp/requests/v224/_targets.py index 4c745fb2a..9e790b86b 100644 --- a/gvm/protocols/gmp/requests/v224/_targets.py +++ b/gvm/protocols/gmp/requests/v224/_targets.py @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union +from typing import Optional from gvm._enum import Enum from gvm.errors import InvalidArgument, RequiredArgument @@ -33,7 +33,7 @@ class AliveTest(Enum): @classmethod def from_string( cls, - alive_test: Optional[str], + alive_test: str | None, ) -> Optional["AliveTest"]: """Convert an alive test string into a AliveTest instance""" if not alive_test: @@ -62,21 +62,21 @@ def create_target( cls, name: str, *, - asset_hosts_filter: Optional[str] = None, - hosts: Optional[list[str]] = None, - comment: Optional[str] = None, - exclude_hosts: Optional[list[str]] = None, - ssh_credential_id: Optional[EntityID] = None, - ssh_credential_port: Optional[Union[int, str]] = None, - smb_credential_id: Optional[EntityID] = None, - esxi_credential_id: Optional[EntityID] = None, - snmp_credential_id: Optional[EntityID] = None, - alive_test: Optional[Union[str, AliveTest]] = None, - allow_simultaneous_ips: Optional[bool] = None, - reverse_lookup_only: Optional[bool] = None, - reverse_lookup_unify: Optional[bool] = None, - port_range: Optional[str] = None, - port_list_id: Optional[EntityID] = None, + asset_hosts_filter: str | None = None, + hosts: list[str] | None = None, + comment: str | None = None, + exclude_hosts: list[str] | None = None, + ssh_credential_id: EntityID | None = None, + ssh_credential_port: int | str | None = None, + smb_credential_id: EntityID | None = None, + esxi_credential_id: EntityID | None = None, + snmp_credential_id: EntityID | None = None, + alive_test: str | AliveTest | None = None, + allow_simultaneous_ips: bool | None = None, + reverse_lookup_only: bool | None = None, + reverse_lookup_unify: bool | None = None, + port_range: str | None = None, + port_list_id: EntityID | None = None, ) -> Request: """Create a new target @@ -179,20 +179,20 @@ def modify_target( cls, target_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - hosts: Optional[list[str]] = None, - exclude_hosts: Optional[list[str]] = None, - ssh_credential_id: Optional[EntityID] = None, - ssh_credential_port: Optional[Union[str, int]] = None, - smb_credential_id: Optional[EntityID] = None, - esxi_credential_id: Optional[EntityID] = None, - snmp_credential_id: Optional[EntityID] = None, - alive_test: Optional[Union[AliveTest, str]] = None, - allow_simultaneous_ips: Optional[bool] = None, - reverse_lookup_only: Optional[bool] = None, - reverse_lookup_unify: Optional[bool] = None, - port_list_id: Optional[EntityID] = None, + name: str | None = None, + comment: str | None = None, + hosts: list[str] | None = None, + exclude_hosts: list[str] | None = None, + ssh_credential_id: EntityID | None = None, + ssh_credential_port: str | int | None = None, + smb_credential_id: EntityID | None = None, + esxi_credential_id: EntityID | None = None, + snmp_credential_id: EntityID | None = None, + alive_test: AliveTest | str | None = None, + allow_simultaneous_ips: bool | None = None, + reverse_lookup_only: bool | None = None, + reverse_lookup_unify: bool | None = None, + port_list_id: EntityID | None = None, ) -> Request: """Modify an existing target. @@ -301,7 +301,7 @@ def clone_target(cls, target_id: EntityID) -> Request: @classmethod def delete_target( - cls, target_id: EntityID, *, ultimate: Optional[bool] = False + cls, target_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Delete an existing target. @@ -321,7 +321,7 @@ def delete_target( @classmethod def get_target( - cls, target_id: EntityID, *, tasks: Optional[bool] = None + cls, target_id: EntityID, *, tasks: bool | None = None ) -> Request: """Request a single target. @@ -346,10 +346,10 @@ def get_target( def get_targets( cls, *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - tasks: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + tasks: bool | None = None, ) -> Request: """Request a list of targets. diff --git a/gvm/protocols/gmp/requests/v224/_tasks.py b/gvm/protocols/gmp/requests/v224/_tasks.py index 4f73922d9..f6056cc90 100644 --- a/gvm/protocols/gmp/requests/v224/_tasks.py +++ b/gvm/protocols/gmp/requests/v224/_tasks.py @@ -2,8 +2,8 @@ # # SPDX-License-Identifier: GPL-3.0-or-later +from collections.abc import Mapping, Sequence from numbers import Integral -from typing import Mapping, Optional, Sequence from gvm.errors import InvalidArgument, RequiredArgument from gvm.protocols.core import Request @@ -15,7 +15,6 @@ class Tasks: - @classmethod def clone_task(cls, task_id: EntityID) -> Request: """Clone an existing task @@ -34,7 +33,7 @@ def clone_task(cls, task_id: EntityID) -> Request: @classmethod def create_container_task( - cls, name: str, *, comment: Optional[str] = None + cls, name: str, *, comment: str | None = None ) -> Request: """Create a new container task @@ -67,14 +66,14 @@ def create_task( target_id: EntityID, scanner_id: EntityID, *, - alterable: Optional[bool] = None, - hosts_ordering: Optional[HostsOrdering] = None, - schedule_id: Optional[EntityID] = None, - alert_ids: Optional[Sequence[EntityID]] = None, - comment: Optional[str] = None, - schedule_periods: Optional[int] = None, - observers: Optional[Sequence[str]] = None, - preferences: Optional[Mapping[str, SupportsStr]] = None, + alterable: bool | None = None, + hosts_ordering: HostsOrdering | None = None, + schedule_id: EntityID | None = None, + alert_ids: Sequence[EntityID] | None = None, + comment: str | None = None, + schedule_periods: int | None = None, + observers: Sequence[str] | None = None, + preferences: Mapping[str, SupportsStr] | None = None, ) -> Request: """Create a new scan task @@ -173,7 +172,7 @@ def create_task( @classmethod def delete_task( - cls, task_id: EntityID, *, ultimate: Optional[bool] = False + cls, task_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Deletes an existing task @@ -195,12 +194,12 @@ def delete_task( @staticmethod def get_tasks( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - details: Optional[bool] = None, - schedules_only: Optional[bool] = None, - ignore_pagination: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + details: bool | None = None, + schedules_only: bool | None = None, + ignore_pagination: bool | None = None, ) -> Request: """Request a list of tasks @@ -258,18 +257,18 @@ def modify_task( cls, task_id: EntityID, *, - name: Optional[str] = None, - config_id: Optional[EntityID] = None, - target_id: Optional[EntityID] = None, - scanner_id: Optional[EntityID] = None, - alterable: Optional[bool] = None, - hosts_ordering: Optional[HostsOrdering] = None, - schedule_id: Optional[EntityID] = None, - schedule_periods: Optional[int] = None, - comment: Optional[str] = None, - alert_ids: Optional[Sequence[EntityID]] = None, - observers: Optional[Sequence[str]] = None, - preferences: Optional[Mapping[str, SupportsStr]] = None, + name: str | None = None, + config_id: EntityID | None = None, + target_id: EntityID | None = None, + scanner_id: EntityID | None = None, + alterable: bool | None = None, + hosts_ordering: HostsOrdering | None = None, + schedule_id: EntityID | None = None, + schedule_periods: int | None = None, + comment: str | None = None, + alert_ids: Sequence[EntityID] | None = None, + observers: Sequence[str] | None = None, + preferences: Mapping[str, SupportsStr] | None = None, ) -> Request: """Modifies an existing task. @@ -355,7 +354,7 @@ def modify_task( @classmethod def move_task( - cls, task_id: EntityID, *, slave_id: Optional[EntityID] = None + cls, task_id: EntityID, *, slave_id: EntityID | None = None ) -> Request: """Move an existing task to another GMP slave scanner or the master diff --git a/gvm/protocols/gmp/requests/v224/_tickets.py b/gvm/protocols/gmp/requests/v224/_tickets.py index 8c1dbd82c..876bd385c 100644 --- a/gvm/protocols/gmp/requests/v224/_tickets.py +++ b/gvm/protocols/gmp/requests/v224/_tickets.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union from gvm._enum import Enum from gvm.errors import RequiredArgument @@ -22,7 +21,6 @@ class TicketStatus(Enum): class Tickets: - @classmethod def clone_ticket(cls, ticket_id: EntityID) -> Request: """Clone an existing ticket @@ -48,7 +46,7 @@ def create_ticket( result_id: EntityID, assigned_to_user_id: EntityID, note: str, - comment: Optional[str] = None, + comment: str | None = None, ) -> Request: """Create a new ticket @@ -92,7 +90,7 @@ def create_ticket( @classmethod def delete_ticket( - cls, ticket_id: EntityID, *, ultimate: Optional[bool] = False + cls, ticket_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Deletes an existing ticket @@ -114,9 +112,9 @@ def delete_ticket( @staticmethod def get_tickets( *, - trash: Optional[bool] = None, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, + trash: bool | None = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, ) -> Request: """Request a list of tickets @@ -155,10 +153,10 @@ def modify_ticket( cls, ticket_id: EntityID, *, - status: Optional[Union[TicketStatus, str]] = None, - note: Optional[str] = None, - assigned_to_user_id: Optional[EntityID] = None, - comment: Optional[str] = None, + status: TicketStatus | str | None = None, + note: str | None = None, + assigned_to_user_id: EntityID | None = None, + comment: str | None = None, ) -> Request: """Modify a single ticket diff --git a/gvm/protocols/gmp/requests/v224/_tls_certificates.py b/gvm/protocols/gmp/requests/v224/_tls_certificates.py index 18f74c93b..f91f369b9 100644 --- a/gvm/protocols/gmp/requests/v224/_tls_certificates.py +++ b/gvm/protocols/gmp/requests/v224/_tls_certificates.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -38,8 +37,8 @@ def create_tls_certificate( name: str, certificate: str, *, - comment: Optional[str] = None, - trust: Optional[bool] = None, + comment: str | None = None, + trust: bool | None = None, ) -> Request: """Create a new TLS certificate @@ -93,10 +92,10 @@ def delete_tls_certificate(cls, tls_certificate_id: EntityID) -> Request: @staticmethod def get_tls_certificates( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - include_certificate_data: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + include_certificate_data: bool | None = None, + details: bool | None = None, ) -> Request: """Request a list of TLS certificates @@ -152,9 +151,9 @@ def modify_tls_certificate( cls, tls_certificate_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - trust: Optional[bool] = None, + name: str | None = None, + comment: str | None = None, + trust: bool | None = None, ) -> Request: """Modifies an existing TLS certificate. diff --git a/gvm/protocols/gmp/requests/v224/_user_settings.py b/gvm/protocols/gmp/requests/v224/_user_settings.py index 45e2b145f..a98a5a61b 100644 --- a/gvm/protocols/gmp/requests/v224/_user_settings.py +++ b/gvm/protocols/gmp/requests/v224/_user_settings.py @@ -3,7 +3,6 @@ # SPDX-License-Identifier: GPL-3.0-or-later # -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -15,7 +14,7 @@ class UserSettings: @staticmethod - def get_user_settings(*, filter_string: Optional[str] = None) -> Request: + def get_user_settings(*, filter_string: str | None = None) -> Request: """Request a list of user settings Args: @@ -49,9 +48,9 @@ def get_user_setting(cls, setting_id: EntityID) -> Request: def modify_user_setting( cls, *, - setting_id: Optional[EntityID] = None, - name: Optional[str] = None, - value: Optional[str] = None, + setting_id: EntityID | None = None, + name: str | None = None, + value: str | None = None, ) -> Request: """Modifies an existing user setting. diff --git a/gvm/protocols/gmp/requests/v224/_users.py b/gvm/protocols/gmp/requests/v224/_users.py index d84097d7f..521d0b320 100644 --- a/gvm/protocols/gmp/requests/v224/_users.py +++ b/gvm/protocols/gmp/requests/v224/_users.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union from gvm._enum import Enum from gvm.errors import RequiredArgument @@ -22,16 +21,15 @@ class UserAuthType(Enum): class Users: - @classmethod def create_user( cls, name: str, *, - password: Optional[str] = None, - hosts: Optional[list[str]] = None, - hosts_allow: Optional[bool] = False, - role_ids: Optional[list[EntityID]] = None, + password: str | None = None, + hosts: list[str] | None = None, + hosts_allow: bool | None = False, + role_ids: list[EntityID] | None = None, ) -> Request: """Create a new user @@ -72,14 +70,14 @@ def modify_user( cls, user_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - password: Optional[str] = None, - auth_source: Optional[Union[UserAuthType, str]] = None, - role_ids: Optional[list[EntityID]] = None, - hosts: Optional[list[str]] = None, - hosts_allow: Optional[bool] = False, - group_ids: Optional[list[EntityID]] = None, + name: str | None = None, + comment: str | None = None, + password: str | None = None, + auth_source: UserAuthType | str | None = None, + role_ids: list[EntityID] | None = None, + hosts: list[str] | None = None, + hosts_allow: bool | None = False, + group_ids: list[EntityID] | None = None, ) -> Request: """Modify an existing user. @@ -164,11 +162,11 @@ def clone_user(cls, user_id: EntityID) -> Request: @classmethod def delete_user( cls, - user_id: Optional[EntityID] = None, + user_id: EntityID | None = None, *, - name: Optional[str] = None, - inheritor_id: Optional[EntityID] = None, - inheritor_name: Optional[str] = None, + name: str | None = None, + inheritor_id: EntityID | None = None, + inheritor_name: str | None = None, ) -> Request: """Delete an existing user @@ -205,8 +203,8 @@ def delete_user( @staticmethod def get_users( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, ) -> Request: """Request a list of users diff --git a/gvm/protocols/gmp/requests/v224/_vulnerabilities.py b/gvm/protocols/gmp/requests/v224/_vulnerabilities.py index b09b9abb3..2c97c0e80 100644 --- a/gvm/protocols/gmp/requests/v224/_vulnerabilities.py +++ b/gvm/protocols/gmp/requests/v224/_vulnerabilities.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -15,8 +14,8 @@ class Vulnerabilities: @staticmethod def get_vulnerabilities( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, ) -> Request: """Request a list of vulnerabilities diff --git a/gvm/protocols/gmp/requests/v225/__init__.py b/gvm/protocols/gmp/requests/v225/__init__.py index 028993ed8..3f1c996f1 100644 --- a/gvm/protocols/gmp/requests/v225/__init__.py +++ b/gvm/protocols/gmp/requests/v225/__init__.py @@ -75,28 +75,28 @@ from ._resource_names import ResourceNames, ResourceType __all__ = ( - "Aggregates", "AggregateStatistic", - "Alerts", + "Aggregates", "AlertCondition", "AlertEvent", "AlertMethod", + "Alerts", "AliveTest", "Audits", "Authentication", "CertBundAdvisories", "Cpes", - "Credentials", "CredentialFormat", "CredentialType", + "Credentials", "Cves", "DfnCertAdvisories", "EntityID", "EntityType", "Feed", "FeedType", - "Filters", "FilterType", + "Filters", "Groups", "Help", "HelpFormat", @@ -107,8 +107,8 @@ "Nvts", "OperatingSystems", "Overrides", - "Permissions", "PermissionSubjectType", + "Permissions", "Policies", "PortLists", "PortRangeType", @@ -120,21 +120,21 @@ "Results", "Roles", "ScanConfigs", - "Scanners", "ScannerType", + "Scanners", "Schedules", "SecInfo", "Severity", - "SortOrder", "SnmpAuthAlgorithm", "SnmpPrivacyAlgorithm", + "SortOrder", "SystemReports", + "TLSCertificates", "Tags", "Targets", "Tasks", - "Tickets", "TicketStatus", - "TLSCertificates", + "Tickets", "TrashCan", "UserAuthType", "UserSettings", diff --git a/gvm/protocols/gmp/requests/v225/_resource_names.py b/gvm/protocols/gmp/requests/v225/_resource_names.py index 2521a0b81..57fe96a7d 100644 --- a/gvm/protocols/gmp/requests/v225/_resource_names.py +++ b/gvm/protocols/gmp/requests/v225/_resource_names.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union from gvm._enum import Enum from gvm.errors import RequiredArgument @@ -47,9 +46,9 @@ class ResourceNames: @classmethod def get_resource_names( cls, - resource_type: Union[ResourceType, str], + resource_type: ResourceType | str, *, - filter_string: Optional[str] = None, + filter_string: str | None = None, ) -> Request: """Request a list of resource names and IDs @@ -81,7 +80,7 @@ def get_resource_names( def get_resource_name( cls, resource_id: EntityID, - resource_type: Union[ResourceType, str], + resource_type: ResourceType | str, ) -> Request: """Request a single resource name diff --git a/gvm/protocols/gmp/requests/v226/__init__.py b/gvm/protocols/gmp/requests/v226/__init__.py index 268e2a07e..6e9dec895 100644 --- a/gvm/protocols/gmp/requests/v226/__init__.py +++ b/gvm/protocols/gmp/requests/v226/__init__.py @@ -76,29 +76,29 @@ from ._resource_names import ResourceNames, ResourceType __all__ = ( - "Aggregates", "AggregateStatistic", - "Alerts", + "Aggregates", "AlertCondition", "AlertEvent", "AlertMethod", + "Alerts", "AliveTest", "AuditReports", "Audits", "Authentication", "CertBundAdvisories", "Cpes", - "Credentials", "CredentialFormat", "CredentialType", + "Credentials", "Cves", "DfnCertAdvisories", "EntityID", "EntityType", "Feed", "FeedType", - "Filters", "FilterType", + "Filters", "Groups", "Help", "HelpFormat", @@ -109,13 +109,13 @@ "Nvts", "OperatingSystems", "Overrides", - "Permissions", "PermissionSubjectType", + "Permissions", "Policies", "PortLists", "PortRangeType", - "ReportConfigs", "ReportConfigParameter", + "ReportConfigs", "ReportFormatType", "ReportFormats", "Reports", @@ -124,21 +124,21 @@ "Results", "Roles", "ScanConfigs", - "Scanners", "ScannerType", + "Scanners", "Schedules", "SecInfo", "Severity", - "SortOrder", "SnmpAuthAlgorithm", "SnmpPrivacyAlgorithm", + "SortOrder", "SystemReports", + "TLSCertificates", "Tags", "Targets", "Tasks", - "Tickets", "TicketStatus", - "TLSCertificates", + "Tickets", "TrashCan", "UserAuthType", "UserSettings", diff --git a/gvm/protocols/gmp/requests/v226/_audit_reports.py b/gvm/protocols/gmp/requests/v226/_audit_reports.py index 96a0c0136..06dea8743 100644 --- a/gvm/protocols/gmp/requests/v226/_audit_reports.py +++ b/gvm/protocols/gmp/requests/v226/_audit_reports.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -14,7 +13,6 @@ class AuditReports: - @classmethod def delete_report(cls, audit_report_id: EntityID) -> Request: """Deletes an existing audit report @@ -37,12 +35,12 @@ def get_report( cls, report_id: EntityID, *, - filter_string: Optional[str] = None, - filter_id: Optional[str] = None, - delta_report_id: Optional[EntityID] = None, - report_format_id: Optional[Union[str, ReportFormatType]] = None, - ignore_pagination: Optional[bool] = None, - details: Optional[bool] = True, + filter_string: str | None = None, + filter_id: str | None = None, + delta_report_id: EntityID | None = None, + report_format_id: str | ReportFormatType | None = None, + ignore_pagination: bool | None = None, + details: bool | None = True, ) -> Request: """Request a single audit report @@ -86,12 +84,12 @@ def get_report( @staticmethod def get_reports( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - note_details: Optional[bool] = None, - override_details: Optional[bool] = None, - ignore_pagination: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + note_details: bool | None = None, + override_details: bool | None = None, + ignore_pagination: bool | None = None, + details: bool | None = None, ) -> Request: """Request a list of audit reports diff --git a/gvm/protocols/gmp/requests/v226/_filters.py b/gvm/protocols/gmp/requests/v226/_filters.py index 3663d98a0..d9aa20acd 100644 --- a/gvm/protocols/gmp/requests/v226/_filters.py +++ b/gvm/protocols/gmp/requests/v226/_filters.py @@ -13,8 +13,8 @@ from .._entity_id import EntityID __all__ = ( - "Filters", "FilterType", + "Filters", ) @@ -52,7 +52,7 @@ class FilterType(Enum): @classmethod def from_string( cls, - filter_type: Optional[str], + filter_type: str | None, ) -> Optional["FilterType"]: """Convert a filter type string to an actual FilterType instance @@ -96,9 +96,9 @@ def create_filter( cls, name: str, *, - filter_type: Optional[FilterType] = None, - comment: Optional[str] = None, - term: Optional[str] = None, + filter_type: FilterType | None = None, + comment: str | None = None, + term: str | None = None, ) -> Request: """Create a new filter @@ -132,7 +132,7 @@ def create_filter( @classmethod def delete_filter( - cls, filter_id: EntityID, *, ultimate: Optional[bool] = False + cls, filter_id: EntityID, *, ultimate: bool | None = False ) -> Request: """Deletes an existing filter @@ -154,10 +154,10 @@ def delete_filter( @staticmethod def get_filters( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - alerts: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + alerts: bool | None = None, ) -> Request: """Request a list of filters @@ -181,7 +181,7 @@ def get_filters( @classmethod def get_filter( - cls, filter_id: EntityID, *, alerts: Optional[bool] = None + cls, filter_id: EntityID, *, alerts: bool | None = None ) -> Request: """Request a single filter @@ -208,10 +208,10 @@ def modify_filter( cls, filter_id: EntityID, *, - comment: Optional[str] = None, - name: Optional[str] = None, - term: Optional[str] = None, - filter_type: Optional[FilterType] = None, + comment: str | None = None, + name: str | None = None, + term: str | None = None, + filter_type: FilterType | None = None, ) -> Request: """Modifies an existing filter. diff --git a/gvm/protocols/gmp/requests/v226/_report_configs.py b/gvm/protocols/gmp/requests/v226/_report_configs.py index 4f4268784..c555cbc80 100644 --- a/gvm/protocols/gmp/requests/v226/_report_configs.py +++ b/gvm/protocols/gmp/requests/v226/_report_configs.py @@ -3,8 +3,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later # +from collections.abc import Sequence from dataclasses import dataclass -from typing import Optional, Sequence, Union from gvm.errors import RequiredArgument from gvm.protocols.core import Request @@ -27,7 +27,7 @@ class ReportConfigParameter: """ name: str - value: Optional[str] = None + value: str | None = None use_default: bool = False @@ -62,7 +62,7 @@ def delete_report_config( cls, report_config_id: EntityID, *, - ultimate: Optional[bool] = False, + ultimate: bool | None = False, ) -> Request: """Deletes an existing report config @@ -76,7 +76,9 @@ def delete_report_config( from gvm.protocols.gmp.requests.v226 import ReportConfigs - request = ReportConfigs.delete_report_config("report_config_id", ultimate=True) + request = ReportConfigs.delete_report_config( + "report_config_id", ultimate=True + ) """ if not report_config_id: raise RequiredArgument( @@ -95,10 +97,10 @@ def delete_report_config( @staticmethod def get_report_configs( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + details: bool | None = None, ) -> Request: """Request a list of report configs @@ -120,7 +122,9 @@ def get_report_configs( from gvm.protocols.gmp.requests.v226 import ReportConfigs - request = ReportConfigs.get_report_configs(filter_string="name=foo", details=True) + request = ReportConfigs.get_report_configs( + filter_string="name=foo", details=True + ) """ cmd = XmlCommand("get_report_configs") @@ -170,10 +174,10 @@ def get_report_config( def create_report_config( cls, name: str, - report_format_id: Union[EntityID, ReportFormatType], + report_format_id: EntityID | ReportFormatType, *, - comment: Optional[str] = None, - params: Optional[Sequence[ReportConfigParameter]] = None, + comment: str | None = None, + params: Sequence[ReportConfigParameter] | None = None, ) -> Request: """Create a report config @@ -187,7 +191,10 @@ def create_report_config( .. code-block:: python - from gvm.protocols.gmp.requests.v226 import ReportConfigs, ReportFormatType + from gvm.protocols.gmp.requests.v226 import ( + ReportConfigs, + ReportFormatType, + ) request = ReportConfigs.create_report_config( "Adjusted Node Distance", @@ -231,9 +238,9 @@ def modify_report_config( cls, report_config_id: EntityID, *, - name: Optional[str] = None, - comment: Optional[str] = None, - params: Optional[Sequence[ReportConfigParameter]] = None, + name: str | None = None, + comment: str | None = None, + params: Sequence[ReportConfigParameter] | None = None, ) -> Request: """Create a report config diff --git a/gvm/protocols/gmp/requests/v226/_reports.py b/gvm/protocols/gmp/requests/v226/_reports.py index 8b5ef2537..8e7bafff9 100644 --- a/gvm/protocols/gmp/requests/v226/_reports.py +++ b/gvm/protocols/gmp/requests/v226/_reports.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union from gvm.errors import InvalidArgument, RequiredArgument from gvm.protocols.core import Request @@ -14,7 +13,6 @@ class Reports: - @classmethod def delete_report(cls, report_id: EntityID) -> Request: """Deletes an existing report @@ -37,13 +35,13 @@ def get_report( cls, report_id: EntityID, *, - filter_string: Optional[str] = None, - filter_id: Optional[str] = None, - delta_report_id: Optional[EntityID] = None, - report_format_id: Optional[Union[str, ReportFormatType]] = None, - report_config_id: Optional[str] = None, - ignore_pagination: Optional[bool] = None, - details: Optional[bool] = True, + filter_string: str | None = None, + filter_id: str | None = None, + delta_report_id: EntityID | None = None, + report_format_id: str | ReportFormatType | None = None, + report_config_id: str | None = None, + ignore_pagination: bool | None = None, + details: bool | None = True, ) -> Request: """Request a single report @@ -91,12 +89,12 @@ def get_report( @staticmethod def get_reports( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - note_details: Optional[bool] = None, - override_details: Optional[bool] = None, - ignore_pagination: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + note_details: bool | None = None, + override_details: bool | None = None, + ignore_pagination: bool | None = None, + details: bool | None = None, ) -> Request: """Request a list of reports @@ -139,7 +137,7 @@ def import_report( report: str, task_id: EntityID, *, - in_assets: Optional[bool] = None, + in_assets: bool | None = None, ) -> Request: """Import a Report from XML diff --git a/gvm/protocols/gmp/requests/v226/_resource_names.py b/gvm/protocols/gmp/requests/v226/_resource_names.py index a2b18462f..e5462caef 100644 --- a/gvm/protocols/gmp/requests/v226/_resource_names.py +++ b/gvm/protocols/gmp/requests/v226/_resource_names.py @@ -2,7 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union from gvm._enum import Enum from gvm.errors import RequiredArgument @@ -50,9 +49,9 @@ class ResourceNames: @classmethod def get_resource_names( cls, - resource_type: Union[ResourceType, str], + resource_type: ResourceType | str, *, - filter_string: Optional[str] = None, + filter_string: str | None = None, ) -> Request: """Request a list of resource names and IDs @@ -84,7 +83,7 @@ def get_resource_names( def get_resource_name( cls, resource_id: EntityID, - resource_type: Union[ResourceType, str], + resource_type: ResourceType | str, ) -> Request: """Request a single resource name diff --git a/gvm/protocols/gmp/requests/v227/__init__.py b/gvm/protocols/gmp/requests/v227/__init__.py index 40d7af522..0b0bb17a2 100644 --- a/gvm/protocols/gmp/requests/v227/__init__.py +++ b/gvm/protocols/gmp/requests/v227/__init__.py @@ -79,29 +79,29 @@ ) __all__ = ( - "Aggregates", "AggregateStatistic", - "Alerts", + "Aggregates", "AlertCondition", "AlertEvent", "AlertMethod", + "Alerts", "AliveTest", "AuditReports", "Audits", "Authentication", "CertBundAdvisories", "Cpes", - "Credentials", "CredentialFormat", "CredentialType", + "Credentials", "Cves", "DfnCertAdvisories", "EntityID", "EntityType", "Feed", "FeedType", - "Filters", "FilterType", + "Filters", "Groups", "Help", "HelpFormat", @@ -112,13 +112,13 @@ "Nvts", "OperatingSystems", "Overrides", - "Permissions", "PermissionSubjectType", + "Permissions", "Policies", "PortLists", "PortRangeType", - "ReportConfigs", "ReportConfigParameter", + "ReportConfigs", "ReportFormatType", "ReportFormats", "Reports", @@ -127,21 +127,21 @@ "Results", "Roles", "ScanConfigs", - "Scanners", "ScannerType", + "Scanners", "Schedules", "SecInfo", "Severity", - "SortOrder", "SnmpAuthAlgorithm", "SnmpPrivacyAlgorithm", + "SortOrder", "SystemReports", + "TLSCertificates", "Tags", "Targets", "Tasks", - "Tickets", "TicketStatus", - "TLSCertificates", + "Tickets", "TrashCan", "UserAuthType", "UserSettings", diff --git a/gvm/protocols/gmp/requests/v227/_scanners.py b/gvm/protocols/gmp/requests/v227/_scanners.py index b6de6e9ea..b5bc1089e 100644 --- a/gvm/protocols/gmp/requests/v227/_scanners.py +++ b/gvm/protocols/gmp/requests/v227/_scanners.py @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -from typing import Optional, Union +from typing import Optional from gvm._enum import Enum from gvm.errors import InvalidArgument, RequiredArgument @@ -25,7 +25,7 @@ class ScannerType(Enum): @classmethod def from_string( cls, - scanner_type: Optional[str], + scanner_type: str | None, ) -> Optional["ScannerType"]: """Convert a scanner type string to an actual ScannerType instance @@ -76,14 +76,14 @@ def create_scanner( cls, name: str, host: str, - port: Union[str, int], + port: str | int, scanner_type: ScannerType, credential_id: str, *, - ca_pub: Optional[str] = None, - comment: Optional[str] = None, - relay_host: Optional[str] = None, - relay_port: Optional[Union[str, int]] = None, + ca_pub: str | None = None, + comment: str | None = None, + relay_host: str | None = None, + relay_port: str | int | None = None, ) -> Request: """Create a new scanner @@ -155,15 +155,15 @@ def modify_scanner( cls, scanner_id: EntityID, *, - name: Optional[str] = None, - host: Optional[str] = None, - port: Optional[int] = None, - scanner_type: Optional[ScannerType] = None, - credential_id: Optional[EntityID] = None, - ca_pub: Optional[str] = None, - comment: Optional[str] = None, - relay_host: Optional[str] = None, - relay_port: Optional[Union[str, int]] = None, + name: str | None = None, + host: str | None = None, + port: int | None = None, + scanner_type: ScannerType | None = None, + credential_id: EntityID | None = None, + ca_pub: str | None = None, + comment: str | None = None, + relay_host: str | None = None, + relay_port: str | int | None = None, ) -> Request: """Modify an existing scanner @@ -227,10 +227,10 @@ def modify_scanner( @staticmethod def get_scanners( *, - filter_string: Optional[str] = None, - filter_id: Optional[EntityID] = None, - trash: Optional[bool] = None, - details: Optional[bool] = None, + filter_string: str | None = None, + filter_id: EntityID | None = None, + trash: bool | None = None, + details: bool | None = None, ) -> Request: """Request a list of scanners @@ -307,7 +307,7 @@ def clone_scanner(cls, scanner_id: EntityID) -> Request: @classmethod def delete_scanner( - cls, scanner_id: EntityID, ultimate: Optional[bool] = False + cls, scanner_id: EntityID, ultimate: bool | None = False ) -> Request: """Delete an existing scanner diff --git a/gvm/protocols/http/openvasd/_client.py b/gvm/protocols/http/openvasd/_client.py index c82a5a09e..167e5edb8 100644 --- a/gvm/protocols/http/openvasd/_client.py +++ b/gvm/protocols/http/openvasd/_client.py @@ -8,21 +8,20 @@ import ssl from os import PathLike -from typing import Optional, Tuple, Union from httpx import Client -StrOrPathLike = Union[str, PathLike[str]] +StrOrPathLike = str | PathLike[str] def create_openvasd_http_client( host_name: str, *, - api_key: Optional[str] = None, - server_ca_path: Optional[StrOrPathLike] = None, - client_cert_paths: Optional[ - Union[StrOrPathLike, Tuple[StrOrPathLike, StrOrPathLike]] - ] = None, + api_key: str | None = None, + server_ca_path: StrOrPathLike | None = None, + client_cert_paths: StrOrPathLike + | tuple[StrOrPathLike, StrOrPathLike] + | None = None, port: int = 3000, ) -> Client: """ @@ -45,7 +44,7 @@ def create_openvasd_http_client( """ headers = {} - context: Optional[ssl.SSLContext] = None + context: ssl.SSLContext | None = None # Prepare mTLS SSL context if needed if client_cert_paths and server_ca_path: @@ -63,7 +62,7 @@ def create_openvasd_http_client( context.verify_mode = ssl.CERT_REQUIRED # Set verify based on context presence - verify: Union[bool, ssl.SSLContext] = context if context else False + verify: bool | ssl.SSLContext = context if context else False if api_key: headers["X-API-KEY"] = api_key diff --git a/gvm/protocols/http/openvasd/_metadata.py b/gvm/protocols/http/openvasd/_metadata.py index d701c375d..dc7bba8c3 100644 --- a/gvm/protocols/http/openvasd/_metadata.py +++ b/gvm/protocols/http/openvasd/_metadata.py @@ -7,7 +7,6 @@ """ from dataclasses import dataclass -from typing import Union import httpx @@ -58,7 +57,7 @@ class MetadataAPI(OpenvasdAPI): is handled gracefully. """ - def get(self) -> Union[Metadata, MetadataError]: + def get(self) -> Metadata | MetadataError: """ Perform a HEAD request to `/` to retrieve top-level API metadata. @@ -85,7 +84,7 @@ def get(self) -> Union[Metadata, MetadataError]: ) raise - def get_scans(self) -> Union[Metadata, MetadataError]: + def get_scans(self) -> Metadata | MetadataError: """ Perform a HEAD request to `/scans` to retrieve scan endpoint metadata. diff --git a/gvm/protocols/http/openvasd/_openvasd1.py b/gvm/protocols/http/openvasd/_openvasd1.py index 1793e5d3a..8b28c8a36 100644 --- a/gvm/protocols/http/openvasd/_openvasd1.py +++ b/gvm/protocols/http/openvasd/_openvasd1.py @@ -9,8 +9,6 @@ logical modules (health, metadata, scans, etc.). """ -from typing import Optional, Tuple, Union - from ._client import StrOrPathLike, create_openvasd_http_client from ._health import HealthAPI from ._metadata import MetadataAPI @@ -34,11 +32,11 @@ def __init__( host_name: str, port: int = 3000, *, - api_key: Optional[str] = None, - server_ca_path: Optional[StrOrPathLike] = None, - client_cert_paths: Optional[ - Union[StrOrPathLike, Tuple[StrOrPathLike, StrOrPathLike]] - ] = None, + api_key: str | None = None, + server_ca_path: StrOrPathLike | None = None, + client_cert_paths: StrOrPathLike + | tuple[StrOrPathLike, StrOrPathLike] + | None = None, suppress_exceptions: bool = False, ): """ diff --git a/gvm/protocols/http/openvasd/_scans.py b/gvm/protocols/http/openvasd/_scans.py index ba8690632..fa2cd02a1 100644 --- a/gvm/protocols/http/openvasd/_scans.py +++ b/gvm/protocols/http/openvasd/_scans.py @@ -9,7 +9,7 @@ import urllib.parse from dataclasses import asdict, dataclass, field from enum import Enum -from typing import Any, Optional, Union +from typing import Any from uuid import UUID import httpx @@ -18,7 +18,7 @@ from ._api import OpenvasdAPI -ID = Union[str, UUID] +ID = str | UUID @dataclass @@ -63,8 +63,8 @@ class CredentialUP: username: str password: str - privilege_username: Optional[str] = None - privilege_password: Optional[str] = None + privilege_username: str | None = None + privilege_password: str | None = None @dataclass @@ -101,8 +101,8 @@ class CredentialUSK: username: str password: str private: str - privilege_username: Optional[str] = None - privilege_password: Optional[str] = None + privilege_username: str | None = None + privilege_password: str | None = None @dataclass @@ -143,10 +143,10 @@ class Credential: service: str port: int - up: Optional[CredentialUP] = None - krb5: Optional[CredentialKRB5] = None - usk: Optional[CredentialUSK] = None - snmp: Optional[CredentialSNMP] = None + up: CredentialUP | None = None + krb5: CredentialKRB5 | None = None + usk: CredentialUSK | None = None + snmp: CredentialSNMP | None = None @dataclass @@ -256,7 +256,7 @@ def create( target: Target, vt_selection: list[VTSelection], *, - scan_preferences: Optional[list[ScanPreference]] = None, + scan_preferences: list[ScanPreference] | None = None, ) -> httpx.Response: """ Create a new scan with the specified target configuration and VT selection. @@ -370,8 +370,8 @@ def get_results( self, scan_id: ID, *, - range_start: Optional[int] = None, - range_end: Optional[int] = None, + range_start: int | None = None, + range_end: int | None = None, ) -> httpx.Response: """ Retrieve a range of results for a given scan. diff --git a/gvm/protocols/latest.py b/gvm/protocols/latest.py index fa1d30d94..7e30fad26 100644 --- a/gvm/protocols/latest.py +++ b/gvm/protocols/latest.py @@ -22,14 +22,14 @@ """ from .gmp import ( - GMPv227 as GMP, + GMPv227 as GMP, # noqa: N817 ) from .ospv1 import Osp Gmp = GMP # for backwards compatibility __all__ = [ - "Gmp", "GMP", + "Gmp", "Osp", ] diff --git a/gvm/protocols/next.py b/gvm/protocols/next.py index 237135834..a80653465 100644 --- a/gvm/protocols/next.py +++ b/gvm/protocols/next.py @@ -20,14 +20,14 @@ """ from .gmp import ( - GMPNext as GMP, + GMPNext as GMP, # noqa: N814 ) from .ospv1 import Osp Gmp = GMP # for backwards compatibility __all__ = [ - "Gmp", "GMP", + "Gmp", "Osp", ] diff --git a/gvm/protocols/ospv1.py b/gvm/protocols/ospv1.py index 06a0ffb89..7f888e04b 100644 --- a/gvm/protocols/ospv1.py +++ b/gvm/protocols/ospv1.py @@ -10,7 +10,7 @@ """ import logging -from typing import Any, Optional +from typing import Any from gvm.errors import InvalidArgument, RequiredArgument from gvm.utils import to_bool @@ -99,7 +99,7 @@ def help(self) -> T: def get_scans( self, - scan_id: Optional[str] = None, + scan_id: str | None = None, details: bool = True, pop_results: bool = False, ) -> T: @@ -140,7 +140,7 @@ def get_scanner_details(self) -> T: cmd = XmlCommand("get_scanner_details") return self._send_request_and_transform_response(cmd) - def get_vts(self, vt_id: Optional[str] = None) -> T: + def get_vts(self, vt_id: str | None = None) -> T: """Return information about vulnerability tests, if offered by scanner. @@ -155,13 +155,13 @@ def get_vts(self, vt_id: Optional[str] = None) -> T: def start_scan( self, - scan_id: Optional[str] = None, + scan_id: str | None = None, parallel: int = 1, target=None, ports=None, - targets: Optional[list[dict[str, str]]] = None, - scanner_params: Optional[dict[str, Any]] = None, - vt_selection: Optional[dict[str, Any]] = None, + targets: list[dict[str, str]] | None = None, + scanner_params: dict[str, Any] | None = None, + vt_selection: dict[str, Any] | None = None, ) -> T: """Start a new scan. @@ -180,35 +180,36 @@ def start_scan( Scanner Parameters:: scanner_parameters = { - 'scan_param1': 'scan_param1_value', - 'scan_param2': 'scan_param2_value', + "scan_param1": "scan_param1_value", + "scan_param2": "scan_param2_value", } Targets:: - targets = [{ - 'hosts': 'localhost', - 'ports': '80,43' - }, { - 'hosts': '192.168.0.0/24', - 'ports': '22', - }, { - 'credentials': { - 'smb': { - 'password': 'pass', - 'port': 'port', - 'type': 'type', - 'username': 'username', + targets = [ + {"hosts": "localhost", "ports": "80,43"}, + { + "hosts": "192.168.0.0/24", + "ports": "22", + }, + { + "credentials": { + "smb": { + "password": "pass", + "port": "port", + "type": "type", + "username": "username", + } } - } - }] + }, + ] VT Selection:: vt_selection = { - 'vt1': {}, - 'vt2': {'value_id': 'value'}, - 'vt_groups': ['family=debian', 'family=general'] + "vt1": {}, + "vt2": {"value_id": "value"}, + "vt_groups": ["family=debian", "family=general"], } """ cmd = XmlCommand("start_scan") diff --git a/gvm/utils.py b/gvm/utils.py index 93ce82c0e..857d9007c 100644 --- a/gvm/utils.py +++ b/gvm/utils.py @@ -9,16 +9,11 @@ import logging import re import warnings +from collections.abc import Callable, Iterable from functools import wraps from typing import ( Any, - Callable, - Iterable, - List, - Optional, Protocol, - Type, - Union, ) from gvm.xml import XmlCommand, XmlError, parse_xml @@ -39,10 +34,10 @@ def deprecation(message: str): def deprecated( - _func_or_cls: Union[str, Callable, Type, None] = None, + _func_or_cls: str | Callable | type | None = None, *, - since: Optional[str] = None, - reason: Optional[str] = None, + since: str | None = None, + reason: str | None = None, ): """ A decorator to mark functions, classes and methods as deprecated @@ -56,29 +51,29 @@ def deprecated( from gvm.utils import deprecated + @deprecated - def my_function(*args, **kwargs): - ... + def my_function(*args, **kwargs): ... + @deprecated("The function is obsolete. Please use my_func instead.") - def my_function(*args, **kwargs): - ... + def my_function(*args, **kwargs): ... + @deprecated( since="1.2.3", - reason="The function is obsolete. Please use my_func instead." + reason="The function is obsolete. Please use my_func instead.", ) - def my_function(*args, **kwargs): - ... + def my_function(*args, **kwargs): ... + @deprecated(reason="The class will be removed in version 3.4.5") - class Foo: - ... + class Foo: ... + class Foo: @deprecated(since="2.3.4") - def bar(self, *args, **kwargs): - ... + def bar(self, *args, **kwargs): ... """ if isinstance(_func_or_cls, str): reason = _func_or_cls @@ -139,7 +134,7 @@ def check_command_status(xml: str) -> bool: return False -def to_dotted_types_dict(types: List) -> TypesDict: +def to_dotted_types_dict(types: list) -> TypesDict: """Create a dictionary accessible via dot notation""" dic = {} for typ in types: @@ -147,7 +142,7 @@ def to_dotted_types_dict(types: List) -> TypesDict: return TypesDict(dic) -def to_bool(value: Union[bool, int, None]) -> str: +def to_bool(value: bool | int | None) -> str: return "1" if value else "0" @@ -165,7 +160,7 @@ def to_comma_list(value: Iterable[SupportsStr]) -> str: @deprecated(since="24.3.0", reason="Please use XmlCommand.add_filter instead.") def add_filter( - cmd: XmlCommand, filter_string: Optional[str], filter_id: Optional[str] + cmd: XmlCommand, filter_string: str | None, filter_id: str | None ) -> None: cmd.add_filter(filter_string, filter_id) diff --git a/gvm/xml.py b/gvm/xml.py index 2944fe51a..9172bc011 100644 --- a/gvm/xml.py +++ b/gvm/xml.py @@ -5,11 +5,11 @@ import sys from io import IOBase -from typing import AnyStr, Optional, TextIO, Union +from typing import AnyStr, TextIO from uuid import UUID from lxml.etree import DocInfo, SubElement, XMLParser -from lxml.etree import Element as create_element +from lxml.etree import Element as create_element # noqa: N813 from lxml.etree import Error as EtreeError from lxml.etree import _Element as Element from lxml.etree import iselement as is_xml_element @@ -19,10 +19,10 @@ __all__ = ( "Element", + "XmlCommand", + "XmlCommandElement", "create_parser", "parse_xml", - "XmlCommandElement", - "XmlCommand", "pretty_print", ) @@ -94,9 +94,9 @@ def __init__(self, element: Element): def add_element( self, name: str, - text: Optional[str] = None, + text: str | None = None, *, - attrs: Optional[dict] = None, + attrs: dict | None = None, ) -> "XmlCommandElement": node = SubElement(self._element, name, attrib=attrs) node.text = text @@ -123,7 +123,7 @@ def set_attributes(self, attrs: dict[str, str]) -> "XmlCommandElement": return self - def set_text(self, text: Optional[str]) -> "XmlCommandElement": + def set_text(self, text: str | None) -> "XmlCommandElement": """Set the text of the element. Args: @@ -181,8 +181,8 @@ def __init__(self, name: str) -> None: def add_filter( self, - filter_string: Optional[str], - filter_id: Optional[Union[str, UUID]], + filter_string: str | None, + filter_id: str | UUID | None, ) -> "XmlCommand": """ Add a filter to the command. @@ -201,8 +201,8 @@ def add_filter( def pretty_print( - xml: Union[str, list[Union[Element, str]], Element], - file: Union[TextIO, IOBase] = sys.stdout, + xml: str | list[Element | str] | Element, + file: TextIO | IOBase = sys.stdout, ): """Prints beautiful XML-Code diff --git a/pyproject.toml b/pyproject.toml index 79e711bfb..2c5d5a6d1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,10 +34,8 @@ Documentation = "https://greenbone.github.io/python-gvm/" dev = [ "coverage>=7.2", "sphinx>=5.3.0", - "autohooks-plugin-ruff>=24.1.0", - "autohooks-plugin-black>=22.7.0", + "autohooks-plugin-ruff>=25.2.0", "autohooks-plugin-mypy>=22.7.0", - "black>=22.6.0", "pontos>=22.7.2", "furo>=2022.6.21", "lxml-stubs>=0.5.1,<0.6", @@ -54,32 +52,19 @@ module-name = ["gvm", "tests"] module-root = "" wheel-exclude = ["tests"] -[tool.black] -line-length = 80 -target-version = ['py310', 'py311', 'py312', 'py313', 'py314'] -exclude = ''' -/( - \.git - | \.venv - | \.github - | \.vscode - | _build - | build - | dist - | docs -)/ -''' - [tool.ruff] line-length = 80 target-version = "py310" +[tool.ruff.format] +docstring-code-format = true + [tool.ruff.lint] -extend-select = ["I", "PLE", "PLW"] +extend-select = ["I", "PLE", "PLW", "PTH", "C4", "A", "N", "RUF", "UP"] [tool.autohooks] mode = "uv" -pre-commit = ['autohooks.plugins.black', "autohooks.plugins.ruff"] +pre-commit = ['autohooks.plugins.ruff.format', "autohooks.plugins.ruff.check"] [tool.coverage.run] branch = true diff --git a/tests/__init__.py b/tests/__init__.py index f4a87857e..a079784de 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -25,9 +25,9 @@ def has_been_called(self): assert len(self.calls) > 0, f"{self.name} has not been called." def has_been_called_times(self, times): - assert ( - len(self.calls) == times - ), f"{self.name} has not been called {times} times." + assert len(self.calls) == times, ( + f"{self.name} has not been called {times} times." + ) def has_been_called_with(self, *args, **kwargs): if len(self.calls) == 0: @@ -41,12 +41,12 @@ def has_been_called_with(self, *args, **kwargs): ) # not sure if this is correct - assert ( - lastcall["args"] == args and lastcall["kwargs"] == kwargs - ), resp.format( - name=self.name, - eargs=args, - ekwargs=kwargs, - rargs=lastcall["args"], - rkwargs=lastcall["kwargs"], + assert lastcall["args"] == args and lastcall["kwargs"] == kwargs, ( + resp.format( + name=self.name, + eargs=args, + ekwargs=kwargs, + rargs=lastcall["args"], + rkwargs=lastcall["kwargs"], + ) ) diff --git a/tests/connections/test_ssh_connection.py b/tests/connections/test_ssh_connection.py index 7e2217537..b8d431ba1 100644 --- a/tests/connections/test_ssh_connection.py +++ b/tests/connections/test_ssh_connection.py @@ -22,7 +22,7 @@ from gvm.errors import GvmError -class AbortException(Exception): +class AbortException(Exception): # noqa: N818 """Just for testing purposes""" @@ -77,7 +77,7 @@ def test_connect_error_auto_accept_host(self): ssh_connection.connect() def test_connect(self): - with patch("paramiko.SSHClient") as SSHClientMock: + with patch("paramiko.SSHClient") as SSHClientMock: # noqa: N806 client_mock = SSHClientMock.return_value client_mock.exec_command.return_value = ["a", "b", "c"] ssh_connection = SSHConnection( @@ -91,7 +91,7 @@ def test_connect(self): ssh_connection.disconnect() def test_connect_auto_accept_host(self): - with patch("paramiko.SSHClient", autospec=True) as SSHClientMock: + with patch("paramiko.SSHClient", autospec=True) as SSHClientMock: # noqa: N806 client_mock = SSHClientMock.return_value client_mock.exec_command.return_value = ["a", "b", "c"] ssh_connection = SSHConnection( @@ -333,7 +333,7 @@ def test_user_denies_auth(self): ) def test_disconnect(self): - with patch("paramiko.SSHClient") as SSHClientMock: + with patch("paramiko.SSHClient") as SSHClientMock: # noqa: N806 client_mock = SSHClientMock.return_value client_mock.exec_command.return_value = ["a", "b", "c"] ssh_connection = SSHConnection( @@ -355,7 +355,7 @@ def test_disconnect(self): type(ssh_connection._stderr) def test_disconnect_os_error(self): - with patch("paramiko.SSHClient") as SSHClientMock: + with patch("paramiko.SSHClient") as SSHClientMock: # noqa: N806 client_mock = SSHClientMock.return_value client_mock.exec_command.return_value = ["a", "b", "c"] client_mock.close.side_effect = OSError @@ -371,7 +371,7 @@ def test_disconnect_os_error(self): self.assertEqual(cm.output, ["Connection closing error: "]) def test_trigger_paramiko_ssh_except_in_get_remote_key(self): - with patch("paramiko.transport.Transport") as TransportMock: + with patch("paramiko.transport.Transport") as TransportMock: # noqa: N806 client_mock = TransportMock.return_value client_mock.start_client.side_effect = paramiko.SSHException("foo") @@ -386,7 +386,7 @@ def test_trigger_paramiko_ssh_except_in_get_remote_key(self): ssh_connection._get_remote_host_key() def test_trigger_oserror_in_get_remote_key_connect(self): - with patch("socket.socket") as SocketMock: + with patch("socket.socket") as SocketMock: # noqa: N806 client_mock = SocketMock.return_value client_mock.connect.side_effect = OSError("foo") @@ -402,7 +402,7 @@ def test_trigger_oserror_in_get_remote_key_connect(self): ssh_connection._get_remote_host_key() def test_trigger_oserror_in_get_remote_key_disconnect(self): - with patch("paramiko.transport.Transport") as TransportMock: + with patch("paramiko.transport.Transport") as TransportMock: # noqa: N806 client_mock = TransportMock.return_value client_mock.close.side_effect = paramiko.SSHException("foo") @@ -418,7 +418,7 @@ def test_trigger_oserror_in_get_remote_key_disconnect(self): ssh_connection._get_remote_host_key() def test_send(self): - with patch("paramiko.SSHClient") as SSHClientMock: + with patch("paramiko.SSHClient") as SSHClientMock: # noqa: N806 client_mock = SSHClientMock.return_value stdin = Mock() stdin.channel.send.return_value = 4 @@ -432,7 +432,7 @@ def test_send(self): ssh_connection.disconnect() def test_send_error(self): - with patch("paramiko.SSHClient") as SSHClientMock: + with patch("paramiko.SSHClient") as SSHClientMock: # noqa: N806 client_mock = SSHClientMock.return_value stdin = Mock() stdin.channel.send.return_value = None @@ -449,7 +449,7 @@ def test_send_error(self): ssh_connection.disconnect() def test_send_and_slice(self): - with patch("paramiko.SSHClient") as SSHClientMock: + with patch("paramiko.SSHClient") as SSHClientMock: # noqa: N806 client_mock = SSHClientMock.return_value stdin = Mock() stdin.channel.send.side_effect = [2, 2] @@ -467,7 +467,7 @@ def test_send_and_slice(self): ssh_connection.disconnect() def test_read(self): - with patch("paramiko.SSHClient") as SSHClientMock: + with patch("paramiko.SSHClient") as SSHClientMock: # noqa: N806 client_mock = SSHClientMock.return_value stdout = Mock() stdout.channel.recv.return_value = b"foo bar baz" diff --git a/tests/connections/test_tls_connection.py b/tests/connections/test_tls_connection.py index cce016d80..a79e5fdff 100644 --- a/tests/connections/test_tls_connection.py +++ b/tests/connections/test_tls_connection.py @@ -42,14 +42,14 @@ def check_default_values(self, tls_connection: TLSConnection): self.assertEqual(tls_connection._timeout, DEFAULT_TIMEOUT) def test_connect(self): - with patch("ssl.SSLContext") as SSHContextMock: + with patch("ssl.SSLContext") as SSHContextMock: # noqa: N806 context_mock = SSHContextMock.return_value connection = TLSConnection() connection.connect() context_mock.wrap_socket.assert_called_once() def test_connect_auth(self): - with patch("ssl.SSLContext") as SSHContextMock: + with patch("ssl.SSLContext") as SSHContextMock: # noqa: N806 context_mock = SSHContextMock.return_value cert_file = Mock() ca_file = Mock() diff --git a/tests/connections/test_unix_socket_connection.py b/tests/connections/test_unix_socket_connection.py index 0d8eaeee9..d64883a62 100644 --- a/tests/connections/test_unix_socket_connection.py +++ b/tests/connections/test_unix_socket_connection.py @@ -35,7 +35,7 @@ class ThreadedUnixStreamServer( class UnixSocketConnectionTestCase(unittest.TestCase): # pylint: disable=protected-access, invalid-name def setUp(self): - self.socket_name = f"{tempfile.gettempdir()}/{str(uuid.uuid4())}.sock" + self.socket_name = f"{tempfile.gettempdir()}/{uuid.uuid4()!s}.sock" self.socket_path = Path(self.socket_name) self.socket_server = ThreadedUnixStreamServer( self.socket_name, DummyRequestHandler @@ -81,7 +81,7 @@ def test_unix_socket_connect_could_not_connect(self): connection = UnixSocketConnection( path=self.socket_name, timeout=DEFAULT_TIMEOUT ) - with patch("socket.socket.connect") as ConnectMock: + with patch("socket.socket.connect") as ConnectMock: # noqa: N806 connect_mock = ConnectMock connect_mock.side_effect = ConnectionError with self.assertRaises( diff --git a/tests/protocols/__init__.py b/tests/protocols/__init__.py index 1cd555d43..6e7f6102c 100644 --- a/tests/protocols/__init__.py +++ b/tests/protocols/__init__.py @@ -4,7 +4,7 @@ # import unittest -from typing import Any, Type +from typing import Any from gvm.protocols._protocol import GvmProtocol from tests import CallableMock @@ -21,7 +21,7 @@ def __init__(self): class GmpTestCase(unittest.TestCase): - gmp_class: Type[GvmProtocol[Any]] + gmp_class: type[GvmProtocol[Any]] def setUp(self): self.connection = MockConnection() diff --git a/tests/protocols/core/test_response.py b/tests/protocols/core/test_response.py index 1830cddb0..4cbddbb78 100644 --- a/tests/protocols/core/test_response.py +++ b/tests/protocols/core/test_response.py @@ -17,7 +17,6 @@ def __bytes__(self) -> bytes: class ResponseTestCase(unittest.TestCase): - def test_data(self) -> None: request = RequestMock(b"") response = Response(data=b"", request=request) diff --git a/tests/protocols/core/test_states.py b/tests/protocols/core/test_states.py index 7e03e6d82..8771a1f16 100644 --- a/tests/protocols/core/test_states.py +++ b/tests/protocols/core/test_states.py @@ -56,7 +56,6 @@ def test_send(self) -> None: class AwaitingResponseStateTestCase(unittest.TestCase): - def test_receive_data(self) -> None: context = MagicMock(spec=Context) request = RequestMock(b"") @@ -94,7 +93,6 @@ def test_send(self) -> None: class ErrorStateTestCase(unittest.TestCase): - def test_receive_data(self) -> None: context = MagicMock(spec=Context) state = ErrorState() @@ -130,7 +128,6 @@ def test_send(self) -> None: class ReceivingDataStateTestCase(unittest.TestCase): - def test_receive_data(self) -> None: context = MagicMock(spec=Context) request = RequestMock(b"") diff --git a/tests/protocols/gmp/requests/v224/test_alerts.py b/tests/protocols/gmp/requests/v224/test_alerts.py index 5e78afbae..29cab3f7b 100644 --- a/tests/protocols/gmp/requests/v224/test_alerts.py +++ b/tests/protocols/gmp/requests/v224/test_alerts.py @@ -752,7 +752,7 @@ def test_trigger_alert_with_report_format_type(self): self.assertEqual( bytes(request), ''.encode(encoding="utf-8"), + f'format_id="{ReportFormatType.SVG}"/>'.encode(), ) def test_trigger_alert_with_delta_report_id(self): diff --git a/tests/protocols/gmp/requests/v224/test_audits.py b/tests/protocols/gmp/requests/v224/test_audits.py index 20af2c373..e5e76b55f 100644 --- a/tests/protocols/gmp/requests/v224/test_audits.py +++ b/tests/protocols/gmp/requests/v224/test_audits.py @@ -460,9 +460,7 @@ def test_modify_audit_with_comment(self): self.assertEqual( bytes(request), - b'' - b"bar" - b"", + b'bar', ) def test_modify_audit_with_alerts_ids(self): diff --git a/tests/protocols/gmp/requests/v224/test_auth.py b/tests/protocols/gmp/requests/v224/test_auth.py index e4c660a0d..6531979bb 100644 --- a/tests/protocols/gmp/requests/v224/test_auth.py +++ b/tests/protocols/gmp/requests/v224/test_auth.py @@ -42,7 +42,8 @@ def test_describe_auth(self) -> None: def test_modify_auth(self) -> None: request = Authentication.modify_auth( - "foo", dict([("foo", "bar"), ("lorem", "ipsum")]) + "foo", + dict([("foo", "bar"), ("lorem", "ipsum")]), # noqa: C406 ) self.assertIsInstance(request, Request) @@ -65,7 +66,8 @@ def test_modify_auth(self) -> None: def test_modify_auth_missing_group_name(self) -> None: with self.assertRaises(RequiredArgument): Authentication.modify_auth( - group_name=None, auth_conf_settings={"foo": "bar"} # type: ignore + group_name=None, + auth_conf_settings={"foo": "bar"}, # type: ignore ) with self.assertRaises(RequiredArgument): @@ -79,7 +81,8 @@ def test_modify_auth_missing_group_name(self) -> None: def test_modify_auth_auth_conf_settings(self) -> None: with self.assertRaises(RequiredArgument): Authentication.modify_auth( - group_name="foo", auth_conf_settings=None # type: ignore + group_name="foo", + auth_conf_settings=None, # type: ignore ) with self.assertRaises(RequiredArgument): diff --git a/tests/protocols/gmp/requests/v224/test_notes.py b/tests/protocols/gmp/requests/v224/test_notes.py index 7cba03b66..8f0128956 100644 --- a/tests/protocols/gmp/requests/v224/test_notes.py +++ b/tests/protocols/gmp/requests/v224/test_notes.py @@ -15,10 +15,7 @@ def test_create_note(self): self.assertEqual( bytes(request), - b"" - b"foo" - b'' - b"", + b'foo', ) def test_create_note_missing_text(self): @@ -40,10 +37,7 @@ def test_create_note_with_hosts(self): self.assertEqual( bytes(request), - b"" - b"foo" - b'' - b"", + b'foo', ) request = Notes.create_note("foo", nvt_oid="oid1", hosts=["h1", "h2"]) @@ -255,7 +249,7 @@ def test_modify_note_with_severity(self): b"", ) - request = Notes.modify_note("n1", "foo", severity=Decimal(5.5)) + request = Notes.modify_note("n1", "foo", severity=Decimal("5.5")) self.assertEqual( bytes(request), diff --git a/tests/protocols/gmp/requests/v224/test_overrides.py b/tests/protocols/gmp/requests/v224/test_overrides.py index 6ea77aed3..c0c5847b9 100644 --- a/tests/protocols/gmp/requests/v224/test_overrides.py +++ b/tests/protocols/gmp/requests/v224/test_overrides.py @@ -125,7 +125,7 @@ def test_create_override_with_severity(self): ) request = Overrides.create_override( - "foo", nvt_oid="oid1", severity=Decimal(5.5) + "foo", nvt_oid="oid1", severity=Decimal("5.5") ) self.assertEqual( @@ -165,7 +165,7 @@ def test_create_override_with_new_severity(self): ) request = Overrides.create_override( - "foo", nvt_oid="oid1", new_severity=Decimal(5.5) + "foo", nvt_oid="oid1", new_severity=Decimal("5.5") ) self.assertEqual( @@ -359,7 +359,9 @@ def test_modify_override_with_severity(self): b"", ) - request = Overrides.modify_override("o1", "foo", severity=Decimal(5.5)) + request = Overrides.modify_override( + "o1", "foo", severity=Decimal("5.5") + ) self.assertEqual( bytes(request), @@ -391,7 +393,7 @@ def test_modify_override_with_new_severity(self): ) request = Overrides.modify_override( - "o1", "foo", new_severity=Decimal(5.5) + "o1", "foo", new_severity=Decimal("5.5") ) self.assertEqual( diff --git a/tests/protocols/gmp/requests/v224/test_report_formats.py b/tests/protocols/gmp/requests/v224/test_report_formats.py index 83711821d..d45816438 100644 --- a/tests/protocols/gmp/requests/v224/test_report_formats.py +++ b/tests/protocols/gmp/requests/v224/test_report_formats.py @@ -9,7 +9,6 @@ class ReportFormatsTestCase(unittest.TestCase): - def test_clone_report_format(self): request = ReportFormats.clone_report_format("report_format_id") self.assertEqual( @@ -167,7 +166,7 @@ def test_get_report_format_missing_report_format_id(self): ReportFormats.get_report_format("") def test_import_report_format(self): - REPORT_FORMAT_XML_STRING = ( + report_format_xml_string = ( '' '' "Foobar" @@ -177,7 +176,7 @@ def test_import_report_format(self): "" "" ) - request = ReportFormats.import_report_format(REPORT_FORMAT_XML_STRING) + request = ReportFormats.import_report_format(report_format_xml_string) self.assertEqual( bytes(request), b"" diff --git a/tests/protocols/gmp/requests/v224/test_roles.py b/tests/protocols/gmp/requests/v224/test_roles.py index 38d3a5fb6..5c0da8891 100644 --- a/tests/protocols/gmp/requests/v224/test_roles.py +++ b/tests/protocols/gmp/requests/v224/test_roles.py @@ -125,9 +125,7 @@ def test_modify_role_with_name(self): request = Roles.modify_role("role_id", name="name") self.assertEqual( bytes(request), - b'' - b"name" - b"", + b'name', ) def test_modify_role_with_users(self): diff --git a/tests/protocols/gmp/requests/v224/test_scan_configs.py b/tests/protocols/gmp/requests/v224/test_scan_configs.py index bae26edd3..f7ad81564 100644 --- a/tests/protocols/gmp/requests/v224/test_scan_configs.py +++ b/tests/protocols/gmp/requests/v224/test_scan_configs.py @@ -9,7 +9,6 @@ class ScanConfigsTestCase(unittest.TestCase): - def test_clone_scan_config(self): request = ScanConfigs.clone_scan_config("a1") @@ -236,7 +235,7 @@ def test_get_scan_configs_without_tasks(self): ) def test_import_scan_config(self): - CONFIG_XML_STRING = ( + config_xml_string = ( '' '' "Foobar" @@ -246,13 +245,11 @@ def test_import_scan_config(self): "" "" ) - request = ScanConfigs.import_scan_config(CONFIG_XML_STRING) + request = ScanConfigs.import_scan_config(config_xml_string) self.assertEqual( bytes(request), - f"{CONFIG_XML_STRING}".encode( - encoding="utf-8" - ), + f"{config_xml_string}".encode(), ) def test_import_missing_scan_config_xml(self): diff --git a/tests/protocols/gmp/requests/v224/test_scanners.py b/tests/protocols/gmp/requests/v224/test_scanners.py index dc481a88e..efb426944 100644 --- a/tests/protocols/gmp/requests/v224/test_scanners.py +++ b/tests/protocols/gmp/requests/v224/test_scanners.py @@ -9,7 +9,6 @@ class ScannersTestCase(unittest.TestCase): - def test_create_scanner(self): request = Scanners.create_scanner( "foo", @@ -270,18 +269,14 @@ def test_modify_scanner_with_scanner_type(self): self.assertEqual( bytes(request), - b'' - b"2" - b"", + b'2', ) request = Scanners.modify_scanner("s1", scanner_type="2") self.assertEqual( bytes(request), - b'' - b"2" - b"", + b'2', ) def test_modify_scanner_invalid_scanner_type(self): diff --git a/tests/protocols/gmp/requests/v224/test_targets.py b/tests/protocols/gmp/requests/v224/test_targets.py index cbd193c24..a4f0116e1 100644 --- a/tests/protocols/gmp/requests/v224/test_targets.py +++ b/tests/protocols/gmp/requests/v224/test_targets.py @@ -353,9 +353,7 @@ def test_modify_target_with_name(self): self.assertEqual( bytes(request), - b'' - b"foo" - b"", + b'foo', ) def test_modify_target_with_exclude_hosts(self): diff --git a/tests/protocols/gmp/requests/v224/test_tasks.py b/tests/protocols/gmp/requests/v224/test_tasks.py index f14a7f2b3..afe519964 100644 --- a/tests/protocols/gmp/requests/v224/test_tasks.py +++ b/tests/protocols/gmp/requests/v224/test_tasks.py @@ -27,10 +27,7 @@ def test_create_container_task(self): request = Tasks().create_container_task("name") self.assertEqual( bytes(request), - b"" - b"name" - b'' - b"", + b'name', ) def test_create_container_task_with_comment(self): @@ -491,9 +488,7 @@ def test_modify_task_with_name(self): request = Tasks().modify_task("task_id", name="name") self.assertEqual( bytes(request), - b'' - b"name" - b"", + b'name', ) def test_modify_task_with_config_id(self): @@ -601,9 +596,7 @@ def test_modify_task_with_alert_ids(self): request = Tasks().modify_task("task_id", alert_ids=[]) self.assertEqual( bytes(request), - b'' - b'' - b"", + b'', ) def test_modify_task_with_observers(self): @@ -647,9 +640,7 @@ def test_modify_task_with_preferences(self): request = Tasks().modify_task("task_id", preferences={}) self.assertEqual( bytes(request), - b'' - b"" - b"", + b'', ) def test_modify_task_missing_task_id(self): diff --git a/tests/protocols/gmpnext/entities/agent_installers/test_get_agent_installer.py b/tests/protocols/gmpnext/entities/agent_installers/test_get_agent_installer.py index 69b8426c3..b5b5e8ef5 100644 --- a/tests/protocols/gmpnext/entities/agent_installers/test_get_agent_installer.py +++ b/tests/protocols/gmpnext/entities/agent_installers/test_get_agent_installer.py @@ -7,7 +7,6 @@ class GmpGetAgentInstallerTestMixin: - def test_get_agent_installer(self): self.gmp.get_agent_installer(agent_installer_id="installer1") diff --git a/tests/protocols/gmpnext/entities/agent_installers/test_get_agent_installer_file.py b/tests/protocols/gmpnext/entities/agent_installers/test_get_agent_installer_file.py index 735d5a952..2757e3adc 100644 --- a/tests/protocols/gmpnext/entities/agent_installers/test_get_agent_installer_file.py +++ b/tests/protocols/gmpnext/entities/agent_installers/test_get_agent_installer_file.py @@ -7,7 +7,6 @@ class GmpGetAgentInstallerFileTestMixin: - def test_get_agent_installer(self): self.gmp.get_agent_installer_file(agent_installer_id="installer1") diff --git a/tests/protocols/gmpnext/entities/oci_image_targets/test_clone_oci_image_target.py b/tests/protocols/gmpnext/entities/oci_image_targets/test_clone_oci_image_target.py index 1ae8666e3..2708b1499 100644 --- a/tests/protocols/gmpnext/entities/oci_image_targets/test_clone_oci_image_target.py +++ b/tests/protocols/gmpnext/entities/oci_image_targets/test_clone_oci_image_target.py @@ -15,7 +15,7 @@ def test_clone(self): self.connection.send.has_been_called_with( "" f"{self.TARGET_ID}" - "".encode("utf-8") + "".encode() ) def test_missing_id(self): diff --git a/tests/protocols/gmpnext/entities/tasks/test_create_container_task.py b/tests/protocols/gmpnext/entities/tasks/test_create_container_task.py index d1e4debc9..3be5ded53 100644 --- a/tests/protocols/gmpnext/entities/tasks/test_create_container_task.py +++ b/tests/protocols/gmpnext/entities/tasks/test_create_container_task.py @@ -14,10 +14,7 @@ def test_create_container_task_emits_deprecation_warning_and_sends_xml( self.gmp.create_container_task(name="foo") self.connection.send.has_been_called_with( - b"" - b"foo" - b'' - b"" + b'foo' ) def test_create_container_task_missing_name(self): diff --git a/tests/protocols/gmpnext/entities/tasks/test_create_import_task.py b/tests/protocols/gmpnext/entities/tasks/test_create_import_task.py index 65f69fb86..abda37a60 100644 --- a/tests/protocols/gmpnext/entities/tasks/test_create_import_task.py +++ b/tests/protocols/gmpnext/entities/tasks/test_create_import_task.py @@ -11,10 +11,7 @@ def test_create_task(self): self.gmp.create_import_task(name="foo") self.connection.send.has_been_called_with( - b"" - b"foo" - b'' - b"" + b'foo' ) def test_create_task_missing_name(self): diff --git a/tests/protocols/gmpnext/entities/tasks/test_modify_task.py b/tests/protocols/gmpnext/entities/tasks/test_modify_task.py index 0cc81174f..45becac65 100644 --- a/tests/protocols/gmpnext/entities/tasks/test_modify_task.py +++ b/tests/protocols/gmpnext/entities/tasks/test_modify_task.py @@ -98,9 +98,7 @@ def test_modify_task_with_comment(self): self.gmp.modify_task(task_id="t1", comment="bar") self.connection.send.has_been_called_with( - b'' - b"bar" - b"" + b'bar' ) def test_modify_task_with_alerts_ids(self): @@ -125,17 +123,13 @@ def test_modify_task_with_alterable(self): self.gmp.modify_task(task_id="t1", alterable=True) self.connection.send.has_been_called_with( - b'' - b"1" - b"" + b'1' ) self.gmp.modify_task(task_id="t1", alterable=False) self.connection.send.has_been_called_with( - b'' - b"0" - b"" + b'0' ) def test_modify_task_with_hosts_ordering(self): diff --git a/tests/protocols/gmpv224/entities/alerts/test_modify_alert.py b/tests/protocols/gmpv224/entities/alerts/test_modify_alert.py index 6816b1a00..941048fb3 100644 --- a/tests/protocols/gmpv224/entities/alerts/test_modify_alert.py +++ b/tests/protocols/gmpv224/entities/alerts/test_modify_alert.py @@ -42,9 +42,7 @@ def test_modify_alert_with_name(self): self.gmp.modify_alert(alert_id="a1", name="lorem") self.connection.send.has_been_called_with( - b'' - b"lorem" - b"" + b'lorem' ) def test_modify_alert_with_filter_id(self): diff --git a/tests/protocols/gmpv224/entities/audits/test_modify_audit.py b/tests/protocols/gmpv224/entities/audits/test_modify_audit.py index 6f60f5a40..6180939f0 100644 --- a/tests/protocols/gmpv224/entities/audits/test_modify_audit.py +++ b/tests/protocols/gmpv224/entities/audits/test_modify_audit.py @@ -66,9 +66,7 @@ def test_modify_audit_with_comment(self): self.gmp.modify_audit(audit_id="t1", comment="bar") self.connection.send.has_been_called_with( - b'' - b"bar" - b"" + b'bar' ) def test_modify_audit_with_alerts_ids(self): @@ -93,17 +91,13 @@ def test_modify_audit_with_alterable(self): self.gmp.modify_audit(audit_id="t1", alterable=True) self.connection.send.has_been_called_with( - b'' - b"1" - b"" + b'1' ) self.gmp.modify_audit(audit_id="t1", alterable=False) self.connection.send.has_been_called_with( - b'' - b"0" - b"" + b'0' ) def test_modify_audit_with_hosts_ordering(self): diff --git a/tests/protocols/gmpv224/entities/filters/test_create_filter.py b/tests/protocols/gmpv224/entities/filters/test_create_filter.py index e8b925a0e..c17fe06ad 100644 --- a/tests/protocols/gmpv224/entities/filters/test_create_filter.py +++ b/tests/protocols/gmpv224/entities/filters/test_create_filter.py @@ -21,7 +21,7 @@ def test_all_available_filters_types_correct(self): "f1" "sort-reverse=threat first=1 rows=1000" f"{filter_type.value}" - "".encode("utf-8") + "".encode() ) def test_create_filter_invalid_filter_type(self): diff --git a/tests/protocols/gmpv224/entities/filters/test_modify_filter.py b/tests/protocols/gmpv224/entities/filters/test_modify_filter.py index a0e6fe39a..729ddb2b8 100644 --- a/tests/protocols/gmpv224/entities/filters/test_modify_filter.py +++ b/tests/protocols/gmpv224/entities/filters/test_modify_filter.py @@ -19,9 +19,7 @@ def test_modify_filter_with_filter_type(self): self.gmp.modify_filter(filter_id="f1", filter_type=FilterType.TASK) self.connection.send.has_been_called_with( - b'' - b"task" - b"" + b'task' ) def test_modify_filter_invalid_filter_type(self): @@ -51,9 +49,7 @@ def test_modify_filter_with_name(self): self.gmp.modify_filter(filter_id="f1", name="foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) def test_modify_filter_with_term(self): diff --git a/tests/protocols/gmpv224/entities/groups/test_create_group.py b/tests/protocols/gmpv224/entities/groups/test_create_group.py index 576fdd7c9..e87e15eba 100644 --- a/tests/protocols/gmpv224/entities/groups/test_create_group.py +++ b/tests/protocols/gmpv224/entities/groups/test_create_group.py @@ -53,8 +53,5 @@ def test_create_group_with_users(self): self.gmp.create_group(name="foo", users=["u1", "u2"]) self.connection.send.has_been_called_with( - b"" - b"foo" - b"u1,u2" - b"" + b"foou1,u2" ) diff --git a/tests/protocols/gmpv224/entities/groups/test_modify_group.py b/tests/protocols/gmpv224/entities/groups/test_modify_group.py index 97fda794b..10bdc7c48 100644 --- a/tests/protocols/gmpv224/entities/groups/test_modify_group.py +++ b/tests/protocols/gmpv224/entities/groups/test_modify_group.py @@ -28,9 +28,7 @@ def test_modify_group_with_comment(self): self.gmp.modify_group(group_id="f1", comment="foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) def test_modify_group_with_name(self): @@ -44,15 +42,11 @@ def test_modify_group_with_users(self): self.gmp.modify_group(group_id="f1", users=["foo"]) self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) self.gmp.modify_group(group_id="f1", users=["foo", "bar"]) self.connection.send.has_been_called_with( - b'' - b"foo,bar" - b"" + b'foo,bar' ) diff --git a/tests/protocols/gmpv224/entities/hosts/test_modify_host.py b/tests/protocols/gmpv224/entities/hosts/test_modify_host.py index 7e3b26d2d..c6ed107a7 100644 --- a/tests/protocols/gmpv224/entities/hosts/test_modify_host.py +++ b/tests/protocols/gmpv224/entities/hosts/test_modify_host.py @@ -11,9 +11,7 @@ def test_modify_host(self): self.gmp.modify_host(host_id="a1") self.connection.send.has_been_called_with( - b'' - b"" - b"" + b'' ) def test_modify_host_without_host_id(self): @@ -30,31 +28,23 @@ def test_modify_host_with_comment(self): self.gmp.modify_host("a1", comment="foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) self.gmp.modify_host("a1", comment="foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) self.gmp.modify_host("a1", comment="") self.connection.send.has_been_called_with( - b'' - b"" - b"" + b'' ) self.gmp.modify_host("a1", comment=None) self.connection.send.has_been_called_with( - b'' - b"" - b"" + b'' ) diff --git a/tests/protocols/gmpv224/entities/notes/test_create_note.py b/tests/protocols/gmpv224/entities/notes/test_create_note.py index 100eccfff..d310150c1 100644 --- a/tests/protocols/gmpv224/entities/notes/test_create_note.py +++ b/tests/protocols/gmpv224/entities/notes/test_create_note.py @@ -13,10 +13,7 @@ def test_create_note(self): self.gmp.create_note("foo", nvt_oid="oid1") self.connection.send.has_been_called_with( - b"" - b"foo" - b'' - b"" + b'foo' ) def test_create_note_missing_text(self): @@ -37,10 +34,7 @@ def test_create_note_with_hosts(self): self.gmp.create_note("foo", nvt_oid="oid1", hosts=[]) self.connection.send.has_been_called_with( - b"" - b"foo" - b'' - b"" + b'foo' ) self.gmp.create_note("foo", nvt_oid="oid1", hosts=["h1", "h2"]) @@ -107,7 +101,7 @@ def test_create_note_with_severity(self): b"" ) - self.gmp.create_note("foo", nvt_oid="oid1", severity=Decimal(5.5)) + self.gmp.create_note("foo", nvt_oid="oid1", severity=Decimal("5.5")) self.connection.send.has_been_called_with( b"" diff --git a/tests/protocols/gmpv224/entities/notes/test_modify_note.py b/tests/protocols/gmpv224/entities/notes/test_modify_note.py index b97b53fb3..3abc4650b 100644 --- a/tests/protocols/gmpv224/entities/notes/test_modify_note.py +++ b/tests/protocols/gmpv224/entities/notes/test_modify_note.py @@ -132,7 +132,7 @@ def test_modify_note_with_severity(self): b"" ) - self.gmp.modify_note(note_id="n1", text="foo", severity=Decimal(5.5)) + self.gmp.modify_note(note_id="n1", text="foo", severity=Decimal("5.5")) self.connection.send.has_been_called_with( b'' diff --git a/tests/protocols/gmpv224/entities/operating_systems/test_modify_operating_system.py b/tests/protocols/gmpv224/entities/operating_systems/test_modify_operating_system.py index b76eacd56..71a2bdcc1 100644 --- a/tests/protocols/gmpv224/entities/operating_systems/test_modify_operating_system.py +++ b/tests/protocols/gmpv224/entities/operating_systems/test_modify_operating_system.py @@ -11,9 +11,7 @@ def test_modify_operating_system(self): self.gmp.modify_operating_system(operating_system_id="a1") self.connection.send.has_been_called_with( - b'' - b"" - b"" + b'' ) def test_modify_operating_system_without_operating_system_id(self): @@ -34,31 +32,23 @@ def test_modify_operating_system_with_comment(self): self.gmp.modify_operating_system("a1", comment="foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) self.gmp.modify_operating_system("a1", comment="foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) self.gmp.modify_operating_system("a1", comment="") self.connection.send.has_been_called_with( - b'' - b"" - b"" + b'' ) self.gmp.modify_operating_system("a1", comment=None) self.connection.send.has_been_called_with( - b'' - b"" - b"" + b'' ) diff --git a/tests/protocols/gmpv224/entities/overrides/test_create_override.py b/tests/protocols/gmpv224/entities/overrides/test_create_override.py index 0f53a5932..46a99469f 100644 --- a/tests/protocols/gmpv224/entities/overrides/test_create_override.py +++ b/tests/protocols/gmpv224/entities/overrides/test_create_override.py @@ -107,7 +107,7 @@ def test_create_override_with_severity(self): b"" ) - self.gmp.create_override("foo", nvt_oid="oid1", severity=Decimal(5.5)) + self.gmp.create_override("foo", nvt_oid="oid1", severity=Decimal("5.5")) self.connection.send.has_been_called_with( b"" @@ -139,7 +139,7 @@ def test_create_override_with_new_severity(self): ) self.gmp.create_override( - "foo", nvt_oid="oid1", new_severity=Decimal(5.5) + "foo", nvt_oid="oid1", new_severity=Decimal("5.5") ) self.connection.send.has_been_called_with( diff --git a/tests/protocols/gmpv224/entities/overrides/test_modify_override.py b/tests/protocols/gmpv224/entities/overrides/test_modify_override.py index b231158e3..4a9b796cf 100644 --- a/tests/protocols/gmpv224/entities/overrides/test_modify_override.py +++ b/tests/protocols/gmpv224/entities/overrides/test_modify_override.py @@ -137,7 +137,7 @@ def test_modify_override_with_severity(self): ) self.gmp.modify_override( - override_id="o1", text="foo", severity=Decimal(5.5) + override_id="o1", text="foo", severity=Decimal("5.5") ) self.connection.send.has_been_called_with( @@ -169,7 +169,7 @@ def test_modify_override_with_new_severity(self): ) self.gmp.modify_override( - override_id="o1", text="foo", new_severity=Decimal(5.5) + override_id="o1", text="foo", new_severity=Decimal("5.5") ) self.connection.send.has_been_called_with( diff --git a/tests/protocols/gmpv224/entities/policies/test_import_policy.py b/tests/protocols/gmpv224/entities/policies/test_import_policy.py index d185eee03..2805e9168 100644 --- a/tests/protocols/gmpv224/entities/policies/test_import_policy.py +++ b/tests/protocols/gmpv224/entities/policies/test_import_policy.py @@ -22,9 +22,7 @@ def test_import_policy(self): self.gmp.import_policy(self.POLICY_XML_STRING) self.connection.send.has_been_called_with( - f"{self.POLICY_XML_STRING}".encode( - "utf-8" - ) + f"{self.POLICY_XML_STRING}".encode() ) def test_import_missing_policy_xml(self): diff --git a/tests/protocols/gmpv224/entities/policies/test_modify_policy_set_comment.py b/tests/protocols/gmpv224/entities/policies/test_modify_policy_set_comment.py index a82772df4..6f4492c76 100644 --- a/tests/protocols/gmpv224/entities/policies/test_modify_policy_set_comment.py +++ b/tests/protocols/gmpv224/entities/policies/test_modify_policy_set_comment.py @@ -11,9 +11,7 @@ def test_modify_policy_set_comment(self): self.gmp.modify_policy_set_comment("c1") self.connection.send.has_been_called_with( - b'' - b"" - b"" + b'' ) self.gmp.modify_policy_set_comment("c1", comment="foo") @@ -27,9 +25,7 @@ def test_modify_policy_set_comment(self): self.gmp.modify_policy_set_comment("c1", comment=None) self.connection.send.has_been_called_with( - b'' - b"" - b"" + b'' ) def test_modify_policy_set_comment_missing_policy_id(self): diff --git a/tests/protocols/gmpv224/entities/policies/test_modify_policy_set_name.py b/tests/protocols/gmpv224/entities/policies/test_modify_policy_set_name.py index 0c5d8b2d7..e95cc8f49 100644 --- a/tests/protocols/gmpv224/entities/policies/test_modify_policy_set_name.py +++ b/tests/protocols/gmpv224/entities/policies/test_modify_policy_set_name.py @@ -11,9 +11,7 @@ def test_modify_policy_set_name(self): self.gmp.modify_policy_set_name("c1", "foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) def test_modify_policy_set_name_missing_config_id(self): diff --git a/tests/protocols/gmpv224/entities/report_formats/test_clone_report_format.py b/tests/protocols/gmpv224/entities/report_formats/test_clone_report_format.py index dd66341b2..4187bd432 100644 --- a/tests/protocols/gmpv224/entities/report_formats/test_clone_report_format.py +++ b/tests/protocols/gmpv224/entities/report_formats/test_clone_report_format.py @@ -30,5 +30,5 @@ def test_clone_with_type(self): self.connection.send.has_been_called_with( "" f"{report_format_id}" - "".encode("utf-8") + "".encode() ) diff --git a/tests/protocols/gmpv224/entities/report_formats/test_delete_report_format.py b/tests/protocols/gmpv224/entities/report_formats/test_delete_report_format.py index b6c660246..33290439c 100644 --- a/tests/protocols/gmpv224/entities/report_formats/test_delete_report_format.py +++ b/tests/protocols/gmpv224/entities/report_formats/test_delete_report_format.py @@ -35,7 +35,5 @@ def test_delete_with_type(self): report_format_id = ReportFormatType.from_string("svg").value self.connection.send.has_been_called_with( "'.encode( - "utf-8" - ) + f'report_format_id="{report_format_id}" ultimate="0"/>'.encode() ) diff --git a/tests/protocols/gmpv224/entities/report_formats/test_get_report_format.py b/tests/protocols/gmpv224/entities/report_formats/test_get_report_format.py index 8ee8ed600..3590b477f 100644 --- a/tests/protocols/gmpv224/entities/report_formats/test_get_report_format.py +++ b/tests/protocols/gmpv224/entities/report_formats/test_get_report_format.py @@ -33,16 +33,12 @@ def test_get_report_format_type(self): report_format_id = ReportFormatType.from_string("pdf").value self.connection.send.has_been_called_with( "'.encode( - "utf-8" - ) + f'report_format_id="{report_format_id}" details="1"/>'.encode() ) self.gmp.get_report_format(report_format_id=ReportFormatType.PDF) self.connection.send.has_been_called_with( "'.encode( - "utf-8" - ) + f'report_format_id="{report_format_id}" details="1"/>'.encode() ) diff --git a/tests/protocols/gmpv224/entities/report_formats/test_import_report_format.py b/tests/protocols/gmpv224/entities/report_formats/test_import_report_format.py index 1fac28bab..c82922ca2 100644 --- a/tests/protocols/gmpv224/entities/report_formats/test_import_report_format.py +++ b/tests/protocols/gmpv224/entities/report_formats/test_import_report_format.py @@ -23,9 +23,7 @@ def test_import_report_format(self): self.connection.send.has_been_called_with( "" - f"{self.REPORT_FORMAT_XML_STRING}".encode( - "utf-8" - ) + f"{self.REPORT_FORMAT_XML_STRING}".encode() ) def test_import_missing_report_format_xml(self): diff --git a/tests/protocols/gmpv224/entities/report_formats/test_modify_report_format.py b/tests/protocols/gmpv224/entities/report_formats/test_modify_report_format.py index 28adfefe8..392fc75fb 100644 --- a/tests/protocols/gmpv224/entities/report_formats/test_modify_report_format.py +++ b/tests/protocols/gmpv224/entities/report_formats/test_modify_report_format.py @@ -51,7 +51,7 @@ def test_modify_report_format_with_name_and_type(self): report_format_id = ReportFormatType.from_string("xml").value self.connection.send.has_been_called_with( f'' - "foo".encode("utf-8") + "foo".encode() ) def test_modify_report_format_with_active(self): diff --git a/tests/protocols/gmpv224/entities/report_formats/test_verify_report_format.py b/tests/protocols/gmpv224/entities/report_formats/test_verify_report_format.py index 76c2e91a5..40ed879d6 100644 --- a/tests/protocols/gmpv224/entities/report_formats/test_verify_report_format.py +++ b/tests/protocols/gmpv224/entities/report_formats/test_verify_report_format.py @@ -27,7 +27,5 @@ def test_verify_with_type(self): report_format_id = ReportFormatType.from_string("svg").value self.connection.send.has_been_called_with( - f''.encode( - "utf-8" - ) + f''.encode() ) diff --git a/tests/protocols/gmpv224/entities/reports/test_get_report.py b/tests/protocols/gmpv224/entities/reports/test_get_report.py index 3b9ed0419..4c9407e14 100644 --- a/tests/protocols/gmpv224/entities/reports/test_get_report.py +++ b/tests/protocols/gmpv224/entities/reports/test_get_report.py @@ -44,7 +44,7 @@ def test_get_report_with_report_format_type(self): self.connection.send.has_been_called_with( ''.encode("utf-8") + f'"{report_format_id}" details="1"/>'.encode() ) def test_get_report_with_delta_report_id(self): diff --git a/tests/protocols/gmpv224/entities/reports/test_import_report.py b/tests/protocols/gmpv224/entities/reports/test_import_report.py index dc3450960..ea696ab47 100644 --- a/tests/protocols/gmpv224/entities/reports/test_import_report.py +++ b/tests/protocols/gmpv224/entities/reports/test_import_report.py @@ -25,7 +25,7 @@ def test_import_report_with_task_id(self): "" f'' f"{self.REPORT_XML_STRING}" - "".encode("utf-8") + "".encode() ) def test_import_report_missing_report(self): @@ -41,7 +41,8 @@ def test_import_report_invalid_xml(self): with self.assertRaises(InvalidArgument): self.gmp.import_report( - "", task_id=self.TASK_ID # missing closing tag + "", + task_id=self.TASK_ID, # missing closing tag ) def test_import_report_with_in_assets(self): @@ -54,7 +55,7 @@ def test_import_report_with_in_assets(self): f'' "0" f"{self.REPORT_XML_STRING}" - "".encode("utf-8") + "".encode() ) self.gmp.import_report( @@ -66,5 +67,5 @@ def test_import_report_with_in_assets(self): f'' "1" f"{self.REPORT_XML_STRING}" - "".encode("utf-8") + "".encode() ) diff --git a/tests/protocols/gmpv224/entities/roles/test_create_role.py b/tests/protocols/gmpv224/entities/roles/test_create_role.py index b89ce32a9..ab8a94c55 100644 --- a/tests/protocols/gmpv224/entities/roles/test_create_role.py +++ b/tests/protocols/gmpv224/entities/roles/test_create_role.py @@ -25,10 +25,7 @@ def test_create_role_with_comment(self): self.gmp.create_role(name="foo", comment="bar") self.connection.send.has_been_called_with( - b"" - b"foo" - b"bar" - b"" + b"foobar" ) def test_create_role_with_users(self): @@ -41,8 +38,5 @@ def test_create_role_with_users(self): self.gmp.create_role(name="foo", users=["u1", "u2"]) self.connection.send.has_been_called_with( - b"" - b"foo" - b"u1,u2" - b"" + b"foou1,u2" ) diff --git a/tests/protocols/gmpv224/entities/roles/test_modify_role.py b/tests/protocols/gmpv224/entities/roles/test_modify_role.py index 75f6aa8b0..efbb300c3 100644 --- a/tests/protocols/gmpv224/entities/roles/test_modify_role.py +++ b/tests/protocols/gmpv224/entities/roles/test_modify_role.py @@ -28,9 +28,7 @@ def test_modify_role_with_comment(self): self.gmp.modify_role(role_id="r1", comment="foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) def test_modify_role_with_name(self): @@ -56,7 +54,5 @@ def test_modify_role_with_users(self): self.gmp.modify_role(role_id="r1", users=["foo", "bar"]) self.connection.send.has_been_called_with( - b'' - b"foo,bar" - b"" + b'foo,bar' ) diff --git a/tests/protocols/gmpv224/entities/scan_configs/__init__.py b/tests/protocols/gmpv224/entities/scan_configs/__init__.py index d264d5779..f8e5e006c 100644 --- a/tests/protocols/gmpv224/entities/scan_configs/__init__.py +++ b/tests/protocols/gmpv224/entities/scan_configs/__init__.py @@ -36,9 +36,9 @@ "GmpCloneScanConfigTestMixin", "GmpCreateScanConfigTestMixin", "GmpDeleteScanConfigTestMixin", - "GmpGetScanConfigTestMixin", "GmpGetScanConfigPreferenceTestMixin", "GmpGetScanConfigPreferencesTestMixin", + "GmpGetScanConfigTestMixin", "GmpGetScanConfigsTestMixin", "GmpImportScanConfigTestMixin", "GmpModifyScanConfigSetCommentTestMixin", diff --git a/tests/protocols/gmpv224/entities/scan_configs/test_import_scan_config.py b/tests/protocols/gmpv224/entities/scan_configs/test_import_scan_config.py index 3e8352b67..40cd0ed48 100644 --- a/tests/protocols/gmpv224/entities/scan_configs/test_import_scan_config.py +++ b/tests/protocols/gmpv224/entities/scan_configs/test_import_scan_config.py @@ -22,9 +22,7 @@ def test_import_scan_config(self): self.gmp.import_scan_config(self.CONFIG_XML_STRING) self.connection.send.has_been_called_with( - f"{self.CONFIG_XML_STRING}".encode( - "utf-8" - ) + f"{self.CONFIG_XML_STRING}".encode() ) def test_import_missing_scan_config_xml(self): diff --git a/tests/protocols/gmpv224/entities/scan_configs/test_modify_scan_config_set_comment.py b/tests/protocols/gmpv224/entities/scan_configs/test_modify_scan_config_set_comment.py index 190a8bd38..6b9dcd95b 100644 --- a/tests/protocols/gmpv224/entities/scan_configs/test_modify_scan_config_set_comment.py +++ b/tests/protocols/gmpv224/entities/scan_configs/test_modify_scan_config_set_comment.py @@ -11,9 +11,7 @@ def test_modify_scan_config_set_comment(self): self.gmp.modify_scan_config_set_comment("c1") self.connection.send.has_been_called_with( - b'' - b"" - b"" + b'' ) self.gmp.modify_scan_config_set_comment("c1", comment="foo") @@ -27,9 +25,7 @@ def test_modify_scan_config_set_comment(self): self.gmp.modify_scan_config_set_comment("c1", comment=None) self.connection.send.has_been_called_with( - b'' - b"" - b"" + b'' ) def test_modify_scan_config_set_comment_missing_config_id(self): diff --git a/tests/protocols/gmpv224/entities/scan_configs/test_modify_scan_config_set_name.py b/tests/protocols/gmpv224/entities/scan_configs/test_modify_scan_config_set_name.py index 1c0889d4b..9c80478ff 100644 --- a/tests/protocols/gmpv224/entities/scan_configs/test_modify_scan_config_set_name.py +++ b/tests/protocols/gmpv224/entities/scan_configs/test_modify_scan_config_set_name.py @@ -11,9 +11,7 @@ def test_modify_scan_config_set_name(self): self.gmp.modify_scan_config_set_name("c1", "foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) def test_modify_scan_config_set_name_missing_config_id(self): diff --git a/tests/protocols/gmpv224/entities/scanners/test_modify_scanner.py b/tests/protocols/gmpv224/entities/scanners/test_modify_scanner.py index 54b56df9d..0799e72de 100644 --- a/tests/protocols/gmpv224/entities/scanners/test_modify_scanner.py +++ b/tests/protocols/gmpv224/entities/scanners/test_modify_scanner.py @@ -35,9 +35,7 @@ def test_modify_scanner_with_host(self): self.gmp.modify_scanner(scanner_id="s1", host="foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) def test_modify_scanner_with_port(self): @@ -61,9 +59,7 @@ def test_modify_scanner_with_name(self): self.gmp.modify_scanner(scanner_id="s1", name="foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) def test_modify_scanner_with_ca_pub(self): @@ -90,9 +86,7 @@ def test_modify_scanner_with_scanner_type(self): ) self.connection.send.has_been_called_with( - b'' - b"2" - b"" + b'2' ) self.gmp.modify_scanner( @@ -100,9 +94,7 @@ def test_modify_scanner_with_scanner_type(self): ) self.connection.send.has_been_called_with( - b'' - b"3" - b"" + b'3' ) self.gmp.modify_scanner( @@ -111,9 +103,7 @@ def test_modify_scanner_with_scanner_type(self): ) self.connection.send.has_been_called_with( - b'' - b"5" - b"" + b'5' ) def test_modify_scanner_invalid_scanner_type(self): diff --git a/tests/protocols/gmpv224/entities/schedules/test_create_schedule.py b/tests/protocols/gmpv224/entities/schedules/test_create_schedule.py index c97aae919..906842036 100644 --- a/tests/protocols/gmpv224/entities/schedules/test_create_schedule.py +++ b/tests/protocols/gmpv224/entities/schedules/test_create_schedule.py @@ -68,7 +68,7 @@ def test_create_schedule(self): "foo" f"{ICAL}" "Europe/Berlin" - "".encode("utf-8") + "".encode() ) def test_create_schedule_with_comment(self): @@ -82,5 +82,5 @@ def test_create_schedule_with_comment(self): f"{ICAL}" "Europe/Berlin" "bar" - "".encode("utf-8") + "".encode() ) diff --git a/tests/protocols/gmpv224/entities/schedules/test_modify_schedule.py b/tests/protocols/gmpv224/entities/schedules/test_modify_schedule.py index ae846bcde..369527c1c 100644 --- a/tests/protocols/gmpv224/entities/schedules/test_modify_schedule.py +++ b/tests/protocols/gmpv224/entities/schedules/test_modify_schedule.py @@ -56,7 +56,7 @@ def test_modify_schedule_with_icalendar(self): self.connection.send.has_been_called_with( '' f"{ICAL}" - "".encode("utf-8") + "".encode() ) def test_modify_schedule_with_timezone(self): diff --git a/tests/protocols/gmpv224/entities/secinfo/__init__.py b/tests/protocols/gmpv224/entities/secinfo/__init__.py index 3ba4bff2d..bf489e7c5 100644 --- a/tests/protocols/gmpv224/entities/secinfo/__init__.py +++ b/tests/protocols/gmpv224/entities/secinfo/__init__.py @@ -26,21 +26,21 @@ __all__ = ( "GmpGetCertBundListTestMixin", "GmpGetCertBundTestMixin", - "GmpGetCpeTestMixin", "GmpGetCpeListTestMixin", - "GmpGetCveTestMixin", + "GmpGetCpeTestMixin", "GmpGetCveListTestMixin", + "GmpGetCveTestMixin", "GmpGetDfnCertListTestMixin", "GmpGetDfnCertTestMixin", - "GmpGetInfoTestMixin", "GmpGetInfoListTestMixin", - "GmpGetNvtTestMixin", + "GmpGetInfoTestMixin", "GmpGetNvtFamiliesTestMixin", + "GmpGetNvtListTestMixin", "GmpGetNvtPreferenceTestMixin", "GmpGetNvtPreferencesTestMixin", - "GmpGetNvtListTestMixin", - "GmpGetOvalDefTestMixin", + "GmpGetNvtTestMixin", "GmpGetOvalDefListTestMixin", + "GmpGetOvalDefTestMixin", "GmpGetScanConfigNvtTestMixin", "GmpGetScanConfigNvtsTestMixin", ) diff --git a/tests/protocols/gmpv224/entities/secinfo/test_get_info.py b/tests/protocols/gmpv224/entities/secinfo/test_get_info.py index 35bdee44d..393d3c865 100644 --- a/tests/protocols/gmpv224/entities/secinfo/test_get_info.py +++ b/tests/protocols/gmpv224/entities/secinfo/test_get_info.py @@ -47,7 +47,8 @@ def test_get_info(self): with self.assertRaises(AttributeError): self.gmp.get_info( - "i1", InfoType.ALLINFO # pylint: disable=no-member + "i1", + InfoType.ALLINFO, # pylint: disable=no-member ) def test_get_info_missing_info_type(self): diff --git a/tests/protocols/gmpv224/entities/tags/test_modify_tag.py b/tests/protocols/gmpv224/entities/tags/test_modify_tag.py index 07eb3d170..d876748fc 100644 --- a/tests/protocols/gmpv224/entities/tags/test_modify_tag.py +++ b/tests/protocols/gmpv224/entities/tags/test_modify_tag.py @@ -150,9 +150,7 @@ def test_modify_tag_with_missing_resource_filter_or_ids_andtype(self): self.gmp.modify_tag(tag_id="t1", resource_action="add") self.connection.send.has_been_called_with( - b'' - b'' - b"" + b'' ) def test_modify_tag_with_missing_resource_type(self): diff --git a/tests/protocols/gmpv224/entities/targets/test_clone_target.py b/tests/protocols/gmpv224/entities/targets/test_clone_target.py index 9c8e88314..a744922a7 100644 --- a/tests/protocols/gmpv224/entities/targets/test_clone_target.py +++ b/tests/protocols/gmpv224/entities/targets/test_clone_target.py @@ -15,7 +15,7 @@ def test_clone(self): self.connection.send.has_been_called_with( "" f"{self.TARGET_ID}" - "".encode("utf-8") + "".encode() ) def test_missing_id(self): diff --git a/tests/protocols/gmpv224/entities/targets/test_modify_target.py b/tests/protocols/gmpv224/entities/targets/test_modify_target.py index 2f8b762e3..a5fd8f4b0 100644 --- a/tests/protocols/gmpv224/entities/targets/test_modify_target.py +++ b/tests/protocols/gmpv224/entities/targets/test_modify_target.py @@ -66,9 +66,7 @@ def test_modify_target_with_name(self): self.gmp.modify_target(target_id="t1", name="foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) def test_modify_target_with_exclude_hosts(self): diff --git a/tests/protocols/gmpv224/entities/tasks/test_create_container_task.py b/tests/protocols/gmpv224/entities/tasks/test_create_container_task.py index 8f0aed46b..ff81ab5a5 100644 --- a/tests/protocols/gmpv224/entities/tasks/test_create_container_task.py +++ b/tests/protocols/gmpv224/entities/tasks/test_create_container_task.py @@ -11,10 +11,7 @@ def test_create_task(self): self.gmp.create_container_task(name="foo") self.connection.send.has_been_called_with( - b"" - b"foo" - b'' - b"" + b'foo' ) def test_create_task_missing_name(self): diff --git a/tests/protocols/gmpv224/entities/tasks/test_modify_task.py b/tests/protocols/gmpv224/entities/tasks/test_modify_task.py index 4e5a8688e..a29450dfc 100644 --- a/tests/protocols/gmpv224/entities/tasks/test_modify_task.py +++ b/tests/protocols/gmpv224/entities/tasks/test_modify_task.py @@ -66,9 +66,7 @@ def test_modify_task_with_comment(self): self.gmp.modify_task(task_id="t1", comment="bar") self.connection.send.has_been_called_with( - b'' - b"bar" - b"" + b'bar' ) def test_modify_task_with_alerts_ids(self): @@ -93,17 +91,13 @@ def test_modify_task_with_alterable(self): self.gmp.modify_task(task_id="t1", alterable=True) self.connection.send.has_been_called_with( - b'' - b"1" - b"" + b'1' ) self.gmp.modify_task(task_id="t1", alterable=False) self.connection.send.has_been_called_with( - b'' - b"0" - b"" + b'0' ) def test_modify_task_with_hosts_ordering(self): diff --git a/tests/protocols/gmpv224/entities/tls_certificates/test_clone_tls_certificate.py b/tests/protocols/gmpv224/entities/tls_certificates/test_clone_tls_certificate.py index 4c832193f..7290b60b0 100644 --- a/tests/protocols/gmpv224/entities/tls_certificates/test_clone_tls_certificate.py +++ b/tests/protocols/gmpv224/entities/tls_certificates/test_clone_tls_certificate.py @@ -11,9 +11,7 @@ def test_clone(self): self.gmp.clone_tls_certificate("a1") self.connection.send.has_been_called_with( - b"" - b"a1" - b"" + b"a1" ) def test_missing_id(self): diff --git a/tests/protocols/gmpv224/entities/users/test_modify_user.py b/tests/protocols/gmpv224/entities/users/test_modify_user.py index f374b4b64..ee753c8d8 100644 --- a/tests/protocols/gmpv224/entities/users/test_modify_user.py +++ b/tests/protocols/gmpv224/entities/users/test_modify_user.py @@ -26,18 +26,14 @@ def test_modify_user_with_new_name(self): self.gmp.modify_user(user_id="u1", name="foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) def test_modify_user_with_new_comment(self): self.gmp.modify_user(user_id="u1", comment="foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) def test_modify_user_with_role_ids(self): @@ -92,9 +88,7 @@ def test_modify_user_with_password(self): self.gmp.modify_user(user_id="u1", password="foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) def test_modify_user_with_auth_source(self): diff --git a/tests/protocols/gmpv224/system/user_settings/test_modify_user_setting.py b/tests/protocols/gmpv224/system/user_settings/test_modify_user_setting.py index d878faf5a..5c579a6b5 100644 --- a/tests/protocols/gmpv224/system/user_settings/test_modify_user_setting.py +++ b/tests/protocols/gmpv224/system/user_settings/test_modify_user_setting.py @@ -28,9 +28,7 @@ def test_modify_user_setting(self): self.gmp.modify_user_setting(setting_id="s1", value="") self.connection.send.has_been_called_with( - b'' - b"" - b"" + b'' ) def test_modify_user_setting_missing_setting_id(self): diff --git a/tests/protocols/gmpv226/entities/audit_reports/test_get_report.py b/tests/protocols/gmpv226/entities/audit_reports/test_get_report.py index 6f4fc65d7..d0460d531 100644 --- a/tests/protocols/gmpv226/entities/audit_reports/test_get_report.py +++ b/tests/protocols/gmpv226/entities/audit_reports/test_get_report.py @@ -44,7 +44,7 @@ def test_get_audit_report_with_report_format_type(self): self.connection.send.has_been_called_with( ''.encode("utf-8") + f'"{report_format_id}" details="1"/>'.encode() ) def test_get_audit_report_with_delta_report_id(self): diff --git a/tests/protocols/gmpv226/entities/reports/test_get_report.py b/tests/protocols/gmpv226/entities/reports/test_get_report.py index 77e402bf5..5f2ada358 100644 --- a/tests/protocols/gmpv226/entities/reports/test_get_report.py +++ b/tests/protocols/gmpv226/entities/reports/test_get_report.py @@ -53,7 +53,7 @@ def test_get_report_with_report_format_type(self): self.connection.send.has_been_called_with( ''.encode("utf-8") + f'"{report_format_id}" details="1"/>'.encode() ) def test_get_report_with_delta_report_id(self): diff --git a/tests/protocols/gmpv226/entities/reports/test_import_report.py b/tests/protocols/gmpv226/entities/reports/test_import_report.py index dc3450960..ea696ab47 100644 --- a/tests/protocols/gmpv226/entities/reports/test_import_report.py +++ b/tests/protocols/gmpv226/entities/reports/test_import_report.py @@ -25,7 +25,7 @@ def test_import_report_with_task_id(self): "" f'' f"{self.REPORT_XML_STRING}" - "".encode("utf-8") + "".encode() ) def test_import_report_missing_report(self): @@ -41,7 +41,8 @@ def test_import_report_invalid_xml(self): with self.assertRaises(InvalidArgument): self.gmp.import_report( - "", task_id=self.TASK_ID # missing closing tag + "", + task_id=self.TASK_ID, # missing closing tag ) def test_import_report_with_in_assets(self): @@ -54,7 +55,7 @@ def test_import_report_with_in_assets(self): f'' "0" f"{self.REPORT_XML_STRING}" - "".encode("utf-8") + "".encode() ) self.gmp.import_report( @@ -66,5 +67,5 @@ def test_import_report_with_in_assets(self): f'' "1" f"{self.REPORT_XML_STRING}" - "".encode("utf-8") + "".encode() ) diff --git a/tests/protocols/gmpv227/entities/scanners/test_modify_scanner.py b/tests/protocols/gmpv227/entities/scanners/test_modify_scanner.py index cd98e81bd..8a96c59d6 100644 --- a/tests/protocols/gmpv227/entities/scanners/test_modify_scanner.py +++ b/tests/protocols/gmpv227/entities/scanners/test_modify_scanner.py @@ -35,9 +35,7 @@ def test_modify_scanner_with_host(self): self.gmp.modify_scanner(scanner_id="s1", host="foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) def test_modify_scanner_with_port(self): @@ -61,9 +59,7 @@ def test_modify_scanner_with_name(self): self.gmp.modify_scanner(scanner_id="s1", name="foo") self.connection.send.has_been_called_with( - b'' - b"foo" - b"" + b'foo' ) def test_modify_scanner_with_ca_pub(self): @@ -90,9 +86,7 @@ def test_modify_scanner_with_scanner_type(self): ) self.connection.send.has_been_called_with( - b'' - b"2" - b"" + b'2' ) self.gmp.modify_scanner( @@ -100,9 +94,7 @@ def test_modify_scanner_with_scanner_type(self): ) self.connection.send.has_been_called_with( - b'' - b"3" - b"" + b'3' ) self.gmp.modify_scanner( @@ -111,9 +103,7 @@ def test_modify_scanner_with_scanner_type(self): ) self.connection.send.has_been_called_with( - b'' - b"5" - b"" + b'5' ) def test_modify_scanner_invalid_scanner_type(self): @@ -133,9 +123,7 @@ def test_modify_scanner_with_openvasd_type(self): ) self.connection.send.has_been_called_with( - b'' - b"6" - b"" + b'6' ) def test_modify_scanner_with_relay_host(self): diff --git a/tests/protocols/osp/test_osp_start_scan.py b/tests/protocols/osp/test_osp_start_scan.py index d24523b2f..725d73ef1 100644 --- a/tests/protocols/osp/test_osp_start_scan.py +++ b/tests/protocols/osp/test_osp_start_scan.py @@ -21,7 +21,7 @@ def test_start_scan(self): scanner_params = OrderedDict() scanner_params["key1"] = "value1" - targets = list() + targets = [] _target1 = OrderedDict() _target1["hosts"] = "localhost" _target1["ports"] = "22,80" diff --git a/uv.lock b/uv.lock index 4ff5ab6e2..1855e10a3 100644 --- a/uv.lock +++ b/uv.lock @@ -52,19 +52,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/24/2f/b9a3df19d473ef7bb7aec180f994c397edf94c433cba7e2a341940061302/autohooks-26.2.0-py3-none-any.whl", hash = "sha256:b0bb989922c595b3689ce7b3ef52d282e636eed65456f7b1ba5e189fdf989ee3", size = 36119, upload-time = "2026-02-25T08:26:58.955Z" }, ] -[[package]] -name = "autohooks-plugin-black" -version = "23.10.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "autohooks" }, - { name = "black" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/1c/47/5948b7b08281498c37efe869b59cb380724aa14aa132ae70d14e584221b0/autohooks_plugin_black-23.10.0.tar.gz", hash = "sha256:8415b5f566d861236bde2b0973699f64a8b861208af4fa05fe04a1f923ea3ef6", size = 33384, upload-time = "2023-10-18T08:46:30.947Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/da/4b/8cedb513acc0ac4dbddebaa18d28861e5bbdcd3da2b6d3621f4bc99abf15/autohooks_plugin_black-23.10.0-py3-none-any.whl", hash = "sha256:88d648251df749586af9ea5be3105daa4358ed916b61aee738d0727387214470", size = 16979, upload-time = "2023-10-18T08:46:29.697Z" }, -] - [[package]] name = "autohooks-plugin-mypy" version = "23.10.0" @@ -183,50 +170,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/1a/39/47f9197bdd44df24d67ac8893641e16f386c984a0619ef2ee4c51fbbc019/beautifulsoup4-4.14.3-py3-none-any.whl", hash = "sha256:0918bfe44902e6ad8d57732ba310582e98da931428d231a5ecb9e7c703a735bb", size = 107721, upload-time = "2025-11-30T15:08:24.087Z" }, ] -[[package]] -name = "black" -version = "26.3.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "click" }, - { name = "mypy-extensions" }, - { name = "packaging" }, - { name = "pathspec" }, - { name = "platformdirs" }, - { name = "pytokens" }, - { name = "tomli", marker = "python_full_version < '3.11'" }, - { name = "typing-extensions", marker = "python_full_version < '3.11'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/e1/c5/61175d618685d42b005847464b8fb4743a67b1b8fdb75e50e5a96c31a27a/black-26.3.1.tar.gz", hash = "sha256:2c50f5063a9641c7eed7795014ba37b0f5fa227f3d408b968936e24bc0566b07", size = 666155, upload-time = "2026-03-12T03:36:03.593Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/32/a8/11170031095655d36ebc6664fe0897866f6023892396900eec0e8fdc4299/black-26.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:86a8b5035fce64f5dcd1b794cf8ec4d31fe458cf6ce3986a30deb434df82a1d2", size = 1866562, upload-time = "2026-03-12T03:39:58.639Z" }, - { url = "https://files.pythonhosted.org/packages/69/ce/9e7548d719c3248c6c2abfd555d11169457cbd584d98d179111338423790/black-26.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5602bdb96d52d2d0672f24f6ffe5218795736dd34807fd0fd55ccd6bf206168b", size = 1703623, upload-time = "2026-03-12T03:40:00.347Z" }, - { url = "https://files.pythonhosted.org/packages/7f/0a/8d17d1a9c06f88d3d030d0b1d4373c1551146e252afe4547ed601c0e697f/black-26.3.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6c54a4a82e291a1fee5137371ab488866b7c86a3305af4026bdd4dc78642e1ac", size = 1768388, upload-time = "2026-03-12T03:40:01.765Z" }, - { url = "https://files.pythonhosted.org/packages/52/79/c1ee726e221c863cde5164f925bacf183dfdf0397d4e3f94889439b947b4/black-26.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:6e131579c243c98f35bce64a7e08e87fb2d610544754675d4a0e73a070a5aa3a", size = 1412969, upload-time = "2026-03-12T03:40:03.252Z" }, - { url = "https://files.pythonhosted.org/packages/73/a5/15c01d613f5756f68ed8f6d4ec0a1e24b82b18889fa71affd3d1f7fad058/black-26.3.1-cp310-cp310-win_arm64.whl", hash = "sha256:5ed0ca58586c8d9a487352a96b15272b7fa55d139fc8496b519e78023a8dab0a", size = 1220345, upload-time = "2026-03-12T03:40:04.892Z" }, - { url = "https://files.pythonhosted.org/packages/17/57/5f11c92861f9c92eb9dddf515530bc2d06db843e44bdcf1c83c1427824bc/black-26.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:28ef38aee69e4b12fda8dba75e21f9b4f979b490c8ac0baa7cb505369ac9e1ff", size = 1851987, upload-time = "2026-03-12T03:40:06.248Z" }, - { url = "https://files.pythonhosted.org/packages/54/aa/340a1463660bf6831f9e39646bf774086dbd8ca7fc3cded9d59bbdf4ad0a/black-26.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bf9bf162ed91a26f1adba8efda0b573bc6924ec1408a52cc6f82cb73ec2b142c", size = 1689499, upload-time = "2026-03-12T03:40:07.642Z" }, - { url = "https://files.pythonhosted.org/packages/f3/01/b726c93d717d72733da031d2de10b92c9fa4c8d0c67e8a8a372076579279/black-26.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:474c27574d6d7037c1bc875a81d9be0a9a4f9ee95e62800dab3cfaadbf75acd5", size = 1754369, upload-time = "2026-03-12T03:40:09.279Z" }, - { url = "https://files.pythonhosted.org/packages/e3/09/61e91881ca291f150cfc9eb7ba19473c2e59df28859a11a88248b5cbbc4d/black-26.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:5e9d0d86df21f2e1677cc4bd090cd0e446278bcbbe49bf3659c308c3e402843e", size = 1413613, upload-time = "2026-03-12T03:40:10.943Z" }, - { url = "https://files.pythonhosted.org/packages/16/73/544f23891b22e7efe4d8f812371ab85b57f6a01b2fc45e3ba2e52ba985b8/black-26.3.1-cp311-cp311-win_arm64.whl", hash = "sha256:9a5e9f45e5d5e1c5b5c29b3bd4265dcc90e8b92cf4534520896ed77f791f4da5", size = 1219719, upload-time = "2026-03-12T03:40:12.597Z" }, - { url = "https://files.pythonhosted.org/packages/dc/f8/da5eae4fc75e78e6dceb60624e1b9662ab00d6b452996046dfa9b8a6025b/black-26.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b5e6f89631eb88a7302d416594a32faeee9fb8fb848290da9d0a5f2903519fc1", size = 1895920, upload-time = "2026-03-12T03:40:13.921Z" }, - { url = "https://files.pythonhosted.org/packages/2c/9f/04e6f26534da2e1629b2b48255c264cabf5eedc5141d04516d9d68a24111/black-26.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:41cd2012d35b47d589cb8a16faf8a32ef7a336f56356babd9fcf70939ad1897f", size = 1718499, upload-time = "2026-03-12T03:40:15.239Z" }, - { url = "https://files.pythonhosted.org/packages/04/91/a5935b2a63e31b331060c4a9fdb5a6c725840858c599032a6f3aac94055f/black-26.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f76ff19ec5297dd8e66eb64deda23631e642c9393ab592826fd4bdc97a4bce7", size = 1794994, upload-time = "2026-03-12T03:40:17.124Z" }, - { url = "https://files.pythonhosted.org/packages/e7/0a/86e462cdd311a3c2a8ece708d22aba17d0b2a0d5348ca34b40cdcbea512e/black-26.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:ddb113db38838eb9f043623ba274cfaf7d51d5b0c22ecb30afe58b1bb8322983", size = 1420867, upload-time = "2026-03-12T03:40:18.83Z" }, - { url = "https://files.pythonhosted.org/packages/5b/e5/22515a19cb7eaee3440325a6b0d95d2c0e88dd180cb011b12ae488e031d1/black-26.3.1-cp312-cp312-win_arm64.whl", hash = "sha256:dfdd51fc3e64ea4f35873d1b3fb25326773d55d2329ff8449139ebaad7357efb", size = 1230124, upload-time = "2026-03-12T03:40:20.425Z" }, - { url = "https://files.pythonhosted.org/packages/f5/77/5728052a3c0450c53d9bb3945c4c46b91baa62b2cafab6801411b6271e45/black-26.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:855822d90f884905362f602880ed8b5df1b7e3ee7d0db2502d4388a954cc8c54", size = 1895034, upload-time = "2026-03-12T03:40:21.813Z" }, - { url = "https://files.pythonhosted.org/packages/52/73/7cae55fdfdfbe9d19e9a8d25d145018965fe2079fa908101c3733b0c55a0/black-26.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8a33d657f3276328ce00e4d37fe70361e1ec7614da5d7b6e78de5426cb56332f", size = 1718503, upload-time = "2026-03-12T03:40:23.666Z" }, - { url = "https://files.pythonhosted.org/packages/e1/87/af89ad449e8254fdbc74654e6467e3c9381b61472cc532ee350d28cfdafb/black-26.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f1cd08e99d2f9317292a311dfe578fd2a24b15dbce97792f9c4d752275c1fa56", size = 1793557, upload-time = "2026-03-12T03:40:25.497Z" }, - { url = "https://files.pythonhosted.org/packages/43/10/d6c06a791d8124b843bf325ab4ac7d2f5b98731dff84d6064eafd687ded1/black-26.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:c7e72339f841b5a237ff14f7d3880ddd0fc7f98a1199e8c4327f9a4f478c1839", size = 1422766, upload-time = "2026-03-12T03:40:27.14Z" }, - { url = "https://files.pythonhosted.org/packages/59/4f/40a582c015f2d841ac24fed6390bd68f0fc896069ff3a886317959c9daf8/black-26.3.1-cp313-cp313-win_arm64.whl", hash = "sha256:afc622538b430aa4c8c853f7f63bc582b3b8030fd8c80b70fb5fa5b834e575c2", size = 1232140, upload-time = "2026-03-12T03:40:28.882Z" }, - { url = "https://files.pythonhosted.org/packages/d5/da/e36e27c9cebc1311b7579210df6f1c86e50f2d7143ae4fcf8a5017dc8809/black-26.3.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2d6bfaf7fd0993b420bed691f20f9492d53ce9a2bcccea4b797d34e947318a78", size = 1889234, upload-time = "2026-03-12T03:40:30.964Z" }, - { url = "https://files.pythonhosted.org/packages/0e/7b/9871acf393f64a5fa33668c19350ca87177b181f44bb3d0c33b2d534f22c/black-26.3.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:f89f2ab047c76a9c03f78d0d66ca519e389519902fa27e7a91117ef7611c0568", size = 1720522, upload-time = "2026-03-12T03:40:32.346Z" }, - { url = "https://files.pythonhosted.org/packages/03/87/e766c7f2e90c07fb7586cc787c9ae6462b1eedab390191f2b7fc7f6170a9/black-26.3.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b07fc0dab849d24a80a29cfab8d8a19187d1c4685d8a5e6385a5ce323c1f015f", size = 1787824, upload-time = "2026-03-12T03:40:33.636Z" }, - { url = "https://files.pythonhosted.org/packages/ac/94/2424338fb2d1875e9e83eed4c8e9c67f6905ec25afd826a911aea2b02535/black-26.3.1-cp314-cp314-win_amd64.whl", hash = "sha256:0126ae5b7c09957da2bdbd91a9ba1207453feada9e9fe51992848658c6c8e01c", size = 1445855, upload-time = "2026-03-12T03:40:35.442Z" }, - { url = "https://files.pythonhosted.org/packages/86/43/0c3338bd928afb8ee7471f1a4eec3bdbe2245ccb4a646092a222e8669840/black-26.3.1-cp314-cp314-win_arm64.whl", hash = "sha256:92c0ec1f2cc149551a2b7b47efc32c866406b6891b0ee4625e95967c8f4acfb1", size = 1258109, upload-time = "2026-03-12T03:40:36.832Z" }, - { url = "https://files.pythonhosted.org/packages/8e/0d/52d98722666d6fc6c3dd4c76df339501d6efd40e0ff95e6186a7b7f0befd/black-26.3.1-py3-none-any.whl", hash = "sha256:2bd5aa94fc267d38bb21a70d7410a89f1a1d318841855f698746f8e7f51acd1b", size = 207542, upload-time = "2026-03-12T03:36:01.668Z" }, -] - [[package]] name = "certifi" version = "2026.2.25" @@ -423,18 +366,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d", size = 61958, upload-time = "2026-04-02T09:28:37.794Z" }, ] -[[package]] -name = "click" -version = "8.1.8" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload-time = "2024-12-21T18:38:44.339Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload-time = "2024-12-21T18:38:41.666Z" }, -] - [[package]] name = "colorama" version = "0.4.6" @@ -1222,15 +1153,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ef/3c/2c197d226f9ea224a9ab8d197933f9da0ae0aac5b6e0f884e2b8d9c8e9f7/pathspec-1.0.4-py3-none-any.whl", hash = "sha256:fb6ae2fd4e7c921a165808a552060e722767cfa526f99ca5156ed2ce45a5c723", size = 55206, upload-time = "2026-01-27T03:59:45.137Z" }, ] -[[package]] -name = "platformdirs" -version = "4.4.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/23/e8/21db9c9987b0e728855bd57bff6984f67952bea55d6f75e055c46b5383e8/platformdirs-4.4.0.tar.gz", hash = "sha256:ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf", size = 21634, upload-time = "2025-08-26T14:32:04.268Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/40/4b/2028861e724d3bd36227adfa20d3fd24c3fc6d52032f4a93c133be5d17ce/platformdirs-4.4.0-py3-none-any.whl", hash = "sha256:abd01743f24e5287cd7a5db3752faf1a2d65353f38ec26d98e25a6db65958c85", size = 18654, upload-time = "2025-08-26T14:32:02.735Z" }, -] - [[package]] name = "pontos" version = "26.2.0" @@ -1328,10 +1250,8 @@ dependencies = [ [package.dev-dependencies] dev = [ - { name = "autohooks-plugin-black" }, { name = "autohooks-plugin-mypy" }, { name = "autohooks-plugin-ruff" }, - { name = "black" }, { name = "coverage" }, { name = "furo" }, { name = "git-cliff" }, @@ -1351,10 +1271,8 @@ requires-dist = [ [package.metadata.requires-dev] dev = [ - { name = "autohooks-plugin-black", specifier = ">=22.7.0" }, { name = "autohooks-plugin-mypy", specifier = ">=22.7.0" }, - { name = "autohooks-plugin-ruff", specifier = ">=24.1.0" }, - { name = "black", specifier = ">=22.6.0" }, + { name = "autohooks-plugin-ruff", specifier = ">=25.2.0" }, { name = "coverage", specifier = ">=7.2" }, { name = "furo", specifier = ">=2022.6.21" }, { name = "git-cliff", specifier = ">=2.8.0,<3" }, @@ -1365,45 +1283,6 @@ dev = [ { name = "types-paramiko", specifier = ">=3.4.0.20240205,<5.0.0.0" }, ] -[[package]] -name = "pytokens" -version = "0.4.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b6/34/b4e015b99031667a7b960f888889c5bd34ef585c85e1cb56a594b92836ac/pytokens-0.4.1.tar.gz", hash = "sha256:292052fe80923aae2260c073f822ceba21f3872ced9a68bb7953b348e561179a", size = 23015, upload-time = "2026-01-30T01:03:45.924Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/42/24/f206113e05cb8ef51b3850e7ef88f20da6f4bf932190ceb48bd3da103e10/pytokens-0.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2a44ed93ea23415c54f3face3b65ef2b844d96aeb3455b8a69b3df6beab6acc5", size = 161522, upload-time = "2026-01-30T01:02:50.393Z" }, - { url = "https://files.pythonhosted.org/packages/d4/e9/06a6bf1b90c2ed81a9c7d2544232fe5d2891d1cd480e8a1809ca354a8eb2/pytokens-0.4.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:add8bf86b71a5d9fb5b89f023a80b791e04fba57960aa790cc6125f7f1d39dfe", size = 246945, upload-time = "2026-01-30T01:02:52.399Z" }, - { url = "https://files.pythonhosted.org/packages/69/66/f6fb1007a4c3d8b682d5d65b7c1fb33257587a5f782647091e3408abe0b8/pytokens-0.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:670d286910b531c7b7e3c0b453fd8156f250adb140146d234a82219459b9640c", size = 259525, upload-time = "2026-01-30T01:02:53.737Z" }, - { url = "https://files.pythonhosted.org/packages/04/92/086f89b4d622a18418bac74ab5db7f68cf0c21cf7cc92de6c7b919d76c88/pytokens-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4e691d7f5186bd2842c14813f79f8884bb03f5995f0575272009982c5ac6c0f7", size = 262693, upload-time = "2026-01-30T01:02:54.871Z" }, - { url = "https://files.pythonhosted.org/packages/b4/7b/8b31c347cf94a3f900bdde750b2e9131575a61fdb620d3d3c75832262137/pytokens-0.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:27b83ad28825978742beef057bfe406ad6ed524b2d28c252c5de7b4a6dd48fa2", size = 103567, upload-time = "2026-01-30T01:02:56.414Z" }, - { url = "https://files.pythonhosted.org/packages/3d/92/790ebe03f07b57e53b10884c329b9a1a308648fc083a6d4a39a10a28c8fc/pytokens-0.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d70e77c55ae8380c91c0c18dea05951482e263982911fc7410b1ffd1dadd3440", size = 160864, upload-time = "2026-01-30T01:02:57.882Z" }, - { url = "https://files.pythonhosted.org/packages/13/25/a4f555281d975bfdd1eba731450e2fe3a95870274da73fb12c40aeae7625/pytokens-0.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a58d057208cb9075c144950d789511220b07636dd2e4708d5645d24de666bdc", size = 248565, upload-time = "2026-01-30T01:02:59.912Z" }, - { url = "https://files.pythonhosted.org/packages/17/50/bc0394b4ad5b1601be22fa43652173d47e4c9efbf0044c62e9a59b747c56/pytokens-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b49750419d300e2b5a3813cf229d4e5a4c728dae470bcc89867a9ad6f25a722d", size = 260824, upload-time = "2026-01-30T01:03:01.471Z" }, - { url = "https://files.pythonhosted.org/packages/4e/54/3e04f9d92a4be4fc6c80016bc396b923d2a6933ae94b5f557c939c460ee0/pytokens-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d9907d61f15bf7261d7e775bd5d7ee4d2930e04424bab1972591918497623a16", size = 264075, upload-time = "2026-01-30T01:03:04.143Z" }, - { url = "https://files.pythonhosted.org/packages/d1/1b/44b0326cb5470a4375f37988aea5d61b5cc52407143303015ebee94abfd6/pytokens-0.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:ee44d0f85b803321710f9239f335aafe16553b39106384cef8e6de40cb4ef2f6", size = 103323, upload-time = "2026-01-30T01:03:05.412Z" }, - { url = "https://files.pythonhosted.org/packages/41/5d/e44573011401fb82e9d51e97f1290ceb377800fb4eed650b96f4753b499c/pytokens-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:140709331e846b728475786df8aeb27d24f48cbcf7bcd449f8de75cae7a45083", size = 160663, upload-time = "2026-01-30T01:03:06.473Z" }, - { url = "https://files.pythonhosted.org/packages/f0/e6/5bbc3019f8e6f21d09c41f8b8654536117e5e211a85d89212d59cbdab381/pytokens-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d6c4268598f762bc8e91f5dbf2ab2f61f7b95bdc07953b602db879b3c8c18e1", size = 255626, upload-time = "2026-01-30T01:03:08.177Z" }, - { url = "https://files.pythonhosted.org/packages/bf/3c/2d5297d82286f6f3d92770289fd439956b201c0a4fc7e72efb9b2293758e/pytokens-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:24afde1f53d95348b5a0eb19488661147285ca4dd7ed752bbc3e1c6242a304d1", size = 269779, upload-time = "2026-01-30T01:03:09.756Z" }, - { url = "https://files.pythonhosted.org/packages/20/01/7436e9ad693cebda0551203e0bf28f7669976c60ad07d6402098208476de/pytokens-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5ad948d085ed6c16413eb5fec6b3e02fa00dc29a2534f088d3302c47eb59adf9", size = 268076, upload-time = "2026-01-30T01:03:10.957Z" }, - { url = "https://files.pythonhosted.org/packages/2e/df/533c82a3c752ba13ae7ef238b7f8cdd272cf1475f03c63ac6cf3fcfb00b6/pytokens-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:3f901fe783e06e48e8cbdc82d631fca8f118333798193e026a50ce1b3757ea68", size = 103552, upload-time = "2026-01-30T01:03:12.066Z" }, - { url = "https://files.pythonhosted.org/packages/cb/dc/08b1a080372afda3cceb4f3c0a7ba2bde9d6a5241f1edb02a22a019ee147/pytokens-0.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8bdb9d0ce90cbf99c525e75a2fa415144fd570a1ba987380190e8b786bc6ef9b", size = 160720, upload-time = "2026-01-30T01:03:13.843Z" }, - { url = "https://files.pythonhosted.org/packages/64/0c/41ea22205da480837a700e395507e6a24425151dfb7ead73343d6e2d7ffe/pytokens-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5502408cab1cb18e128570f8d598981c68a50d0cbd7c61312a90507cd3a1276f", size = 254204, upload-time = "2026-01-30T01:03:14.886Z" }, - { url = "https://files.pythonhosted.org/packages/e0/d2/afe5c7f8607018beb99971489dbb846508f1b8f351fcefc225fcf4b2adc0/pytokens-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:29d1d8fb1030af4d231789959f21821ab6325e463f0503a61d204343c9b355d1", size = 268423, upload-time = "2026-01-30T01:03:15.936Z" }, - { url = "https://files.pythonhosted.org/packages/68/d4/00ffdbd370410c04e9591da9220a68dc1693ef7499173eb3e30d06e05ed1/pytokens-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:970b08dd6b86058b6dc07efe9e98414f5102974716232d10f32ff39701e841c4", size = 266859, upload-time = "2026-01-30T01:03:17.458Z" }, - { url = "https://files.pythonhosted.org/packages/a7/c9/c3161313b4ca0c601eeefabd3d3b576edaa9afdefd32da97210700e47652/pytokens-0.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:9bd7d7f544d362576be74f9d5901a22f317efc20046efe2034dced238cbbfe78", size = 103520, upload-time = "2026-01-30T01:03:18.652Z" }, - { url = "https://files.pythonhosted.org/packages/8f/a7/b470f672e6fc5fee0a01d9e75005a0e617e162381974213a945fcd274843/pytokens-0.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4a14d5f5fc78ce85e426aa159489e2d5961acf0e47575e08f35584009178e321", size = 160821, upload-time = "2026-01-30T01:03:19.684Z" }, - { url = "https://files.pythonhosted.org/packages/80/98/e83a36fe8d170c911f864bfded690d2542bfcfacb9c649d11a9e6eb9dc41/pytokens-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97f50fd18543be72da51dd505e2ed20d2228c74e0464e4262e4899797803d7fa", size = 254263, upload-time = "2026-01-30T01:03:20.834Z" }, - { url = "https://files.pythonhosted.org/packages/0f/95/70d7041273890f9f97a24234c00b746e8da86df462620194cef1d411ddeb/pytokens-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dc74c035f9bfca0255c1af77ddd2d6ae8419012805453e4b0e7513e17904545d", size = 268071, upload-time = "2026-01-30T01:03:21.888Z" }, - { url = "https://files.pythonhosted.org/packages/da/79/76e6d09ae19c99404656d7db9c35dfd20f2086f3eb6ecb496b5b31163bad/pytokens-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f66a6bbe741bd431f6d741e617e0f39ec7257ca1f89089593479347cc4d13324", size = 271716, upload-time = "2026-01-30T01:03:23.633Z" }, - { url = "https://files.pythonhosted.org/packages/79/37/482e55fa1602e0a7ff012661d8c946bafdc05e480ea5a32f4f7e336d4aa9/pytokens-0.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:b35d7e5ad269804f6697727702da3c517bb8a5228afa450ab0fa787732055fc9", size = 104539, upload-time = "2026-01-30T01:03:24.788Z" }, - { url = "https://files.pythonhosted.org/packages/30/e8/20e7db907c23f3d63b0be3b8a4fd1927f6da2395f5bcc7f72242bb963dfe/pytokens-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:8fcb9ba3709ff77e77f1c7022ff11d13553f3c30299a9fe246a166903e9091eb", size = 168474, upload-time = "2026-01-30T01:03:26.428Z" }, - { url = "https://files.pythonhosted.org/packages/d6/81/88a95ee9fafdd8f5f3452107748fd04c24930d500b9aba9738f3ade642cc/pytokens-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:79fc6b8699564e1f9b521582c35435f1bd32dd06822322ec44afdeba666d8cb3", size = 290473, upload-time = "2026-01-30T01:03:27.415Z" }, - { url = "https://files.pythonhosted.org/packages/cf/35/3aa899645e29b6375b4aed9f8d21df219e7c958c4c186b465e42ee0a06bf/pytokens-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d31b97b3de0f61571a124a00ffe9a81fb9939146c122c11060725bd5aea79975", size = 303485, upload-time = "2026-01-30T01:03:28.558Z" }, - { url = "https://files.pythonhosted.org/packages/52/a0/07907b6ff512674d9b201859f7d212298c44933633c946703a20c25e9d81/pytokens-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:967cf6e3fd4adf7de8fc73cd3043754ae79c36475c1c11d514fc72cf5490094a", size = 306698, upload-time = "2026-01-30T01:03:29.653Z" }, - { url = "https://files.pythonhosted.org/packages/39/2a/cbbf9250020a4a8dd53ba83a46c097b69e5eb49dd14e708f496f548c6612/pytokens-0.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:584c80c24b078eec1e227079d56dc22ff755e0ba8654d8383b2c549107528918", size = 116287, upload-time = "2026-01-30T01:03:30.912Z" }, - { url = "https://files.pythonhosted.org/packages/c6/78/397db326746f0a342855b81216ae1f0a32965deccfd7c830a2dbc66d2483/pytokens-0.4.1-py3-none-any.whl", hash = "sha256:26cef14744a8385f35d0e095dc8b3a7583f6c953c2e3d269c7f82484bf5ad2de", size = 13729, upload-time = "2026-01-30T01:03:45.029Z" }, -] - [[package]] name = "pyyaml" version = "6.0.3"