UNPKG

@vercel/sdk

Version:

<p align="center"> <a href="https://vercel.com"> <img src="https://assets.vercel.com/image/upload/v1588805858/repositories/vercel/logo.png" height="96"> <h3 align="center">Vercel</h3> </a> <p align="center">Develop. Preview. Ship.</p> </p>

1,199 lines 53.6 kB
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import * as z from "zod/v3";
import { remap as remap$ } from "../lib/primitives.js";
import { safeParse } from "../lib/schemas.js";
import * as types from "../types/primitives.js";
import { smartUnion } from "../types/smartUnion.js";
export const CreateDrainProjects = {
    Some: "some",
    All: "all",
};
export const FilterSources = {
    Build: "build",
    Edge: "edge",
    Lambda: "lambda",
    Static: "static",
    External: "external",
    Firewall: "firewall",
    Redirect: "redirect",
};
export const FilterEnvironments = {
    Production: "production",
    Preview: "preview",
};
export const CreateDrainDeliveryDrainsEncoding = {
    Json: "json",
    Ndjson: "ndjson",
};
export const DeliveryCompression = {
    None: "none",
};
export const FileStructure = {
    Hive: "hive",
};
export const ServerSideEncryption = {
    Aes256: "AES256",
    AwsKms: "aws:kms",
    AwsKmsDsse: "aws:kms:dsse",
};
export const ObjectAcl = {
    Private: "private",
    BucketOwnerRead: "bucket-owner-read",
    BucketOwnerFullControl: "bucket-owner-full-control",
};
export const CreateDrainDeliveryEncoding = {
    Proto: "proto",
    Json: "json",
};
export const Compression = {
    Gzip: "gzip",
    None: "none",
};
export const DeliveryEncoding = {
    Json: "json",
    Ndjson: "ndjson",
};
/**
 * Environment to apply sampling to
 */
export const CreateDrainEnv = {
    Production: "production",
    Preview: "preview",
};
export const CreateDrainResponseBodyDrainsStatus = {
    Disabled: "disabled",
    Enabled: "enabled",
    Errored: "errored",
};
export const ResponseBodyDisabledReason = {
    AccountPlanDowngrade: "account-plan-downgrade",
    DisabledByAdmin: "disabled-by-admin",
    DisabledByOwner: "disabled-by-owner",
    FeatureNotAvailable: "feature-not-available",
    LimitsExceeded: "limits-exceeded",
};
export const CreateDrainDeliveryTarget = {
    VercelOtelTracesDb: "vercel-otel-traces-db",
};
export const CreateDrainDeliveryDrainsResponse200ApplicationJSONResponseBody24Encoding = {
    Json: "json",
    Ndjson: "ndjson",
};
export const CreateDrainDeliveryDrainsResponse200Compression = {
    None: "none",
};
export const CreateDrainDeliveryFileStructure = {
    Hive: "hive",
};
export const CreateDrainDeliveryServerSideEncryption = {
    Aes256: "AES256",
    AwsKms: "aws:kms",
    AwsKmsDsse: "aws:kms:dsse",
};
export const CreateDrainDeliveryObjectAcl = {
    AuthenticatedRead: "authenticated-read",
    AwsExecRead: "aws-exec-read",
    BucketOwnerFullControl: "bucket-owner-full-control",
    BucketOwnerRead: "bucket-owner-read",
    Private: "private",
    PublicRead: "public-read",
    PublicReadWrite: "public-read-write",
};
export const CreateDrainDeliveryDrainsResponse200ApplicationJSONResponseBody2Encoding = {
    Json: "json",
    Proto: "proto",
};
export const CreateDrainSecretDrainsResponseKind = {
    IntegrationSecret: "INTEGRATION_SECRET",
};
export const CreateDrainDeliveryDrainsResponse200ApplicationJSONResponseBodyEncoding = {
    Json: "json",
    Ndjson: "ndjson",
};
export const CreateDrainDeliveryDrainsResponseCompression = {
    Gzip: "gzip",
    None: "none",
};
export const CreateDrainSecretDrainsKind = {
    IntegrationSecret: "INTEGRATION_SECRET",
};
export const CreateDrainResponseBodyDrainsType = {
    HeadSampling: "head_sampling",
};
export const CreateDrainResponseBodyEnv = {
    Preview: "preview",
    Production: "production",
};
export const CreateDrainResponseBodyDrainsVersion = {
    V2: "v2",
};
export const CreateDrainFilterDrainsSources = {
    Build: "build",
    Edge: "edge",
    External: "external",
    Firewall: "firewall",
    Lambda: "lambda",
    Redirect: "redirect",
    Static: "static",
};
export const CreateDrainFilterDrainsEnvironments = {
    Preview: "preview",
    Production: "production",
};
export const ProjectAccessManagedBy = {
    Drain: "drain",
    Integration: "integration",
};
export const ManagedBy = {
    Drain: "drain",
    Integration: "integration",
};
export const CreateDrainResponseBodyStatus = {
    Disabled: "disabled",
    Enabled: "enabled",
    Errored: "errored",
};
export const DisabledReason = {
    AccountPlanDowngrade: "account-plan-downgrade",
    DisabledByAdmin: "disabled-by-admin",
    DisabledByOwner: "disabled-by-owner",
    FeatureNotAvailable: "feature-not-available",
    LimitsExceeded: "limits-exceeded",
};
export const DeliveryTarget = {
    VercelOtelTracesDb: "vercel-otel-traces-db",
};
export const CreateDrainDeliveryDrainsResponse200ApplicationJSONEncoding = {
    Json: "json",
    Ndjson: "ndjson",
};
export const CreateDrainDeliveryDrainsCompression = {
    None: "none",
};
export const CreateDrainDeliveryDrainsFileStructure = {
    Hive: "hive",
};
export const CreateDrainDeliveryDrainsServerSideEncryption = {
    Aes256: "AES256",
    AwsKms: "aws:kms",
    AwsKmsDsse: "aws:kms:dsse",
};
export const CreateDrainDeliveryDrainsObjectAcl = {
    AuthenticatedRead: "authenticated-read",
    AwsExecRead: "aws-exec-read",
    BucketOwnerFullControl: "bucket-owner-full-control",
    BucketOwnerRead: "bucket-owner-read",
    Private: "private",
    PublicRead: "public-read",
    PublicReadWrite: "public-read-write",
};
export const CreateDrainDeliveryDrainsResponse200Encoding = {
    Json: "json",
    Proto: "proto",
};
export const CreateDrainSecretKind = {
    IntegrationSecret: "INTEGRATION_SECRET",
};
export const CreateDrainDeliveryDrainsResponseEncoding = {
    Json: "json",
    Ndjson: "ndjson",
};
export const CreateDrainDeliveryCompression = {
    Gzip: "gzip",
    None: "none",
};
export const SecretKind = {
    IntegrationSecret: "INTEGRATION_SECRET",
};
export const CreateDrainResponseBodyType = {
    HeadSampling: "head_sampling",
};
export const CreateDrainResponseBodyDrainsEnv = {
    Preview: "preview",
    Production: "production",
};
export const CreateDrainResponseBodyVersion = {
    V2: "v2",
};
export const CreateDrainFilterSources = {
    Build: "build",
    Edge: "edge",
    External: "external",
    Firewall: "firewall",
    Lambda: "lambda",
    Redirect: "redirect",
    Static: "static",
};
export const CreateDrainFilterEnvironments = {
    Preview: "preview",
    Production: "production",
};
/** @internal */
export const CreateDrainProjects$outboundSchema = z.nativeEnum(CreateDrainProjects);
/** @internal */
export const Filter2$outboundSchema = z.object({
    type: z.string(),
    text: z.string(),
});
export function filter2ToJSON(filter2) {
    return JSON.stringify(Filter2$outboundSchema.parse(filter2));
}
/** @internal */
export const FilterProject$outboundSchema = z.object({
    ids: z.array(z.string()).optional(),
});
export function filterProjectToJSON(filterProject) {
    return JSON.stringify(FilterProject$outboundSchema.parse(filterProject));
}
/** @internal */
export const FilterSources$outboundSchema = z.nativeEnum(FilterSources);
/** @internal */
export const Log$outboundSchema = z
    .object({
    sources: z.array(FilterSources$outboundSchema).optional(),
});
export function logToJSON(log) {
    return JSON.stringify(Log$outboundSchema.parse(log));
}
/** @internal */
export const FilterEnvironments$outboundSchema = z.nativeEnum(FilterEnvironments);
/** @internal */
export const CreateDrainFilterDeployment$outboundSchema = z.object({
    environments: z.array(FilterEnvironments$outboundSchema).optional(),
});
export function createDrainFilterDeploymentToJSON(createDrainFilterDeployment) {
    return JSON.stringify(CreateDrainFilterDeployment$outboundSchema.parse(createDrainFilterDeployment));
}
/** @internal */
export const Filter1$outboundSchema = z.object({
    type: z.string(),
    project: z.lazy(() => FilterProject$outboundSchema).optional(),
    log: z.lazy(() => Log$outboundSchema).optional(),
    deployment: z.lazy(() => CreateDrainFilterDeployment$outboundSchema)
        .optional(),
});
export function filter1ToJSON(filter1) {
    return JSON.stringify(Filter1$outboundSchema.parse(filter1));
}
/** @internal */
export const CreateDrainFilter$outboundSchema = smartUnion([
    z.lazy(() => Filter2$outboundSchema),
    z.lazy(() => Filter1$outboundSchema),
]);
export function createDrainFilterToJSON(createDrainFilter) {
    return JSON.stringify(CreateDrainFilter$outboundSchema.parse(createDrainFilter));
}
/** @internal */
export const Filter$outboundSchema = z.object({
    version: z.string(),
    filter: smartUnion([
        z.lazy(() => Filter2$outboundSchema),
        z.lazy(() => Filter1$outboundSchema),
    ]),
});
export function filterToJSON(filter) {
    return JSON.stringify(Filter$outboundSchema.parse(filter));
}
/** @internal */
export const Schemas$outboundSchema = z.object({
    version: z.string(),
});
export function schemasToJSON(schemas) {
    return JSON.stringify(Schemas$outboundSchema.parse(schemas));
}
/** @internal */
export const CreateDrainDeliveryDrainsEncoding$outboundSchema = z.nativeEnum(CreateDrainDeliveryDrainsEncoding);
/** @internal */
export const DeliveryCompression$outboundSchema = z.nativeEnum(DeliveryCompression);
/** @internal */
export const FileStructure$outboundSchema = z.nativeEnum(FileStructure);
/** @internal */
export const ServerSideEncryption$outboundSchema = z.nativeEnum(ServerSideEncryption);
/** @internal */
export const ObjectAcl$outboundSchema = z
    .nativeEnum(ObjectAcl);
