// @generated by protoc-gen-es v2.11.0 with parameter "target=ts,import_extension=ts" // @generated from file openstatus/notification/v1/providers.proto (package openstatus.notification.v1, syntax proto3) /* eslint-disable */ import type { GenEnum, GenFile, GenMessage, } from "@bufbuild/protobuf/codegenv2"; import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; import { file_buf_validate_validate } from "../../../buf/validate/validate_pb.ts"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file openstatus/notification/v1/providers.proto. */ export const file_openstatus_notification_v1_providers: GenFile = /*@__PURE__*/ fileDesc( "CipvcGVuc3RhdHVzL25vdGlmaWNhdGlvbi92MS9wcm92aWRlcnMucHJvdG8SGm9wZW5zdGF0dXMubm90aWZpY2F0aW9uLnYxIiwKC0Rpc2NvcmREYXRhEh0KC3dlYmhvb2tfdXJsGAEgASgJQgi6SAVyA4gBASIjCglFbWFpbERhdGESFgoFZW1haWwYASABKAlCB7pIBHICYAEiLwoOR29vZ2xlQ2hhdERhdGESHQoLd2ViaG9va191cmwYASABKAlCCLpIBXIDiAEBIjIKEUdyYWZhbmFPbmNhbGxEYXRhEh0KC3dlYmhvb2tfdXJsGAEgASgJQgi6SAVyA4gBASJUCghOdGZ5RGF0YRIWCgV0b3BpYxgBIAEoCUIHukgEcgIQARISCgpzZXJ2ZXJfdXJsGAIgASgJEhIKBXRva2VuGAMgASgJSACIAQFCCAoGX3Rva2VuIjEKDVBhZ2VyRHV0eURhdGESIAoPaW50ZWdyYXRpb25fa2V5GAEgASgJQge6SARyAhABIm4KDE9wc2dlbmllRGF0YRIYCgdhcGlfa2V5GAEgASgJQge6SARyAhABEkQKBnJlZ2lvbhgCIAEoDjIqLm9wZW5zdGF0dXMubm90aWZpY2F0aW9uLnYxLk9wc2dlbmllUmVnaW9uQgi6SAWCAQIQASIqCglTbGFja0RhdGESHQoLd2ViaG9va191cmwYASABKAlCCLpIBXIDiAEBIigKB1Ntc0RhdGESHQoMcGhvbmVfbnVtYmVyGAEgASgJQge6SARyAhABIigKDFRlbGVncmFtRGF0YRIYCgdjaGF0X2lkGAEgASgJQge6SARyAhABIjQKDVdlYmhvb2tIZWFkZXISFAoDa2V5GAEgASgJQge6SARyAhABEg0KBXZhbHVlGAIgASgJImUKC1dlYmhvb2tEYXRhEhoKCGVuZHBvaW50GAEgASgJQgi6SAVyA4gBARI6CgdoZWFkZXJzGAIgAygLMikub3BlbnN0YXR1cy5ub3RpZmljYXRpb24udjEuV2ViaG9va0hlYWRlciItCgxXaGF0c2FwcERhdGESHQoMcGhvbmVfbnVtYmVyGAEgASgJQge6SARyAhABIvIFChBOb3RpZmljYXRpb25EYXRhEjoKB2Rpc2NvcmQYASABKAsyJy5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5EaXNjb3JkRGF0YUgAEjYKBWVtYWlsGAIgASgLMiUub3BlbnN0YXR1cy5ub3RpZmljYXRpb24udjEuRW1haWxEYXRhSAASQQoLZ29vZ2xlX2NoYXQYAyABKAsyKi5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5Hb29nbGVDaGF0RGF0YUgAEkcKDmdyYWZhbmFfb25jYWxsGAQgASgLMi0ub3BlbnN0YXR1cy5ub3RpZmljYXRpb24udjEuR3JhZmFuYU9uY2FsbERhdGFIABI0CgRudGZ5GAUgASgLMiQub3BlbnN0YXR1cy5ub3RpZmljYXRpb24udjEuTnRmeURhdGFIABI+CglwYWdlcmR1dHkYBiABKAsyKS5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5QYWdlckR1dHlEYXRhSAASPAoIb3BzZ2VuaWUYByABKAsyKC5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5PcHNnZW5pZURhdGFIABI2CgVzbGFjaxgIIAEoCzIlLm9wZW5zdGF0dXMubm90aWZpY2F0aW9uLnYxLlNsYWNrRGF0YUgAEjIKA3NtcxgJIAEoCzIjLm9wZW5zdGF0dXMubm90aWZpY2F0aW9uLnYxLlNtc0RhdGFIABI8Cgh0ZWxlZ3JhbRgKIAEoCzIoLm9wZW5zdGF0dXMubm90aWZpY2F0aW9uLnYxLlRlbGVncmFtRGF0YUgAEjoKB3dlYmhvb2sYCyABKAsyJy5vcGVuc3RhdHVzLm5vdGlmaWNhdGlvbi52MS5XZWJob29rRGF0YUgAEjwKCHdoYXRzYXBwGAwgASgLMigub3BlbnN0YXR1cy5ub3RpZmljYXRpb24udjEuV2hhdHNhcHBEYXRhSABCBgoEZGF0YSrmAwoUTm90aWZpY2F0aW9uUHJvdmlkZXISJQohTk9USUZJQ0FUSU9OX1BST1ZJREVSX1VOU1BFQ0lGSUVEEAASIQodTk9USUZJQ0FUSU9OX1BST1ZJREVSX0RJU0NPUkQQARIfChtOT1RJRklDQVRJT05fUFJPVklERVJfRU1BSUwQAhIlCiFOT1RJRklDQVRJT05fUFJPVklERVJfR09PR0xFX0NIQVQQAxIoCiROT1RJRklDQVRJT05fUFJPVklERVJfR1JBRkFOQV9PTkNBTEwQBBIeChpOT1RJRklDQVRJT05fUFJPVklERVJfTlRGWRAFEiMKH05PVElGSUNBVElPTl9QUk9WSURFUl9QQUdFUkRVVFkQBhIiCh5OT1RJRklDQVRJT05fUFJPVklERVJfT1BTR0VOSUUQBxIfChtOT1RJRklDQVRJT05fUFJPVklERVJfU0xBQ0sQCBIdChlOT1RJRklDQVRJT05fUFJPVklERVJfU01TEAkSIgoeTk9USUZJQ0FUSU9OX1BST1ZJREVSX1RFTEVHUkFNEAoSIQodTk9USUZJQ0FUSU9OX1BST1ZJREVSX1dFQkhPT0sQCxIiCh5OT1RJRklDQVRJT05fUFJPVklERVJfV0hBVFNBUFAQDCphCg5PcHNnZW5pZVJlZ2lvbhIfChtPUFNHRU5JRV9SRUdJT05fVU5TUEVDSUZJRUQQABIWChJPUFNHRU5JRV9SRUdJT05fVVMQARIWChJPUFNHRU5JRV9SRUdJT05fRVUQAkJdWltnaXRodWIuY29tL29wZW5zdGF0dXNocS9vcGVuc3RhdHVzL3BhY2thZ2VzL3Byb3RvL29wZW5zdGF0dXMvbm90aWZpY2F0aW9uL3YxO25vdGlmaWNhdGlvbnYxYgZwcm90bzM", [file_buf_validate_validate], ); /** * DiscordData contains configuration for Discord notifications. * * @generated from message openstatus.notification.v1.DiscordData */ export type DiscordData = Message<"openstatus.notification.v1.DiscordData"> & { /** * Discord webhook URL. * * @generated from field: string webhook_url = 1; */ webhookUrl: string; }; /** * Describes the message openstatus.notification.v1.DiscordData. * Use `create(DiscordDataSchema)` to create a new message. */ export const DiscordDataSchema: GenMessage = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_providers, 0); /** * EmailData contains configuration for email notifications. * * @generated from message openstatus.notification.v1.EmailData */ export type EmailData = Message<"openstatus.notification.v1.EmailData"> & { /** * Email address to send notifications to. * * @generated from field: string email = 1; */ email: string; }; /** * Describes the message openstatus.notification.v1.EmailData. * Use `create(EmailDataSchema)` to create a new message. */ export const EmailDataSchema: GenMessage = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_providers, 1); /** * GoogleChatData contains configuration for Google Chat notifications. * * @generated from message openstatus.notification.v1.GoogleChatData */ export type GoogleChatData = & Message<"openstatus.notification.v1.GoogleChatData"> & { /** * Google Chat webhook URL. * * @generated from field: string webhook_url = 1; */ webhookUrl: string; }; /** * Describes the message openstatus.notification.v1.GoogleChatData. * Use `create(GoogleChatDataSchema)` to create a new message. */ export const GoogleChatDataSchema: GenMessage = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_providers, 2); /** * GrafanaOncallData contains configuration for Grafana OnCall notifications. * * @generated from message openstatus.notification.v1.GrafanaOncallData */ export type GrafanaOncallData = & Message<"openstatus.notification.v1.GrafanaOncallData"> & { /** * Grafana OnCall webhook URL. * * @generated from field: string webhook_url = 1; */ webhookUrl: string; }; /** * Describes the message openstatus.notification.v1.GrafanaOncallData. * Use `create(GrafanaOncallDataSchema)` to create a new message. */ export const GrafanaOncallDataSchema: GenMessage< GrafanaOncallData > = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_providers, 3); /** * NtfyData contains configuration for Ntfy notifications. * * @generated from message openstatus.notification.v1.NtfyData */ export type NtfyData = Message<"openstatus.notification.v1.NtfyData"> & { /** * Ntfy topic to publish to. * * @generated from field: string topic = 1; */ topic: string; /** * Ntfy server URL (defaults to https://ntfy.sh). * * @generated from field: string server_url = 2; */ serverUrl: string; /** * Optional authentication token. * * @generated from field: optional string token = 3; */ token?: string; }; /** * Describes the message openstatus.notification.v1.NtfyData. * Use `create(NtfyDataSchema)` to create a new message. */ export const NtfyDataSchema: GenMessage = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_providers, 4); /** * PagerDutyData contains configuration for PagerDuty notifications. * * @generated from message openstatus.notification.v1.PagerDutyData */ export type PagerDutyData = & Message<"openstatus.notification.v1.PagerDutyData"> & { /** * PagerDuty integration key. * * @generated from field: string integration_key = 1; */ integrationKey: string; }; /** * Describes the message openstatus.notification.v1.PagerDutyData. * Use `create(PagerDutyDataSchema)` to create a new message. */ export const PagerDutyDataSchema: GenMessage = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_providers, 5); /** * OpsgenieData contains configuration for Opsgenie notifications. * * @generated from message openstatus.notification.v1.OpsgenieData */ export type OpsgenieData = & Message<"openstatus.notification.v1.OpsgenieData"> & { /** * Opsgenie API key. * * @generated from field: string api_key = 1; */ apiKey: string; /** * Opsgenie region. * * @generated from field: openstatus.notification.v1.OpsgenieRegion region = 2; */ region: OpsgenieRegion; }; /** * Describes the message openstatus.notification.v1.OpsgenieData. * Use `create(OpsgenieDataSchema)` to create a new message. */ export const OpsgenieDataSchema: GenMessage = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_providers, 6); /** * SlackData contains configuration for Slack notifications. * * @generated from message openstatus.notification.v1.SlackData */ export type SlackData = Message<"openstatus.notification.v1.SlackData"> & { /** * Slack webhook URL. * * @generated from field: string webhook_url = 1; */ webhookUrl: string; }; /** * Describes the message openstatus.notification.v1.SlackData. * Use `create(SlackDataSchema)` to create a new message. */ export const SlackDataSchema: GenMessage = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_providers, 7); /** * SmsData contains configuration for SMS notifications. * * @generated from message openstatus.notification.v1.SmsData */ export type SmsData = Message<"openstatus.notification.v1.SmsData"> & { /** * Phone number to send SMS to. * * @generated from field: string phone_number = 1; */ phoneNumber: string; }; /** * Describes the message openstatus.notification.v1.SmsData. * Use `create(SmsDataSchema)` to create a new message. */ export const SmsDataSchema: GenMessage = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_providers, 8); /** * TelegramData contains configuration for Telegram notifications. * * @generated from message openstatus.notification.v1.TelegramData */ export type TelegramData = & Message<"openstatus.notification.v1.TelegramData"> & { /** * Telegram chat ID. * * @generated from field: string chat_id = 1; */ chatId: string; }; /** * Describes the message openstatus.notification.v1.TelegramData. * Use `create(TelegramDataSchema)` to create a new message. */ export const TelegramDataSchema: GenMessage = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_providers, 9); /** * WebhookHeader represents a custom header for webhook requests. * * @generated from message openstatus.notification.v1.WebhookHeader */ export type WebhookHeader = & Message<"openstatus.notification.v1.WebhookHeader"> & { /** * Header name. * * @generated from field: string key = 1; */ key: string; /** * Header value. * * @generated from field: string value = 2; */ value: string; }; /** * Describes the message openstatus.notification.v1.WebhookHeader. * Use `create(WebhookHeaderSchema)` to create a new message. */ export const WebhookHeaderSchema: GenMessage = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_providers, 10); /** * WebhookData contains configuration for custom webhook notifications. * * @generated from message openstatus.notification.v1.WebhookData */ export type WebhookData = Message<"openstatus.notification.v1.WebhookData"> & { /** * Webhook endpoint URL. * * @generated from field: string endpoint = 1; */ endpoint: string; /** * Optional custom headers. * * @generated from field: repeated openstatus.notification.v1.WebhookHeader headers = 2; */ headers: WebhookHeader[]; }; /** * Describes the message openstatus.notification.v1.WebhookData. * Use `create(WebhookDataSchema)` to create a new message. */ export const WebhookDataSchema: GenMessage = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_providers, 11); /** * WhatsappData contains configuration for WhatsApp notifications. * * @generated from message openstatus.notification.v1.WhatsappData */ export type WhatsappData = & Message<"openstatus.notification.v1.WhatsappData"> & { /** * Phone number to send WhatsApp messages to. * * @generated from field: string phone_number = 1; */ phoneNumber: string; }; /** * Describes the message openstatus.notification.v1.WhatsappData. * Use `create(WhatsappDataSchema)` to create a new message. */ export const WhatsappDataSchema: GenMessage = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_providers, 12); /** * NotificationData is a union of provider-specific configuration. * * @generated from message openstatus.notification.v1.NotificationData */ export type NotificationData = & Message<"openstatus.notification.v1.NotificationData"> & { /** * @generated from oneof openstatus.notification.v1.NotificationData.data */ data: { /** * Discord configuration. * * @generated from field: openstatus.notification.v1.DiscordData discord = 1; */ value: DiscordData; case: "discord"; } | { /** * Email configuration. * * @generated from field: openstatus.notification.v1.EmailData email = 2; */ value: EmailData; case: "email"; } | { /** * Google Chat configuration. * * @generated from field: openstatus.notification.v1.GoogleChatData google_chat = 3; */ value: GoogleChatData; case: "googleChat"; } | { /** * Grafana OnCall configuration. * * @generated from field: openstatus.notification.v1.GrafanaOncallData grafana_oncall = 4; */ value: GrafanaOncallData; case: "grafanaOncall"; } | { /** * Ntfy configuration. * * @generated from field: openstatus.notification.v1.NtfyData ntfy = 5; */ value: NtfyData; case: "ntfy"; } | { /** * PagerDuty configuration. * * @generated from field: openstatus.notification.v1.PagerDutyData pagerduty = 6; */ value: PagerDutyData; case: "pagerduty"; } | { /** * Opsgenie configuration. * * @generated from field: openstatus.notification.v1.OpsgenieData opsgenie = 7; */ value: OpsgenieData; case: "opsgenie"; } | { /** * Slack configuration. * * @generated from field: openstatus.notification.v1.SlackData slack = 8; */ value: SlackData; case: "slack"; } | { /** * SMS configuration. * * @generated from field: openstatus.notification.v1.SmsData sms = 9; */ value: SmsData; case: "sms"; } | { /** * Telegram configuration. * * @generated from field: openstatus.notification.v1.TelegramData telegram = 10; */ value: TelegramData; case: "telegram"; } | { /** * Webhook configuration. * * @generated from field: openstatus.notification.v1.WebhookData webhook = 11; */ value: WebhookData; case: "webhook"; } | { /** * WhatsApp configuration. * * @generated from field: openstatus.notification.v1.WhatsappData whatsapp = 12; */ value: WhatsappData; case: "whatsapp"; } | { case: undefined; value?: undefined }; }; /** * Describes the message openstatus.notification.v1.NotificationData. * Use `create(NotificationDataSchema)` to create a new message. */ export const NotificationDataSchema: GenMessage< NotificationData > = /*@__PURE__*/ messageDesc(file_openstatus_notification_v1_providers, 13); /** * NotificationProvider represents the supported notification channel types. * * @generated from enum openstatus.notification.v1.NotificationProvider */ export enum NotificationProvider { /** * Unspecified provider. * * @generated from enum value: NOTIFICATION_PROVIDER_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * Discord webhook. * * @generated from enum value: NOTIFICATION_PROVIDER_DISCORD = 1; */ DISCORD = 1, /** * Email notification. * * @generated from enum value: NOTIFICATION_PROVIDER_EMAIL = 2; */ EMAIL = 2, /** * Google Chat webhook. * * @generated from enum value: NOTIFICATION_PROVIDER_GOOGLE_CHAT = 3; */ GOOGLE_CHAT = 3, /** * Grafana OnCall webhook. * * @generated from enum value: NOTIFICATION_PROVIDER_GRAFANA_ONCALL = 4; */ GRAFANA_ONCALL = 4, /** * Ntfy notification service. * * @generated from enum value: NOTIFICATION_PROVIDER_NTFY = 5; */ NTFY = 5, /** * PagerDuty integration. * * @generated from enum value: NOTIFICATION_PROVIDER_PAGERDUTY = 6; */ PAGERDUTY = 6, /** * Opsgenie integration. * * @generated from enum value: NOTIFICATION_PROVIDER_OPSGENIE = 7; */ OPSGENIE = 7, /** * Slack webhook. * * @generated from enum value: NOTIFICATION_PROVIDER_SLACK = 8; */ SLACK = 8, /** * SMS notification. * * @generated from enum value: NOTIFICATION_PROVIDER_SMS = 9; */ SMS = 9, /** * Telegram bot. * * @generated from enum value: NOTIFICATION_PROVIDER_TELEGRAM = 10; */ TELEGRAM = 10, /** * Custom webhook. * * @generated from enum value: NOTIFICATION_PROVIDER_WEBHOOK = 11; */ WEBHOOK = 11, /** * WhatsApp notification. * * @generated from enum value: NOTIFICATION_PROVIDER_WHATSAPP = 12; */ WHATSAPP = 12, } /** * Describes the enum openstatus.notification.v1.NotificationProvider. */ export const NotificationProviderSchema: GenEnum< NotificationProvider > = /*@__PURE__*/ enumDesc(file_openstatus_notification_v1_providers, 0); /** * OpsgenieRegion represents the Opsgenie API region. * * @generated from enum openstatus.notification.v1.OpsgenieRegion */ export enum OpsgenieRegion { /** * Unspecified region. * * @generated from enum value: OPSGENIE_REGION_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * US region. * * @generated from enum value: OPSGENIE_REGION_US = 1; */ US = 1, /** * EU region. * * @generated from enum value: OPSGENIE_REGION_EU = 2; */ EU = 2, } /** * Describes the enum openstatus.notification.v1.OpsgenieRegion. */ export const OpsgenieRegionSchema: GenEnum = /*@__PURE__*/ enumDesc(file_openstatus_notification_v1_providers, 1);