/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import * as z from "zod";
/**
* Key:value pairs to track custom data for the incident
*/
export type CreateIncidentLabels = {};
export const CreateIncidentLabels$zodSchema: z.ZodType<CreateIncidentLabels> = z
.object({}).describe("Key:value pairs to track custom data for the incident");
export type Impact = { type: string; id: string; condition_id: string };
export const Impact$zodSchema: z.ZodType<Impact> = z.object({
condition_id: z.string(),
id: z.string(),
type: z.string(),
});
export type Milestone = { type: string; occurred_at: string };
export const Milestone$zodSchema: z.ZodType<Milestone> = z.object({
occurred_at: z.iso.datetime({ offset: true }),
type: z.string(),
});
export type CustomField = {
field_id: string;
value_string?: string | null | undefined;
value_array?: Array<string> | null | undefined;
};
export const CustomField$zodSchema: z.ZodType<CustomField> = z.object({
field_id: z.string(),
value_array: z.array(z.string()).nullable().optional(),
value_string: z.string().nullable().optional(),
});
/**
* Create a new incident
*/
export type CreateIncident = {
name: string;
summary?: string | null | undefined;
customer_impact_summary?: string | null | undefined;
description?: string | null | undefined;
priority?: string | null | undefined;
severity?: string | null | undefined;
severity_condition_id?: string | null | undefined;
severity_impact_id?: string | null | undefined;
alert_ids?: Array<string> | null | undefined;
labels?: CreateIncidentLabels | null | undefined;
runbook_ids?: Array<string> | null | undefined;
tag_list?: Array<string> | null | undefined;
impacts?: Array<Impact> | null | undefined;
milestones?: Array<Milestone> | null | undefined;
restricted?: boolean | null | undefined;
team_ids?: Array<string> | null | undefined;
custom_fields?: Array<CustomField> | null | undefined;
external_links?: string | null | undefined;
incident_type_id?: string | null | undefined;
skip_incident_type_values?: boolean | null | undefined;
};
export const CreateIncident$zodSchema: z.ZodType<CreateIncident> = z.object({
alert_ids: z.array(z.string()).nullable().optional(),
custom_fields: z.array(z.lazy(() => CustomField$zodSchema)).nullable()
.optional(),
customer_impact_summary: z.string().nullable().optional(),
description: z.string().nullable().optional(),
external_links: z.string().nullable().optional(),
impacts: z.array(z.lazy(() => Impact$zodSchema)).nullable().optional(),
incident_type_id: z.string().nullable().optional(),
labels: z.lazy(() => CreateIncidentLabels$zodSchema).nullable().optional(),
milestones: z.array(z.lazy(() => Milestone$zodSchema)).nullable().optional(),
name: z.string(),
priority: z.string().nullable().optional(),
restricted: z.boolean().nullable().optional(),
runbook_ids: z.array(z.string()).nullable().optional(),
severity: z.string().nullable().optional(),
severity_condition_id: z.string().nullable().optional(),
severity_impact_id: z.string().nullable().optional(),
skip_incident_type_values: z.boolean().default(false).nullable(),
summary: z.string().nullable().optional(),
tag_list: z.array(z.string()).nullable().optional(),
team_ids: z.array(z.string()).nullable().optional(),
}).describe("Create a new incident");