/** @internal */
export const Delivery3$outboundSchema = z.object({
    type: z.string(),
    endpoint: z.string(),
    encoding: CreateDrainDeliveryDrainsEncoding$outboundSchema,
    compression: DeliveryCompression$outboundSchema,
    fileStructure: FileStructure$outboundSchema,
    roleArn: z.string(),
    region: z.string(),
    serverSideEncryption: ServerSideEncryption$outboundSchema.default("AES256"),
    objectAcl: ObjectAcl$outboundSchema.optional(),
});
export function delivery3ToJSON(delivery3) {
    return JSON.stringify(Delivery3$outboundSchema.parse(delivery3));
}
/** @internal */
export const Endpoint1$outboundSchema = z.object({
    traces: z.string(),
});
export function endpoint1ToJSON(endpoint1) {
    return JSON.stringify(Endpoint1$outboundSchema.parse(endpoint1));
}
/** @internal */
export const CreateDrainDeliveryEndpoint$outboundSchema = z.lazy(() => Endpoint1$outboundSchema);
export function createDrainDeliveryEndpointToJSON(createDrainDeliveryEndpoint) {
    return JSON.stringify(CreateDrainDeliveryEndpoint$outboundSchema.parse(createDrainDeliveryEndpoint));
}
/** @internal */
export const CreateDrainDeliveryEncoding$outboundSchema = z.nativeEnum(CreateDrainDeliveryEncoding);
/** @internal */
export const Delivery2$outboundSchema = z.object({
    type: z.string(),
    endpoint: z.lazy(() => Endpoint1$outboundSchema),
    encoding: CreateDrainDeliveryEncoding$outboundSchema,
    headers: z.record(z.string()),
    secret: z.string().optional(),
});
export function delivery2ToJSON(delivery2) {
    return JSON.stringify(Delivery2$outboundSchema.parse(delivery2));
}
/** @internal */
export const Compression$outboundSchema = z
    .nativeEnum(Compression);
