Integration#

class nominal.core.Integration(rid, name, description, created_at, details)#

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()#

Delete this notification integration.

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

refresh()#
Return type:

Self

update(*, name=None, description=None)#

Update the name or description in place.

Parameters:
  • name (str | None)

    New name, or None to leave it unchanged.

  • description (str | None)

    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.

Return type:

Self