/* * 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 { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { ShellNetworkPolicyDomainSecret, ShellNetworkPolicyDomainSecret$inboundSchema, ShellNetworkPolicyDomainSecret$Outbound, ShellNetworkPolicyDomainSecret$outboundSchema, } from "./shellnetworkpolicydomainsecret.js"; export type ShellNetworkPolicy = { type: "allowlist"; /** * Domains permitted for outbound network access. */ allowedDomains?: Array | undefined; /** * Secrets injected per domain. */ domainSecrets?: Array | undefined; }; /** @internal */ export const ShellNetworkPolicy$inboundSchema: z.ZodType< ShellNetworkPolicy, z.ZodTypeDef, unknown > = z.object({ type: z.literal("allowlist"), allowed_domains: z.array(z.string()).optional(), domain_secrets: z.array(ShellNetworkPolicyDomainSecret$inboundSchema) .optional(), }).transform((v) => { return remap$(v, { "allowed_domains": "allowedDomains", "domain_secrets": "domainSecrets", }); }); /** @internal */ export type ShellNetworkPolicy$Outbound = { type: "allowlist"; allowed_domains?: Array | undefined; domain_secrets?: Array | undefined; }; /** @internal */ export const ShellNetworkPolicy$outboundSchema: z.ZodType< ShellNetworkPolicy$Outbound, z.ZodTypeDef, ShellNetworkPolicy > = z.object({ type: z.literal("allowlist"), allowedDomains: z.array(z.string()).optional(), domainSecrets: z.array(ShellNetworkPolicyDomainSecret$outboundSchema) .optional(), }).transform((v) => { return remap$(v, { allowedDomains: "allowed_domains", domainSecrets: "domain_secrets", }); }); export function shellNetworkPolicyToJSON( shellNetworkPolicy: ShellNetworkPolicy, ): string { return JSON.stringify( ShellNetworkPolicy$outboundSchema.parse(shellNetworkPolicy), ); } export function shellNetworkPolicyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ShellNetworkPolicy$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ShellNetworkPolicy' from JSON`, ); }