/** @internal */
export const DeliveryEncoding$outboundSchema = z.nativeEnum(DeliveryEncoding);
/** @internal */
export const Delivery1$outboundSchema = z.object({
    type: z.string(),
    endpoint: z.string(),
    compression: Compression$outboundSchema.optional(),
    encoding: DeliveryEncoding$outboundSchema,
    headers: z.record(z.string()),
    secret: z.string().optional(),
});
export function delivery1ToJSON(delivery1) {
    return JSON.stringify(Delivery1$outboundSchema.parse(delivery1));
}
/** @internal */
export const Delivery$outboundSchema = smartUnion([
    z.lazy(() => Delivery3$outboundSchema),
    z.lazy(() => Delivery1$outboundSchema),
    z.lazy(() => Delivery2$outboundSchema),
]);
export function deliveryToJSON(delivery) {
    return JSON.stringify(Delivery$outboundSchema.parse(delivery));
}
/** @internal */
export const CreateDrainEnv$outboundSchema = z.nativeEnum(CreateDrainEnv);
/** @internal */
export const CreateDrainSampling$outboundSchema = z.object({
    type: z.string(),
    rate: z.number(),
    env: CreateDrainEnv$outboundSchema.optional(),
    requestPath: z.string().optional(),
});
export function createDrainSamplingToJSON(createDrainSampling) {
    return JSON.stringify(CreateDrainSampling$outboundSchema.parse(createDrainSampling));
}
/** @internal */
export const Transforms$outboundSchema = z.object({
    id: z.string(),
});
export function transformsToJSON(transforms) {
    return JSON.stringify(Transforms$outboundSchema.parse(transforms));
}
/** @internal */
export const CreateDrainSource2$outboundSchema = z.object({
    kind: z.string().default("self-served"),
});
export function createDrainSource2ToJSON(createDrainSource2) {
    return JSON.stringify(CreateDrainSource2$outboundSchema.parse(createDrainSource2));
}
/** @internal */
export const One3$outboundSchema = z.object({
    kind: z.string().default("integration"),
});
export function one3ToJSON(one3) {
    return JSON.stringify(One3$outboundSchema.parse(one3));
}
/** @internal */
export const One2$outboundSchema = z.object({
    kind: z.string().default("integration"),
    resourceId: z.string(),
});
export function one2ToJSON(one2) {
    return JSON.stringify(One2$outboundSchema.parse(one2));
}
/** @internal */
export const CreateDrain11$outboundSchema = z.object({
    kind: z.string().default("integration"),
    externalResourceId: z.string(),
});
export function createDrain11ToJSON(createDrain11) {
    return JSON.stringify(CreateDrain11$outboundSchema.parse(createDrain11));
}
/** @internal */
export const CreateDrainSource1$outboundSchema = smartUnion([
    z.lazy(() => CreateDrain11$outboundSchema),
    z.lazy(() => One2$outboundSchema),
    z.lazy(() => One3$outboundSchema),
]);
export function createDrainSource1ToJSON(createDrainSource1) {
    return JSON.stringify(CreateDrainSource1$outboundSchema.parse(createDrainSource1));
}
/** @internal */
export const CreateDrainSource$outboundSchema = smartUnion([
    smartUnion([
        z.lazy(() => CreateDrain11$outboundSchema),
        z.lazy(() => One2$outboundSchema),
        z.lazy(() => One3$outboundSchema),
    ]),
    z.lazy(() => CreateDrainSource2$outboundSchema),
]);
export function createDrainSourceToJSON(createDrainSource) {
    return JSON.stringify(CreateDrainSource$outboundSchema.parse(createDrainSource));
}
/** @internal */
export const CreateDrainRequestBody$outboundSchema = z.object({
    name: z.string(),
    projects: CreateDrainProjects$outboundSchema,
    projectIds: z.array(z.string()).optional(),
    filter: z.lazy(() => Filter$outboundSchema).optional(),
    schemas: z.record(z.lazy(() => Schemas$outboundSchema)),
    delivery: smartUnion([
        z.lazy(() => Delivery3$outboundSchema),
        z.lazy(() => Delivery1$outboundSchema),
        z.lazy(() => Delivery2$outboundSchema),
    ]).optional(),
    sampling: z.array(z.lazy(() => CreateDrainSampling$outboundSchema))
        .optional(),
    transforms: z.array(z.lazy(() => Transforms$outboundSchema)).optional(),
    source: smartUnion([
        smartUnion([
            z.lazy(() => CreateDrain11$outboundSchema),
            z.lazy(() => One2$outboundSchema),
            z.lazy(() => One3$outboundSchema),
        ]),
        z.lazy(() => CreateDrainSource2$outboundSchema),
    ]).optional(),
});
export function createDrainRequestBodyToJSON(createDrainRequestBody) {
    return JSON.stringify(CreateDrainRequestBody$outboundSchema.parse(createDrainRequestBody));
}
/** @internal */
export const CreateDrainRequest$outboundSchema = z.object({
    teamId: z.string().optional(),
    slug: z.string().optional(),
    requestBody: z.lazy(() => CreateDrainRequestBody$outboundSchema).optional(),
}).transform((v) => {
    return remap$(v, {
        requestBody: "RequestBody",
    });
});
export function createDrainRequestToJSON(createDrainRequest) {
    return JSON.stringify(CreateDrainRequest$outboundSchema.parse(createDrainRequest));
}
/** @internal */
export const CreateDrainResponseBodyDrainsStatus$inboundSchema = z.nativeEnum(CreateDrainResponseBodyDrainsStatus);
/** @internal */
export const ResponseBodyDisabledReason$inboundSchema = z.nativeEnum(ResponseBodyDisabledReason);
/** @internal */
export const CreateDrainResponseBodyLog$inboundSchema = z.object({});
export function createDrainResponseBodyLogFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainResponseBodyLog$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainResponseBodyLog' from JSON`);
}
/** @internal */
export const ResponseBodyTrace$inboundSchema = z.object({});
export function responseBodyTraceFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyTrace$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyTrace' from JSON`);
}
/** @internal */
export const CreateDrainResponseBodyDrainsAnalytics$inboundSchema = z.object({});
export function createDrainResponseBodyDrainsAnalyticsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainResponseBodyDrainsAnalytics$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainResponseBodyDrainsAnalytics' from JSON`);
}
/** @internal */
export const CreateDrainResponseBodyDrainsSpeedInsights$inboundSchema = z.object({});
export function createDrainResponseBodyDrainsSpeedInsightsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainResponseBodyDrainsSpeedInsights$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainResponseBodyDrainsSpeedInsights' from JSON`);
}
/** @internal */
export const ResponseBodyAiGateway$inboundSchema = z.object({});
export function responseBodyAiGatewayFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyAiGateway$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyAiGateway' from JSON`);
}
/** @internal */
export const ResponseBodyAuditLog$inboundSchema = z.object({});
export function responseBodyAuditLogFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyAuditLog$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyAuditLog' from JSON`);
}
/** @internal */
export const ResponseBodyConnect$inboundSchema = z.object({});
export function responseBodyConnectFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyConnect$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyConnect' from JSON`);
}
/** @internal */
export const CreateDrainResponseBodySchemas$inboundSchema = z.object({
    log: types.optional(z.lazy(() => CreateDrainResponseBodyLog$inboundSchema)),
    trace: types.optional(z.lazy(() => ResponseBodyTrace$inboundSchema)),
    analytics: types.optional(z.lazy(() => CreateDrainResponseBodyDrainsAnalytics$inboundSchema)),
    speed_insights: types.optional(z.lazy(() => CreateDrainResponseBodyDrainsSpeedInsights$inboundSchema)),
    ai_gateway: types.optional(z.lazy(() => ResponseBodyAiGateway$inboundSchema)),
    audit_log: types.optional(z.lazy(() => ResponseBodyAuditLog$inboundSchema)),
    connect: types.optional(z.lazy(() => ResponseBodyConnect$inboundSchema)),
}).transform((v) => {
    return remap$(v, {
        "speed_insights": "speedInsights",
        "ai_gateway": "aiGateway",
        "audit_log": "auditLog",
    });
});
export function createDrainResponseBodySchemasFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainResponseBodySchemas$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainResponseBodySchemas' from JSON`);
}
/** @internal */
export const CreateDrainDeliveryTarget$inboundSchema = z.nativeEnum(CreateDrainDeliveryTarget);
/** @internal */
export const CreateDrainDelivery5$inboundSchema = z.object({
    type: types.literal("internal"),
    target: CreateDrainDeliveryTarget$inboundSchema,
});
export function createDrainDelivery5FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainDelivery5$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainDelivery5' from JSON`);
}
/** @internal */
export const CreateDrainDeliveryDrainsResponse200ApplicationJSONResponseBody24Encoding$inboundSchema = z.nativeEnum(CreateDrainDeliveryDrainsResponse200ApplicationJSONResponseBody24Encoding);
/** @internal */
export const CreateDrainDeliveryDrainsResponse200Compression$inboundSchema = z
    .nativeEnum(CreateDrainDeliveryDrainsResponse200Compression);
