Source code for britecore_sdk.api.api_calls.v2.integrations

"""BriteCore V2 integrations API endpoint wrappers."""

from typing import Any, Unpack

from britecore_sdk.api.api_calls import (
    BritecoreAPIClient,
    RequestParameters,
    api_client,
)

API_CLIENT: BritecoreAPIClient = api_client

# --- Autogenerated spec wrappers ---


[docs] def get_installed_integrations( policy_type_id: str | None = None, integration_point_code: str | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Get Installed Integrations. POST /api/v2/integrations/get_installed_integrations """ request_json: dict[str, Any] = { "policy_type_id": policy_type_id, "integration_point_code": integration_point_code, } filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/integrations/get_installed_integrations", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/integrations/get_installed_integrations" )
[docs] def get_integration_dependencies( policy_type_id: str | None = None, include_optionals: bool | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Get Integration Dependencies. POST /api/v2/integrations/get_integration_dependencies """ request_json: dict[str, Any] = { "policy_type_id": policy_type_id, "include_optionals": include_optionals, } filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/integrations/get_integration_dependencies", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/integrations/get_integration_dependencies" )
[docs] def get_integration_dependencies_stored( integration_id: str | None = None, policy_type_id: str | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Get Integration Dependencies Stored. POST /api/v2/integrations/get_integration_dependencies_stored """ request_json: dict[str, Any] = { "integration_id": integration_id, "policy_type_id": policy_type_id, } filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/integrations/get_integration_dependencies_stored", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/integrations/get_integration_dependencies_stored", )
[docs] def get_policy_types_for_integration_instance( integration_instance_external_id: str | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Get Policy Types For Integration Instance. POST /api/v2/integrations/get_policy_types_for_integration_instance """ request_json: dict[str, Any] = { "integration_instance_external_id": integration_instance_external_id, } filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/integrations/get_policy_types_for_integration_instance", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/integrations/get_policy_types_for_integration_instance", )
[docs] def is_integration_point_installed( integration_point_code: str | None = None, policy_type_id: str | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Is Integration Point Installed. POST /api/v2/integrations/is_integration_point_installed """ request_json: dict[str, Any] = { "integration_point_code": integration_point_code, "policy_type_id": policy_type_id, } filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/integrations/is_integration_point_installed", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/integrations/is_integration_point_installed" )
[docs] def list_integration_points( None_: str | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """List Integration Points. POST /api/v2/integrations/list_integration_points """ request_json: dict[str, Any] = { "None": None_, } filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/integrations/list_integration_points", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/integrations/list_integration_points" )
[docs] def make_note( integration_instance_external_id: str | None = None, reference_id: str | None = None, contents: str | None = None, title: str | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Make Note. POST /api/v2/integrations/make_note """ request_json: dict[str, Any] = { "integration_instance_external_id": integration_instance_external_id, "reference_id": reference_id, "contents": contents, "title": title, } filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/integrations/make_note", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/integrations/make_note" )
[docs] def persist_file( file_data_base64: str | None = None, integration_instance_external_id: str | None = None, mime_type: str | None = None, title: str | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Persist File. POST /api/v2/integrations/persist_file """ request_json: dict[str, Any] = { "file_data_base64": file_data_base64, "integration_instance_external_id": integration_instance_external_id, "mime_type": mime_type, "title": title, } filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/integrations/persist_file", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/integrations/persist_file" )
[docs] def send_britecore_email( plain_body: str | None = None, reply_to_emails: list[str] | None = None, to_emails: list[str] | None = None, attachments: list[str] | None = None, integration_instance_external_id: str | None = None, cc_emails: list[str] | None = None, attachments_exceed_message: str | None = None, subject: str | None = None, html_body: str | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Send Britecore Email. POST /api/v2/integrations/send_britecore_email """ request_json: dict[str, Any] = { "plain_body": plain_body, "reply_to_emails": reply_to_emails, "to_emails": to_emails, "attachments": attachments, "integration_instance_external_id": integration_instance_external_id, "cc_emails": cc_emails, "attachments_exceed_message": attachments_exceed_message, "subject": subject, "html_body": html_body, } filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/integrations/send_britecore_email", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/integrations/send_britecore_email" )
[docs] def send_integration_alert_email( email_subject: str | None = None, integration_instance_external_id: str | None = None, email_body: str | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Send Integration Alert Email. POST /api/v2/integrations/send_integration_alert_email """ request_json: dict[str, Any] = { "email_subject": email_subject, "integration_instance_external_id": integration_instance_external_id, "email_body": email_body, } filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/integrations/send_integration_alert_email", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/integrations/send_integration_alert_email" )
[docs] def store_integration_dependencies( integration_id: str | None = None, policy_type_id: str | None = None, dependencies: list[str] | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Store Integration Dependencies. POST /api/v2/integrations/store_integration_dependencies """ request_json: dict[str, Any] = { "integration_id": integration_id, "policy_type_id": policy_type_id, "dependencies": dependencies, } filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/integrations/store_integration_dependencies", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/integrations/store_integration_dependencies" )
__all__ = [ "get_installed_integrations", "get_integration_dependencies", "get_integration_dependencies_stored", "get_policy_types_for_integration_instance", "is_integration_point_installed", "list_integration_points", "make_note", "persist_file", "send_britecore_email", "send_integration_alert_email", "store_integration_dependencies", ]