/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import * as z from "zod";
import { ClosedEnum } from "../types/enums.js";
import {
NullableAuthorEntity,
NullableAuthorEntity$zodSchema,
} from "./nullableauthorentity.js";
import {
NullableSignalsAPITargetEntity,
NullableSignalsAPITargetEntity$zodSchema,
} from "./nullablesignalsapitargetentity.js";
import {
NullableSuccinctEntity,
NullableSuccinctEntity$zodSchema,
} from "./nullablesuccinctentity.js";
export const NotificationPriorityOverride = {
High: "HIGH",
Medium: "MEDIUM",
Low: "LOW",
Unknown: "",
} as const;
export type NotificationPriorityOverride = ClosedEnum<
typeof NotificationPriorityOverride
>;
export const NotificationPriorityOverride$zodSchema = z.enum([
"HIGH",
"MEDIUM",
"LOW",
"",
]);
export const CreateIncidentConditionWhen = {
WhenUnspecified: "WHEN_UNSPECIFIED",
WhenAlways: "WHEN_ALWAYS",
} as const;
export type CreateIncidentConditionWhen = ClosedEnum<
typeof CreateIncidentConditionWhen
>;
export const CreateIncidentConditionWhen$zodSchema = z.enum([
"WHEN_UNSPECIFIED",
"WHEN_ALWAYS",
]);
/**
* Signals_API_RuleEntity model
*/
export type NullableSignalsAPIRuleEntity = {
id?: string | null | undefined;
name?: string | null | undefined;
expression?: string | null | undefined;
team_id?: string | null | undefined;
target?: NullableSignalsAPITargetEntity | null | undefined;
created_by?: NullableAuthorEntity | null | undefined;
created_at?: string | null | undefined;
updated_at?: string | null | undefined;
incident_type?: NullableSuccinctEntity | null | undefined;
notification_priority_override?:
| NotificationPriorityOverride
| null
| undefined;
create_incident_condition_when?:
| CreateIncidentConditionWhen
| null
| undefined;
deduplication_expiry?: string | null | undefined;
};
export const NullableSignalsAPIRuleEntity$zodSchema: z.ZodType<
NullableSignalsAPIRuleEntity
> = z.object({
create_incident_condition_when: CreateIncidentConditionWhen$zodSchema
.nullable().optional(),
created_at: z.iso.datetime({ offset: true }).nullable().optional(),
created_by: NullableAuthorEntity$zodSchema.nullable().optional(),
deduplication_expiry: z.string().nullable().optional(),
expression: z.string().nullable().optional(),
id: z.string().nullable().optional(),
incident_type: NullableSuccinctEntity$zodSchema.nullable().optional(),
name: z.string().nullable().optional(),
notification_priority_override: NotificationPriorityOverride$zodSchema
.nullable().optional(),
target: NullableSignalsAPITargetEntity$zodSchema.nullable().optional(),
team_id: z.string().nullable().optional(),
updated_at: z.iso.datetime({ offset: true }).nullable().optional(),
}).describe("Signals_API_RuleEntity model");