/** @internal */
export const CreateDrainDeliveryFileStructure$inboundSchema = z.nativeEnum(CreateDrainDeliveryFileStructure);
/** @internal */
export const CreateDrainDeliveryServerSideEncryption$inboundSchema = z
    .nativeEnum(CreateDrainDeliveryServerSideEncryption);
/** @internal */
export const CreateDrainDeliveryObjectAcl$inboundSchema = z.nativeEnum(CreateDrainDeliveryObjectAcl);
/** @internal */
export const CreateDrainDelivery4$inboundSchema = z.object({
    type: types.literal("s3"),
    endpoint: types.string(),
    encoding: CreateDrainDeliveryDrainsResponse200ApplicationJSONResponseBody24Encoding$inboundSchema,
    compression: CreateDrainDeliveryDrainsResponse200Compression$inboundSchema,
    fileStructure: CreateDrainDeliveryFileStructure$inboundSchema,
    roleArn: types.string(),
    region: types.string(),
    serverSideEncryption: types.optional(CreateDrainDeliveryServerSideEncryption$inboundSchema),
    objectAcl: types.optional(CreateDrainDeliveryObjectAcl$inboundSchema),
});
export function createDrainDelivery4FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainDelivery4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainDelivery4' from JSON`);
}
/** @internal */
export const CreateDrainDeliveryDrains3$inboundSchema = z.object({
    type: types.literal("clickhouse"),
    endpoint: types.string(),
    table: types.string(),
});
export function createDrainDeliveryDrains3FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainDeliveryDrains3$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainDeliveryDrains3' from JSON`);
}
/** @internal */
export const CreateDrainDeliveryDrainsResponseEndpoint$inboundSchema = z.object({
    traces: types.string(),
});
export function createDrainDeliveryDrainsResponseEndpointFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainDeliveryDrainsResponseEndpoint$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainDeliveryDrainsResponseEndpoint' from JSON`);
}
/** @internal */
export const CreateDrainDeliveryDrainsResponse200ApplicationJSONResponseBody2Encoding$inboundSchema = z.nativeEnum(CreateDrainDeliveryDrainsResponse200ApplicationJSONResponseBody2Encoding);
/** @internal */
export const CreateDrainSecretDrainsResponseKind$inboundSchema = z.nativeEnum(CreateDrainSecretDrainsResponseKind);
/** @internal */
export const CreateDrainSecretDrainsResponse2$inboundSchema = z.object({
    kind: CreateDrainSecretDrainsResponseKind$inboundSchema,
});
export function createDrainSecretDrainsResponse2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainSecretDrainsResponse2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainSecretDrainsResponse2' from JSON`);
}
/** @internal */
export const CreateDrainDeliveryDrainsSecret$inboundSchema = smartUnion([
    z.lazy(() => CreateDrainSecretDrainsResponse2$inboundSchema),
    types.string(),
]);
export function createDrainDeliveryDrainsSecretFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainDeliveryDrainsSecret$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainDeliveryDrainsSecret' from JSON`);
}
/** @internal */
export const CreateDrainDeliveryDrains2$inboundSchema = z.object({
    type: types.literal("otlphttp"),
    endpoint: z.lazy(() => CreateDrainDeliveryDrainsResponseEndpoint$inboundSchema),
    encoding: CreateDrainDeliveryDrainsResponse200ApplicationJSONResponseBody2Encoding$inboundSchema,
    headers: z.record(types.string()),
    secret: types.optional(smartUnion([
        z.lazy(() => CreateDrainSecretDrainsResponse2$inboundSchema),
        types.string(),
    ])),
});
export function createDrainDeliveryDrains2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainDeliveryDrains2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainDeliveryDrains2' from JSON`);
}
/** @internal */
export const CreateDrainDeliveryDrainsResponse200ApplicationJSONResponseBodyEncoding$inboundSchema = z.nativeEnum(CreateDrainDeliveryDrainsResponse200ApplicationJSONResponseBodyEncoding);
/** @internal */
export const CreateDrainDeliveryDrainsResponseCompression$inboundSchema = z
    .nativeEnum(CreateDrainDeliveryDrainsResponseCompression);
