Integration#

class nominal.core.Integration(rid: str, name: str, description: str | None, created_at: IntegralNanosecondsUTC, details: IntegrationDetails)#

Bases: HasRid, RefreshableGrpcMixin[Integration]

Reusable notification destination.

Retrieve one with NominalClient.get_integration or create one with a client creation method.

Example

Create a destination using a client configured for the desired workspace:

from nominal.core import NominalClient

client = NominalClient.from_profile("default")
integration = client.create_webhook_integration(
    "Test alerts", "https://example.com/alerts"
)
integration.update(description="Checklist notifications")
rid: str#
name: str#
description: str | None#
created_at: IntegralNanosecondsUTC#
details: IntegrationDetails#

Provider settings. Reading this field makes no request; refresh replaces its contents.

Example

from nominal.core import OpsgenieIntegrationDetails

if isinstance(integration.details, OpsgenieIntegrationDetails):
    print(integration.details.region)
delete() → None#

Delete this notification integration.

Deleted integrations cannot be restored through this API. The local snapshot remains unchanged.

refresh() → Self#
update(*, name: str | None = None, description: str | None = None) → Self#

Update the name or description in place.

Parameters:
  • name – New name, or None to leave it unchanged.

  • description – New description, or None to leave it unchanged. An empty string clears it.

Returns:

This instance with current metadata. If both arguments are None, calls refresh.