Source code for tq42.internal.functionality

from __future__ import annotations

from google.protobuf import empty_pb2

from com.terraquantum.plan.v1.plan.check_functionality_request_pb2 import (
    CheckFunctionalityRequest,
    FunctionalityProto,
)

from typing import TYPE_CHECKING

# only import the stuff for type hints -> avoid circular imports
if TYPE_CHECKING:
    from tq42.client import TQ42Client


[docs]class Functionality: """ Reference a functionality. """
[docs] @staticmethod def check( client: TQ42Client, organization_id: str, functionality_type: str, version: str ) -> None: """ Checks if a functionality with given version should be accessible for the given organization. """ req = CheckFunctionalityRequest( organization_id=organization_id, functionality=FunctionalityProto(type=functionality_type, version=version), ) res: empty_pb2.Empty = client.plan_client.CheckFunctionality( request=req, metadata=client.metadata ) return res