/** @internal */
export const CreateDrainSecretDrainsKind$inboundSchema = z.nativeEnum(CreateDrainSecretDrainsKind);
/** @internal */
export const CreateDrainSecretDrains2$inboundSchema = z.object({
    kind: CreateDrainSecretDrainsKind$inboundSchema,
});
export function createDrainSecretDrains2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainSecretDrains2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainSecretDrains2' from JSON`);
}
/** @internal */
export const CreateDrainDeliverySecret$inboundSchema = smartUnion([
    z.lazy(() => CreateDrainSecretDrains2$inboundSchema),
    types.string(),
]);
export function createDrainDeliverySecretFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainDeliverySecret$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainDeliverySecret' from JSON`);
}
/** @internal */
export const CreateDrainDeliveryDrains1$inboundSchema = z.object({
    type: types.literal("http"),
    endpoint: types.string(),
    encoding: CreateDrainDeliveryDrainsResponse200ApplicationJSONResponseBodyEncoding$inboundSchema,
    compression: types.optional(CreateDrainDeliveryDrainsResponseCompression$inboundSchema),
    headers: z.record(types.string()),
    secret: types.optional(smartUnion([
        z.lazy(() => CreateDrainSecretDrains2$inboundSchema),
        types.string(),
    ])),
});
export function createDrainDeliveryDrains1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainDeliveryDrains1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainDeliveryDrains1' from JSON`);
}
/** @internal */
export const CreateDrainResponseBodyDelivery$inboundSchema = z.union([
    z.lazy(() => CreateDrainDeliveryDrains1$inboundSchema),
    z.lazy(() => CreateDrainDeliveryDrains2$inboundSchema),
    z.lazy(() => CreateDrainDeliveryDrains3$inboundSchema),
    z.lazy(() => CreateDrainDelivery4$inboundSchema),
    z.lazy(() => CreateDrainDelivery5$inboundSchema),
]);
export function createDrainResponseBodyDeliveryFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainResponseBodyDelivery$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainResponseBodyDelivery' from JSON`);
}
/** @internal */
export const CreateDrainResponseBodyDrainsType$inboundSchema = z.nativeEnum(CreateDrainResponseBodyDrainsType);
/** @internal */
export const CreateDrainResponseBodyEnv$inboundSchema = z.nativeEnum(CreateDrainResponseBodyEnv);
/** @internal */
export const CreateDrainResponseBodySampling$inboundSchema = z.object({
    type: CreateDrainResponseBodyDrainsType$inboundSchema,
    rate: types.number(),
    env: types.optional(CreateDrainResponseBodyEnv$inboundSchema),
    requestPath: types.optional(types.string()),
});
export function createDrainResponseBodySamplingFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainResponseBodySampling$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainResponseBodySampling' from JSON`);
}
/** @internal */
export const CreateDrainSourceDrainsResponse2$inboundSchema = z.object({
    kind: types.literal("integration"),
    resourceId: types.optional(types.string()),
    externalResourceId: types.optional(types.string()),
    integrationId: types.string(),
    integrationConfigurationId: types.string(),
});
export function createDrainSourceDrainsResponse2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainSourceDrainsResponse2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainSourceDrainsResponse2' from JSON`);
}
/** @internal */
export const CreateDrainSourceDrainsResponse1$inboundSchema = z.object({
    kind: types.literal("self-served"),
});
export function createDrainSourceDrainsResponse1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainSourceDrainsResponse1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainSourceDrainsResponse1' from JSON`);
}
/** @internal */
export const CreateDrainResponseBodyDrainsSource$inboundSchema = z.union([
    z.lazy(() => CreateDrainSourceDrainsResponse1$inboundSchema),
    z.lazy(() => CreateDrainSourceDrainsResponse2$inboundSchema),
]);
export function createDrainResponseBodyDrainsSourceFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainResponseBodyDrainsSource$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainResponseBodyDrainsSource' from JSON`);
}
/** @internal */
export const CreateDrainResponseBodyDrainsVersion$inboundSchema = z.nativeEnum(CreateDrainResponseBodyDrainsVersion);
/** @internal */
export const CreateDrainFilterDrains2$inboundSchema = z.object({
    type: types.literal("odata"),
    text: types.string(),
});
export function createDrainFilterDrains2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainFilterDrains2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainFilterDrains2' from JSON`);
}
/** @internal */
export const CreateDrainFilterDrainsProject$inboundSchema = z.object({
    ids: types.optional(z.array(types.string())),
});
export function createDrainFilterDrainsProjectFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainFilterDrainsProject$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainFilterDrainsProject' from JSON`);
}
/** @internal */
export const CreateDrainFilterDrainsSources$inboundSchema = z.nativeEnum(CreateDrainFilterDrainsSources);
/** @internal */
export const CreateDrainFilterLog$inboundSchema = z.object({
    sources: types.optional(z.array(CreateDrainFilterDrainsSources$inboundSchema)),
    legacy_excludeCachedStaticAssetLogs: types.optional(types.boolean()),
}).transform((v) => {
    return remap$(v, {
        "legacy_excludeCachedStaticAssetLogs": "legacyExcludeCachedStaticAssetLogs",
    });
});
export function createDrainFilterLogFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainFilterLog$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainFilterLog' from JSON`);
}
/** @internal */
export const CreateDrainFilterDrainsEnvironments$inboundSchema = z.nativeEnum(CreateDrainFilterDrainsEnvironments);
/** @internal */
export const CreateDrainFilterDrainsResponseDeployment$inboundSchema = z.object({
    environments: types.optional(z.array(CreateDrainFilterDrainsEnvironments$inboundSchema)),
});
export function createDrainFilterDrainsResponseDeploymentFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainFilterDrainsResponseDeployment$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainFilterDrainsResponseDeployment' from JSON`);
}
/** @internal */
export const CreateDrainFilterDrains1$inboundSchema = z.object({
    type: types.literal("basic"),
    project: types.optional(z.lazy(() => CreateDrainFilterDrainsProject$inboundSchema)),
    log: types.optional(z.lazy(() => CreateDrainFilterLog$inboundSchema)),
    deployment: types.optional(z.lazy(() => CreateDrainFilterDrainsResponseDeployment$inboundSchema)),
});
export function createDrainFilterDrains1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainFilterDrains1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainFilterDrains1' from JSON`);
}
/** @internal */
export const CreateDrainResponseBodyFilter$inboundSchema = z.union([
    z.lazy(() => CreateDrainFilterDrains1$inboundSchema),
    z.lazy(() => CreateDrainFilterDrains2$inboundSchema),
]);
export function createDrainResponseBodyFilterFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainResponseBodyFilter$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainResponseBodyFilter' from JSON`);
}
/** @internal */
export const ResponseBodyFilterV2$inboundSchema = z.object({
    version: CreateDrainResponseBodyDrainsVersion$inboundSchema,
    filter: z.union([
        z.lazy(() => CreateDrainFilterDrains1$inboundSchema),
        z.lazy(() => CreateDrainFilterDrains2$inboundSchema),
    ]),
});
export function responseBodyFilterV2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyFilterV2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyFilterV2' from JSON`);
}
/** @internal */
export const ProjectAccessManagedBy$inboundSchema = z.nativeEnum(ProjectAccessManagedBy);
/** @internal */
export const ProjectAccess2$inboundSchema = z.object({
    access: types.literal("some"),
    projectIds: z.array(types.string()),
    managedBy: ProjectAccessManagedBy$inboundSchema,
});
export function projectAccess2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => ProjectAccess2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ProjectAccess2' from JSON`);
}
/** @internal */
export const ManagedBy$inboundSchema = z
    .nativeEnum(ManagedBy);
