/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; export type HostnamePort = { /** * Hostname to scan */ hostname: string; /** * Port number to scan */ port: number; }; /** * Discovery scan against hostname:PORT */ export type Target2 = { hostnamePort: HostnamePort; }; export type HostPort = { /** * IP address to scan */ ip: string; /** * Port number to scan */ port: number; }; /** * Discovery scan against IP:PORT */ export type Target1 = { hostPort: HostPort; }; export type ScansDiscoveryInputBodyTarget = Target1 | Target2; export type ScansDiscoveryInputBody = { target: Target1 | Target2; }; /** @internal */ export type HostnamePort$Outbound = { hostname: string; port: number; }; /** @internal */ export const HostnamePort$outboundSchema: z.ZodType< HostnamePort$Outbound, z.ZodTypeDef, HostnamePort > = z.object({ hostname: z.string(), port: z.number().int(), }); export function hostnamePortToJSON(hostnamePort: HostnamePort): string { return JSON.stringify(HostnamePort$outboundSchema.parse(hostnamePort)); } /** @internal */ export type Target2$Outbound = { hostname_port: HostnamePort$Outbound; }; /** @internal */ export const Target2$outboundSchema: z.ZodType< Target2$Outbound, z.ZodTypeDef, Target2 > = z.object({ hostnamePort: z.lazy(() => HostnamePort$outboundSchema), }).transform((v) => { return remap$(v, { hostnamePort: "hostname_port", }); }); export function target2ToJSON(target2: Target2): string { return JSON.stringify(Target2$outboundSchema.parse(target2)); } /** @internal */ export type HostPort$Outbound = { ip: string; port: number; }; /** @internal */ export const HostPort$outboundSchema: z.ZodType< HostPort$Outbound, z.ZodTypeDef, HostPort > = z.object({ ip: z.string(), port: z.number().int(), }); export function hostPortToJSON(hostPort: HostPort): string { return JSON.stringify(HostPort$outboundSchema.parse(hostPort)); } /** @internal */ export type Target1$Outbound = { host_port: HostPort$Outbound; }; /** @internal */ export const Target1$outboundSchema: z.ZodType< Target1$Outbound, z.ZodTypeDef, Target1 > = z.object({ hostPort: z.lazy(() => HostPort$outboundSchema), }).transform((v) => { return remap$(v, { hostPort: "host_port", }); }); export function target1ToJSON(target1: Target1): string { return JSON.stringify(Target1$outboundSchema.parse(target1)); } /** @internal */ export type ScansDiscoveryInputBodyTarget$Outbound = | Target1$Outbound | Target2$Outbound; /** @internal */ export const ScansDiscoveryInputBodyTarget$outboundSchema: z.ZodType< ScansDiscoveryInputBodyTarget$Outbound, z.ZodTypeDef, ScansDiscoveryInputBodyTarget > = z.union([ z.lazy(() => Target1$outboundSchema), z.lazy(() => Target2$outboundSchema), ]); export function scansDiscoveryInputBodyTargetToJSON( scansDiscoveryInputBodyTarget: ScansDiscoveryInputBodyTarget, ): string { return JSON.stringify( ScansDiscoveryInputBodyTarget$outboundSchema.parse( scansDiscoveryInputBodyTarget, ), ); } /** @internal */ export type ScansDiscoveryInputBody$Outbound = { target: Target1$Outbound | Target2$Outbound; }; /** @internal */ export const ScansDiscoveryInputBody$outboundSchema: z.ZodType< ScansDiscoveryInputBody$Outbound, z.ZodTypeDef, ScansDiscoveryInputBody > = z.object({ target: z.union([ z.lazy(() => Target1$outboundSchema), z.lazy(() => Target2$outboundSchema), ]), }); export function scansDiscoveryInputBodyToJSON( scansDiscoveryInputBody: ScansDiscoveryInputBody, ): string { return JSON.stringify( ScansDiscoveryInputBody$outboundSchema.parse(scansDiscoveryInputBody), ); }