"""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",
]