/** @internal */
export const ProjectAccess1$inboundSchema = z.object({
    access: types.literal("all"),
    managedBy: ManagedBy$inboundSchema,
});
export function projectAccess1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => ProjectAccess1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ProjectAccess1' from JSON`);
}
/** @internal */
export const ProjectAccess$inboundSchema = z.union([
    z.lazy(() => ProjectAccess1$inboundSchema),
    z.lazy(() => ProjectAccess2$inboundSchema),
]);
export function projectAccessFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ProjectAccess$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ProjectAccess' from JSON`);
}
/** @internal */
export const CreateDrainResponseBody2$inboundSchema = z.object({
    id: types.string(),
    createdAt: types.number(),
    updatedAt: types.number(),
    projectIds: types.optional(z.array(types.string())),
    name: types.string(),
    teamId: z.nullable(types.string()).optional(),
    ownerId: types.string(),
    status: types.optional(CreateDrainResponseBodyDrainsStatus$inboundSchema),
    firstErrorTimestamp: types.optional(types.number()),
    disabledAt: types.optional(types.number()),
    disabledBy: types.optional(types.string()),
    disabledReason: types.optional(ResponseBodyDisabledReason$inboundSchema),
    schemas: z.lazy(() => CreateDrainResponseBodySchemas$inboundSchema),
    delivery: z.union([
        z.lazy(() => CreateDrainDeliveryDrains1$inboundSchema),
        z.lazy(() => CreateDrainDeliveryDrains2$inboundSchema),
        z.lazy(() => CreateDrainDeliveryDrains3$inboundSchema),
        z.lazy(() => CreateDrainDelivery4$inboundSchema),
        z.lazy(() => CreateDrainDelivery5$inboundSchema),
    ]),
    sampling: types.optional(z.array(z.lazy(() => CreateDrainResponseBodySampling$inboundSchema))),
    source: z.union([
        z.lazy(() => CreateDrainSourceDrainsResponse1$inboundSchema),
        z.lazy(() => CreateDrainSourceDrainsResponse2$inboundSchema),
    ]),
    filterV2: types.optional(z.lazy(() => ResponseBodyFilterV2$inboundSchema)),
    integrationIcon: types.optional(types.string()),
    integrationConfigurationUri: types.optional(types.string()),
    integrationWebsite: types.optional(types.string()),
    projectAccess: types.optional(z.union([
        z.lazy(() => ProjectAccess1$inboundSchema),
        z.lazy(() => ProjectAccess2$inboundSchema),
    ])),
});
export function createDrainResponseBody2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainResponseBody2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainResponseBody2' from JSON`);
}
/** @internal */
export const CreateDrainResponseBodyStatus$inboundSchema = z.nativeEnum(CreateDrainResponseBodyStatus);
/** @internal */
export const DisabledReason$inboundSchema = z.nativeEnum(DisabledReason);
/** @internal */
export const ResponseBodyLog$inboundSchema = z.object({});
export function responseBodyLogFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyLog$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyLog' from JSON`);
}
/** @internal */
export const CreateDrainResponseBodyTrace$inboundSchema = z.object({});
export function createDrainResponseBodyTraceFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainResponseBodyTrace$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainResponseBodyTrace' from JSON`);
}
/** @internal */
export const CreateDrainResponseBodyAnalytics$inboundSchema = z.object({});
export function createDrainResponseBodyAnalyticsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainResponseBodyAnalytics$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainResponseBodyAnalytics' from JSON`);
}
/** @internal */
export const CreateDrainResponseBodySpeedInsights$inboundSchema = z.object({});
export function createDrainResponseBodySpeedInsightsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainResponseBodySpeedInsights$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainResponseBodySpeedInsights' from JSON`);
}
/** @internal */
export const AiGateway$inboundSchema = z.object({});
export function aiGatewayFromJSON(jsonString) {
    return safeParse(jsonString, (x) => AiGateway$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AiGateway' from JSON`);
}
/** @internal */
export const AuditLog$inboundSchema = z.object({});
export function auditLogFromJSON(jsonString) {
    return safeParse(jsonString, (x) => AuditLog$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AuditLog' from JSON`);
}
/** @internal */
export const CreateDrainResponseBodyConnect$inboundSchema = z.object({});
export function createDrainResponseBodyConnectFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainResponseBodyConnect$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainResponseBodyConnect' from JSON`);
}
/** @internal */
export const ResponseBodySchemas$inboundSchema = z.object({
    log: types.optional(z.lazy(() => ResponseBodyLog$inboundSchema)),
    trace: types.optional(z.lazy(() => CreateDrainResponseBodyTrace$inboundSchema)),
    analytics: types.optional(z.lazy(() => CreateDrainResponseBodyAnalytics$inboundSchema)),
    speed_insights: types.optional(z.lazy(() => CreateDrainResponseBodySpeedInsights$inboundSchema)),
    ai_gateway: types.optional(z.lazy(() => AiGateway$inboundSchema)),
    audit_log: types.optional(z.lazy(() => AuditLog$inboundSchema)),
    connect: types.optional(z.lazy(() => CreateDrainResponseBodyConnect$inboundSchema)),
}).transform((v) => {
    return remap$(v, {
        "speed_insights": "speedInsights",
        "ai_gateway": "aiGateway",
        "audit_log": "auditLog",
    });
});
export function responseBodySchemasFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodySchemas$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodySchemas' from JSON`);
}
/** @internal */
export const DeliveryTarget$inboundSchema = z.nativeEnum(DeliveryTarget);
/** @internal */
export const Delivery5$inboundSchema = z.object({
    type: types.literal("internal"),
    target: DeliveryTarget$inboundSchema,
});
export function delivery5FromJSON(jsonString) {
    return safeParse(jsonString, (x) => Delivery5$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Delivery5' from JSON`);
}
/** @internal */
export const CreateDrainDeliveryDrainsResponse200ApplicationJSONEncoding$inboundSchema = z.nativeEnum(CreateDrainDeliveryDrainsResponse200ApplicationJSONEncoding);
/** @internal */
export const CreateDrainDeliveryDrainsCompression$inboundSchema = z.nativeEnum(CreateDrainDeliveryDrainsCompression);
/** @internal */
export const CreateDrainDeliveryDrainsFileStructure$inboundSchema = z.nativeEnum(CreateDrainDeliveryDrainsFileStructure);
/** @internal */
export const CreateDrainDeliveryDrainsServerSideEncryption$inboundSchema = z
    .nativeEnum(CreateDrainDeliveryDrainsServerSideEncryption);
/** @internal */
export const CreateDrainDeliveryDrainsObjectAcl$inboundSchema = z.nativeEnum(CreateDrainDeliveryDrainsObjectAcl);
/** @internal */
export const Delivery4$inboundSchema = z.object({
    type: types.literal("s3"),
    endpoint: types.string(),
    encoding: CreateDrainDeliveryDrainsResponse200ApplicationJSONEncoding$inboundSchema,
    compression: CreateDrainDeliveryDrainsCompression$inboundSchema,
    fileStructure: CreateDrainDeliveryDrainsFileStructure$inboundSchema,
    roleArn: types.string(),
    region: types.string(),
    serverSideEncryption: types.optional(CreateDrainDeliveryDrainsServerSideEncryption$inboundSchema),
    objectAcl: types.optional(CreateDrainDeliveryDrainsObjectAcl$inboundSchema),
});
export function delivery4FromJSON(jsonString) {
    return safeParse(jsonString, (x) => Delivery4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Delivery4' from JSON`);
}
/** @internal */
export const CreateDrainDelivery3$inboundSchema = z.object({
    type: types.literal("clickhouse"),
    endpoint: types.string(),
    table: types.string(),
});
export function createDrainDelivery3FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainDelivery3$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainDelivery3' from JSON`);
}
/** @internal */
export const CreateDrainDeliveryDrainsEndpoint$inboundSchema = z.object({
    traces: types.string(),
});
export function createDrainDeliveryDrainsEndpointFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainDeliveryDrainsEndpoint$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainDeliveryDrainsEndpoint' from JSON`);
}
/** @internal */
export const CreateDrainDeliveryDrainsResponse200Encoding$inboundSchema = z
    .nativeEnum(CreateDrainDeliveryDrainsResponse200Encoding);
