/* eslint-disable */ // @ts-nocheck /* * This file is a generated Typescript file for GRPC Gateway, DO NOT MODIFY */ import * as InsightIoApiTypeV1alpha1Page from "../../type/v1alpha1/page.pb" import * as InsightIoApiAlertV1alpha1Type from "./type.pb" type Absent = { [k in Exclude]?: undefined }; type OneOf = | { [k in keyof T]?: undefined } | ( keyof T extends infer K ? (K extends string & keyof T ? { [k in K]: T[K] } & Absent : never) : never); export enum ReceiverType { RECEIVER_TYPE_UNSPECIFIED = "RECEIVER_TYPE_UNSPECIFIED", webhook = "webhook", email = "email", dingtalk = "dingtalk", wecom = "wecom", sms = "sms", message = "message", lark = "lark", } export enum ProviderType { PROVIDER_TYPE_UNSPECIFIED = "PROVIDER_TYPE_UNSPECIFIED", aliyun = "aliyun", tencent = "tencent", custom = "custom", } type BaseReceiver = { name?: string type?: ReceiverType createAt?: string updateAt?: string description?: string } export type Receiver = BaseReceiver & OneOf<{ webhook: WebhookConfig; email: EmailConfig; wecom: WecomConfig; dingtalk: DingtalkConfig; sms: SmsConfig; message: MessageConfig; lark: LarkConfig }> export type WebhookConfig = { url?: string httpConfig?: HTTPConfig } export type WecomConfig = { webhook?: string } export type DingtalkConfig = { webhook?: string secret?: string } export type LarkConfig = { webhook?: string secret?: string } export type EmailConfig = { to?: string[] } export type SmsConfig = { contact?: SmsConfigContact[] provider?: string } export type SmsConfigContact = { name?: string phone?: string } export type MessageConfigUser = { name?: string userId?: string } export type MessageConfig = { users?: MessageConfigUser[] } export type ListReceiversRequest = { name?: string type?: ReceiverType page?: number pageSize?: number sorts?: string[] exactSearch?: boolean } export type GetReceiversRequest = { name?: string type?: ReceiverType } export type DeleteReceiversRequest = { name?: string } export type ReceiverDataResponse = { data?: Receiver } export type ListReceiverResponse = { items?: Receiver[] pagination?: InsightIoApiTypeV1alpha1Page.Pagination } export type HTTPConfig = { basicAuth?: BasicAuth bearerToken?: string tlsConfig?: SafeTLSConfig headers?: HTTPHeader[] } export type BasicAuth = { username?: string password?: string } export type HTTPHeader = { name?: string value?: string } export type SafeTLSConfig = { insecureSkipVerify?: boolean } export type ListTemplatesRequest = { name?: string page?: number pageSize?: number sorts?: string[] exactSearch?: boolean builtin?: boolean } export type ListTemplateSummaryResponse = { items?: TemplateSummary[] pagination?: InsightIoApiTypeV1alpha1Page.Pagination } export type ListTemplatesResponse = { items?: Template[] pagination?: InsightIoApiTypeV1alpha1Page.Pagination } export type TemplateSummary = { name?: string description?: string updateAt?: string builtin?: boolean } export type Template = { name?: string description?: string body?: TemplateBody builtin?: boolean createAt?: string updateAt?: string } export type TemplateName = { name?: string } export type CreateTemplateRequest = { name?: string description?: string body?: TemplateBody } export type TemplateBody = { email?: emailBody wecom?: string dingtalk?: string webhook?: string message?: string lark?: string } export type emailBody = { subject?: string body?: string } export type PreviewTemplateRequest = { body?: TemplateBody data?: InsightIoApiAlertV1alpha1Type.AMHookRequest } export type TemplateRenderStatus = { content?: string status?: boolean error?: string } export type PreviewTemplateResponse = { data?: {[key: string]: TemplateRenderStatus} } export type ProviderAliyunConfig = { signName?: string templateCode?: string accessKeyId?: string accessKeySecret?: string } export type ProviderTencentConfig = { templateId?: string smsSdkAppId?: string sign?: string secretId?: string secretKey?: string } export type ProviderCustomConfig = { } type BaseProvider = { name?: string type?: ProviderType template?: string createAt?: string updateAt?: string } export type Provider = BaseProvider & OneOf<{ aliyun: ProviderAliyunConfig; tencent: ProviderTencentConfig; custom: ProviderCustomConfig }> export type ListProvidersRequest = { name?: string page?: number pageSize?: number sorts?: string[] exactSearch?: boolean } export type ListProvidersResponse = { items?: Provider[] pagination?: InsightIoApiTypeV1alpha1Page.Pagination } export type GetProvidersRequest = { name?: string } export type DeleteProvidersRequest = { name?: string } export type ProviderDataResponse = { data?: Provider }