/** @internal */
export const CreateDrainSecretKind$inboundSchema = z.nativeEnum(CreateDrainSecretKind);
/** @internal */
export const CreateDrainSecret2$inboundSchema = z.object({
    kind: CreateDrainSecretKind$inboundSchema,
});
export function createDrainSecret2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainSecret2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainSecret2' from JSON`);
}
/** @internal */
export const DeliverySecret$inboundSchema = smartUnion([
    z.lazy(() => CreateDrainSecret2$inboundSchema),
    types.string(),
]);
export function deliverySecretFromJSON(jsonString) {
    return safeParse(jsonString, (x) => DeliverySecret$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'DeliverySecret' from JSON`);
}
/** @internal */
export const CreateDrainDelivery2$inboundSchema = z.object({
    type: types.literal("otlphttp"),
    endpoint: z.lazy(() => CreateDrainDeliveryDrainsEndpoint$inboundSchema),
    encoding: CreateDrainDeliveryDrainsResponse200Encoding$inboundSchema,
    headers: z.record(types.string()),
    secret: types.optional(smartUnion([
        z.lazy(() => CreateDrainSecret2$inboundSchema),
        types.string(),
    ])),
});
export function createDrainDelivery2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainDelivery2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainDelivery2' from JSON`);
}
/** @internal */
export const CreateDrainDeliveryDrainsResponseEncoding$inboundSchema = z
    .nativeEnum(CreateDrainDeliveryDrainsResponseEncoding);
/** @internal */
export const CreateDrainDeliveryCompression$inboundSchema = z.nativeEnum(CreateDrainDeliveryCompression);
/** @internal */
export const SecretKind$inboundSchema = z
    .nativeEnum(SecretKind);
/** @internal */
export const Secret2$inboundSchema = z.object({
    kind: SecretKind$inboundSchema,
});
export function secret2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => Secret2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Secret2' from JSON`);
}
/** @internal */
export const Secret$inboundSchema = smartUnion([z.lazy(() => Secret2$inboundSchema), types.string()]);
export function secretFromJSON(jsonString) {
    return safeParse(jsonString, (x) => Secret$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Secret' from JSON`);
}
/** @internal */
export const CreateDrainDelivery1$inboundSchema = z.object({
    type: types.literal("http"),
    endpoint: types.string(),
    encoding: CreateDrainDeliveryDrainsResponseEncoding$inboundSchema,
    compression: types.optional(CreateDrainDeliveryCompression$inboundSchema),
    headers: z.record(types.string()),
    secret: types.optional(smartUnion([z.lazy(() => Secret2$inboundSchema), types.string()])),
});
export function createDrainDelivery1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainDelivery1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainDelivery1' from JSON`);
}
/** @internal */
export const ResponseBodyDelivery$inboundSchema = z.union([
    z.lazy(() => CreateDrainDelivery1$inboundSchema),
    z.lazy(() => CreateDrainDelivery2$inboundSchema),
    z.lazy(() => CreateDrainDelivery3$inboundSchema),
    z.lazy(() => Delivery4$inboundSchema),
    z.lazy(() => Delivery5$inboundSchema),
]);
export function responseBodyDeliveryFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyDelivery$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyDelivery' from JSON`);
}
/** @internal */
export const CreateDrainResponseBodyType$inboundSchema = z.nativeEnum(CreateDrainResponseBodyType);
/** @internal */
export const CreateDrainResponseBodyDrainsEnv$inboundSchema = z.nativeEnum(CreateDrainResponseBodyDrainsEnv);
/** @internal */
export const ResponseBodySampling$inboundSchema = z.object({
    type: CreateDrainResponseBodyType$inboundSchema,
    rate: types.number(),
    env: types.optional(CreateDrainResponseBodyDrainsEnv$inboundSchema),
    requestPath: types.optional(types.string()),
});
export function responseBodySamplingFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodySampling$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodySampling' from JSON`);
}
/** @internal */
export const CreateDrainSourceDrains2$inboundSchema = z.object({
    kind: types.literal("integration"),
    resourceId: types.optional(types.string()),
    externalResourceId: types.optional(types.string()),
    integrationId: types.string(),
    integrationConfigurationId: types.string(),
});
export function createDrainSourceDrains2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainSourceDrains2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainSourceDrains2' from JSON`);
}
/** @internal */
export const CreateDrainSourceDrains1$inboundSchema = z.object({
    kind: types.literal("self-served"),
});
export function createDrainSourceDrains1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainSourceDrains1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainSourceDrains1' from JSON`);
}
/** @internal */
export const CreateDrainResponseBodySource$inboundSchema = z.union([
    z.lazy(() => CreateDrainSourceDrains1$inboundSchema),
    z.lazy(() => CreateDrainSourceDrains2$inboundSchema),
]);
export function createDrainResponseBodySourceFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainResponseBodySource$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainResponseBodySource' from JSON`);
}
/** @internal */
export const CreateDrainResponseBodyVersion$inboundSchema = z.nativeEnum(CreateDrainResponseBodyVersion);
/** @internal */
export const CreateDrainFilter2$inboundSchema = z.object({
    type: types.literal("odata"),
    text: types.string(),
});
export function createDrainFilter2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainFilter2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainFilter2' from JSON`);
}
/** @internal */
export const CreateDrainFilterProject$inboundSchema = z.object({
    ids: types.optional(z.array(types.string())),
});
export function createDrainFilterProjectFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainFilterProject$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainFilterProject' from JSON`);
}
/** @internal */
export const CreateDrainFilterSources$inboundSchema = z.nativeEnum(CreateDrainFilterSources);
/** @internal */
export const CreateDrainFilterDrainsLog$inboundSchema = z.object({
    sources: types.optional(z.array(CreateDrainFilterSources$inboundSchema)),
    legacy_excludeCachedStaticAssetLogs: types.optional(types.boolean()),
}).transform((v) => {
    return remap$(v, {
        "legacy_excludeCachedStaticAssetLogs": "legacyExcludeCachedStaticAssetLogs",
    });
});
export function createDrainFilterDrainsLogFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainFilterDrainsLog$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainFilterDrainsLog' from JSON`);
}
/** @internal */
export const CreateDrainFilterEnvironments$inboundSchema = z.nativeEnum(CreateDrainFilterEnvironments);
/** @internal */
export const CreateDrainFilterDrainsDeployment$inboundSchema = z.object({
    environments: types.optional(z.array(CreateDrainFilterEnvironments$inboundSchema)),
});
export function createDrainFilterDrainsDeploymentFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainFilterDrainsDeployment$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainFilterDrainsDeployment' from JSON`);
}
/** @internal */
export const CreateDrainFilter1$inboundSchema = z.object({
    type: types.literal("basic"),
    project: types.optional(z.lazy(() => CreateDrainFilterProject$inboundSchema)),
    log: types.optional(z.lazy(() => CreateDrainFilterDrainsLog$inboundSchema)),
    deployment: types.optional(z.lazy(() => CreateDrainFilterDrainsDeployment$inboundSchema)),
});
export function createDrainFilter1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainFilter1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainFilter1' from JSON`);
}
/** @internal */
export const ResponseBodyFilter$inboundSchema = z.union([
    z.lazy(() => CreateDrainFilter1$inboundSchema),
    z.lazy(() => CreateDrainFilter2$inboundSchema),
]);
export function responseBodyFilterFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyFilter$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyFilter' from JSON`);
}
/** @internal */
export const FilterV2$inboundSchema = z.object({
    version: CreateDrainResponseBodyVersion$inboundSchema,
    filter: z.union([
        z.lazy(() => CreateDrainFilter1$inboundSchema),
        z.lazy(() => CreateDrainFilter2$inboundSchema),
    ]),
});
export function filterV2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => FilterV2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'FilterV2' from JSON`);
}
/** @internal */
export const CreateDrainResponseBody1$inboundSchema = z.object({
    id: types.string(),
    createdAt: types.number(),
    updatedAt: types.number(),
    projectIds: types.optional(z.array(types.string())),
    name: types.string(),
    teamId: z.nullable(types.string()).optional(),
    ownerId: types.string(),
    status: types.optional(CreateDrainResponseBodyStatus$inboundSchema),
    firstErrorTimestamp: types.optional(types.number()),
    disabledAt: types.optional(types.number()),
    disabledBy: types.optional(types.string()),
    disabledReason: types.optional(DisabledReason$inboundSchema),
    schemas: z.lazy(() => ResponseBodySchemas$inboundSchema),
    delivery: z.union([
        z.lazy(() => CreateDrainDelivery1$inboundSchema),
        z.lazy(() => CreateDrainDelivery2$inboundSchema),
        z.lazy(() => CreateDrainDelivery3$inboundSchema),
        z.lazy(() => Delivery4$inboundSchema),
        z.lazy(() => Delivery5$inboundSchema),
    ]),
    sampling: types.optional(z.array(z.lazy(() => ResponseBodySampling$inboundSchema))),
    source: z.union([
        z.lazy(() => CreateDrainSourceDrains1$inboundSchema),
        z.lazy(() => CreateDrainSourceDrains2$inboundSchema),
    ]),
    filterV2: types.optional(z.lazy(() => FilterV2$inboundSchema)),
});
export function createDrainResponseBody1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainResponseBody1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainResponseBody1' from JSON`);
}
/** @internal */
export const CreateDrainResponseBody$inboundSchema = smartUnion([
    z.lazy(() => CreateDrainResponseBody1$inboundSchema),
    z.lazy(() => CreateDrainResponseBody2$inboundSchema),
]);
export function createDrainResponseBodyFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateDrainResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateDrainResponseBody' from JSON`);
}
//# sourceMappingURL=createdrainop.js.map