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>

3,383 lines 117 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 { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import * as types from "../types/primitives.js";
import { smartUnion } from "../types/smartUnion.js";
import { SDKValidationError } from "./sdkvalidationerror.js";

export type CreateSecurityFirewallConfigByConfigVersionActivateRequest = {
  /**
   * The deployed configVersion for the firewall configuration
   */
  configVersion: string;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSdAction =
  {
    Deny: "deny",
    Log: "log",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSdAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSdAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateSd = {
  active: boolean;
  action:
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSdAction;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityAction =
  {
    Deny: "deny",
    Log: "log",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateMa = {
  active: boolean;
  action: CreateSecurityFirewallConfigByConfigVersionActivateSecurityAction;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponseAction =
  {
    Deny: "deny",
    Log: "log",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponseAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponseAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateLfi = {
  active: boolean;
  action:
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponseAction;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200Action =
  {
    Deny: "deny",
    Log: "log",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200Action =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200Action
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateRfi = {
  active: boolean;
  action:
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200Action;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONAction =
  {
    Deny: "deny",
    Log: "log",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateRce = {
  active: boolean;
  action:
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONAction;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyAction =
  {
    Deny: "deny",
    Log: "log",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivatePhp = {
  active: boolean;
  action:
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyAction;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsAction =
  {
    Deny: "deny",
    Log: "log",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateGen = {
  active: boolean;
  action:
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsAction;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsXssAction =
  {
    Deny: "deny",
    Log: "log",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsXssAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsXssAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateXss = {
  active: boolean;
  action:
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsXssAction;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSqliAction =
  {
    Deny: "deny",
    Log: "log",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSqliAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSqliAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateSqli = {
  active: boolean;
  action:
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSqliAction;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSfAction =
  {
    Deny: "deny",
    Log: "log",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSfAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSfAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateSf = {
  active: boolean;
  action:
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSfAction;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsJavaAction =
  {
    Deny: "deny",
    Log: "log",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsJavaAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsJavaAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateJava = {
  active: boolean;
  action:
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsJavaAction;
};

export type CreateSecurityFirewallConfigByConfigVersionActivateCrs = {
  sd: CreateSecurityFirewallConfigByConfigVersionActivateSd;
  ma: CreateSecurityFirewallConfigByConfigVersionActivateMa;
  lfi: CreateSecurityFirewallConfigByConfigVersionActivateLfi;
  rfi: CreateSecurityFirewallConfigByConfigVersionActivateRfi;
  rce: CreateSecurityFirewallConfigByConfigVersionActivateRce;
  php: CreateSecurityFirewallConfigByConfigVersionActivatePhp;
  gen: CreateSecurityFirewallConfigByConfigVersionActivateGen;
  xss: CreateSecurityFirewallConfigByConfigVersionActivateXss;
  sqli: CreateSecurityFirewallConfigByConfigVersionActivateSqli;
  sf: CreateSecurityFirewallConfigByConfigVersionActivateSf;
  java: CreateSecurityFirewallConfigByConfigVersionActivateJava;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityType =
  {
    BotCategory: "bot_category",
    BotName: "bot_name",
    BotProtection: "bot_protection",
    BotStatus: "bot_status",
    Cookie: "cookie",
    DomainEnvironment: "domain_environment",
    Environment: "environment",
    GeoAsNumber: "geo_as_number",
    GeoCity: "geo_city",
    GeoContinent: "geo_continent",
    GeoCountry: "geo_country",
    GeoCountryRegion: "geo_country_region",
    Header: "header",
    Host: "host",
    IpAddress: "ip_address",
    Ja3Digest: "ja3_digest",
    Ja4Digest: "ja4_digest",
    Method: "method",
    Path: "path",
    Protocol: "protocol",
    Query: "query",
    RateLimitApiId: "rate_limit_api_id",
    RawPath: "raw_path",
    Region: "region",
    Route: "route",
    Ruleset: "ruleset",
    Scheme: "scheme",
    ServerAction: "server_action",
    SharedCondition: "shared_condition",
    TargetPath: "target_path",
    TrafficSource: "traffic_source",
    TrustedSource: "trusted_source",
    UserAgent: "user_agent",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityType =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityType
  >;

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityOp =
  {
    Eq: "eq",
    Ex: "ex",
    Gt: "gt",
    Gte: "gte",
    Inc: "inc",
    List: "list",
    Lt: "lt",
    Lte: "lte",
    Neq: "neq",
    Nex: "nex",
    Ninc: "ninc",
    Pre: "pre",
    Re: "re",
    Sub: "sub",
    Suf: "suf",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityOp =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityOp
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityValue =
  | string
  | number
  | Array<string>;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditions =
  {
    type: CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityType;
    op: CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityOp;
    neg?: boolean | undefined;
    key?: string | undefined;
    value?: string | number | Array<string> | undefined;
  };

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditionGroup =
  {
    conditions: Array<
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditions
    >;
  };

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponseAction =
  {
    Allow: "allow",
    Bypass: "bypass",
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
    RateLimit: "rate_limit",
    Redirect: "redirect",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponseAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponseAction
  >;

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityAlgo =
  {
    FixedWindow: "fixed_window",
    TokenBucket: "token_bucket",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityAlgo =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityAlgo
  >;

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200ApplicationJSONAction =
  {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
    RateLimit: "rate_limit",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200ApplicationJSONAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200ApplicationJSONAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityRateLimit =
  {
    algo: CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityAlgo;
    window: number;
    limit: number;
    keys: Array<string>;
    action?:
      | CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200ApplicationJSONAction
      | null
      | undefined;
  };

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityRedirect =
  {
    location: string;
    permanent: boolean;
  };

export const CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse200ApplicationJson2 =
  {
    Wildcard: "*",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse200ApplicationJson2 =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse200ApplicationJson2
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityLogHeaders =
  | Array<string>
  | CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse200ApplicationJson2;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityMitigate =
  {
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponseAction;
    rateLimit?:
      | CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityRateLimit
      | null
      | undefined;
    redirect?:
      | CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityRedirect
      | null
      | undefined;
    actionDuration?: string | null | undefined;
    bypassSystem?: boolean | null | undefined;
    logHeaders?:
      | Array<string>
      | CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse200ApplicationJson2
      | undefined;
  };

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityAction =
  {
    mitigate?:
      | CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityMitigate
      | undefined;
  };

export type CreateSecurityFirewallConfigByConfigVersionActivateRules2 = {
  id: string;
  name: string;
  description?: string | undefined;
  active: boolean;
  conditionGroup: Array<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditionGroup
  >;
  action:
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityAction;
  valid: false;
  validationErrors: Array<string>;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesType = {
  BotCategory: "bot_category",
  BotName: "bot_name",
  BotProtection: "bot_protection",
  BotStatus: "bot_status",
  Cookie: "cookie",
  DomainEnvironment: "domain_environment",
  Environment: "environment",
  GeoAsNumber: "geo_as_number",
  GeoCity: "geo_city",
  GeoContinent: "geo_continent",
  GeoCountry: "geo_country",
  GeoCountryRegion: "geo_country_region",
  Header: "header",
  Host: "host",
  IpAddress: "ip_address",
  Ja3Digest: "ja3_digest",
  Ja4Digest: "ja4_digest",
  Method: "method",
  Path: "path",
  Protocol: "protocol",
  Query: "query",
  RateLimitApiId: "rate_limit_api_id",
  RawPath: "raw_path",
  Region: "region",
  Route: "route",
  Ruleset: "ruleset",
  Scheme: "scheme",
  ServerAction: "server_action",
  SharedCondition: "shared_condition",
  TargetPath: "target_path",
  TrafficSource: "traffic_source",
  TrustedSource: "trusted_source",
  UserAgent: "user_agent",
} as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesType =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesType
  >;

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesOp = {
  Eq: "eq",
  Ex: "ex",
  Gt: "gt",
  Gte: "gte",
  Inc: "inc",
  List: "list",
  Lt: "lt",
  Lte: "lte",
  Neq: "neq",
  Nex: "nex",
  Ninc: "ninc",
  Pre: "pre",
  Re: "re",
  Sub: "sub",
  Suf: "suf",
} as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesOp =
  ClosedEnum<typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesOp>;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesValue =
  | string
  | number
  | Array<string>;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesConditions =
  {
    type: CreateSecurityFirewallConfigByConfigVersionActivateRulesType;
    op: CreateSecurityFirewallConfigByConfigVersionActivateRulesOp;
    neg?: boolean | undefined;
    key?: string | undefined;
    value?: string | number | Array<string> | undefined;
  };

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesConditionGroup =
  {
    conditions: Array<
      CreateSecurityFirewallConfigByConfigVersionActivateRulesConditions
    >;
  };

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200Action =
  {
    Allow: "allow",
    Bypass: "bypass",
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
    RateLimit: "rate_limit",
    Redirect: "redirect",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200Action =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200Action
  >;

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesAlgo = {
  FixedWindow: "fixed_window",
  TokenBucket: "token_bucket",
} as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesAlgo =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesAlgo
  >;

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200ApplicationJSONResponseBodyAction =
  {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
    RateLimit: "rate_limit",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200ApplicationJSONResponseBodyAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200ApplicationJSONResponseBodyAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesRateLimit =
  {
    algo: CreateSecurityFirewallConfigByConfigVersionActivateRulesAlgo;
    window: number;
    limit: number;
    keys: Array<string>;
    action?:
      | CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200ApplicationJSONResponseBodyAction
      | null
      | undefined;
  };

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesRedirect = {
  location: string;
  permanent: boolean;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2002 =
  {
    Wildcard: "*",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2002 =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2002
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesLogHeaders =
  | Array<string>
  | CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2002;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesMitigate = {
  action:
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200Action;
  rateLimit?:
    | CreateSecurityFirewallConfigByConfigVersionActivateRulesRateLimit
    | null
    | undefined;
  redirect?:
    | CreateSecurityFirewallConfigByConfigVersionActivateRulesRedirect
    | null
    | undefined;
  actionDuration?: string | null | undefined;
  bypassSystem?: boolean | null | undefined;
  logHeaders?:
    | Array<string>
    | CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2002
    | undefined;
};

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesAction = {
  mitigate?:
    | CreateSecurityFirewallConfigByConfigVersionActivateRulesMitigate
    | undefined;
};

export type CreateSecurityFirewallConfigByConfigVersionActivateRules1 = {
  id: string;
  name: string;
  description?: string | undefined;
  active: boolean;
  conditionGroup: Array<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesConditionGroup
  >;
  action: CreateSecurityFirewallConfigByConfigVersionActivateRulesAction;
  valid: true;
  validationErrors?: any | null | undefined;
};

export type CreateSecurityFirewallConfigByConfigVersionActivateRules =
  | CreateSecurityFirewallConfigByConfigVersionActivateRules1
  | CreateSecurityFirewallConfigByConfigVersionActivateRules2;

export const CreateSecurityFirewallConfigByConfigVersionActivateAction = {
  Bypass: "bypass",
  Challenge: "challenge",
  Deny: "deny",
  Log: "log",
} as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateAction =
  ClosedEnum<typeof CreateSecurityFirewallConfigByConfigVersionActivateAction>;

export type CreateSecurityFirewallConfigByConfigVersionActivateIps = {
  id: string;
  hostname: string;
  ip: string;
  notes?: string | undefined;
  action: CreateSecurityFirewallConfigByConfigVersionActivateAction;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityAction =
  {
    Allow: "allow",
    Bypass: "bypass",
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
    RateLimit: "rate_limit",
    Redirect: "redirect",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityAction
  >;

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsAlgo = {
  FixedWindow: "fixed_window",
  TokenBucket: "token_bucket",
} as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsAlgo =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesetsAlgo
  >;

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponseAction =
  {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
    RateLimit: "rate_limit",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponseAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponseAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsRateLimit =
  {
    algo: CreateSecurityFirewallConfigByConfigVersionActivateRulesetsAlgo;
    window: number;
    limit: number;
    keys: Array<string>;
    action?:
      | CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponseAction
      | null
      | undefined;
  };

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsRedirect =
  {
    location: string;
    permanent: boolean;
  };

export const CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurity2 =
  {
    Wildcard: "*",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurity2 =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurity2
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsLogHeaders =
  | Array<string>
  | CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurity2;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesets2 = {
  action:
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityAction;
  rateLimit?:
    | CreateSecurityFirewallConfigByConfigVersionActivateRulesetsRateLimit
    | null
    | undefined;
  redirect?:
    | CreateSecurityFirewallConfigByConfigVersionActivateRulesetsRedirect
    | null
    | undefined;
  actionDuration?: string | null | undefined;
  bypassSystem?: boolean | null | undefined;
  logHeaders?:
    | Array<string>
    | CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurity2
    | undefined;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsType = {
  BotCategory: "bot_category",
  BotName: "bot_name",
  BotProtection: "bot_protection",
  BotStatus: "bot_status",
  Cookie: "cookie",
  DomainEnvironment: "domain_environment",
  Environment: "environment",
  GeoAsNumber: "geo_as_number",
  GeoCity: "geo_city",
  GeoContinent: "geo_continent",
  GeoCountry: "geo_country",
  GeoCountryRegion: "geo_country_region",
  Header: "header",
  Host: "host",
  IpAddress: "ip_address",
  Ja3Digest: "ja3_digest",
  Ja4Digest: "ja4_digest",
  Method: "method",
  Path: "path",
  Protocol: "protocol",
  Query: "query",
  RateLimitApiId: "rate_limit_api_id",
  RawPath: "raw_path",
  Region: "region",
  Route: "route",
  Ruleset: "ruleset",
  Scheme: "scheme",
  ServerAction: "server_action",
  SharedCondition: "shared_condition",
  TargetPath: "target_path",
  TrafficSource: "traffic_source",
  TrustedSource: "trusted_source",
  UserAgent: "user_agent",
} as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsType =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesetsType
  >;

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsOp = {
  Eq: "eq",
  Ex: "ex",
  Gt: "gt",
  Gte: "gte",
  Inc: "inc",
  List: "list",
  Lt: "lt",
  Lte: "lte",
  Neq: "neq",
  Nex: "nex",
  Ninc: "ninc",
  Pre: "pre",
  Re: "re",
  Sub: "sub",
  Suf: "suf",
} as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsOp =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesetsOp
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsValue =
  | string
  | number
  | Array<string>;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsConditions =
  {
    type: CreateSecurityFirewallConfigByConfigVersionActivateRulesetsType;
    op: CreateSecurityFirewallConfigByConfigVersionActivateRulesetsOp;
    neg?: boolean | undefined;
    key?: string | undefined;
    value?: string | number | Array<string> | undefined;
  };

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsConditionGroup =
  {
    conditions: Array<
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsConditions
    >;
  };

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponse200Action =
  {
    Allow: "allow",
    Bypass: "bypass",
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
    RateLimit: "rate_limit",
    Redirect: "redirect",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponse200Action =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponse200Action
  >;

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityAlgo =
  {
    FixedWindow: "fixed_window",
    TokenBucket: "token_bucket",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityAlgo =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityAlgo
  >;

export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponse200ApplicationJSONAction =
  {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
    RateLimit: "rate_limit",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponse200ApplicationJSONAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponse200ApplicationJSONAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRateLimit =
  {
    algo:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityAlgo;
    window: number;
    limit: number;
    keys: Array<string>;
    action?:
      | CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponse200ApplicationJSONAction
      | null
      | undefined;
  };

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRedirect =
  {
    location: string;
    permanent: boolean;
  };

export const CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2 =
  {
    Wildcard: "*",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2 =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityLogHeaders =
  | Array<string>
  | CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2;

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsMitigate =
  {
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponse200Action;
    rateLimit?:
      | CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRateLimit
      | null
      | undefined;
    redirect?:
      | CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRedirect
      | null
      | undefined;
    actionDuration?: string | null | undefined;
    bypassSystem?: boolean | null | undefined;
    logHeaders?:
      | Array<string>
      | CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2
      | undefined;
  };

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesetsAction =
  {
    mitigate?:
      | CreateSecurityFirewallConfigByConfigVersionActivateRulesetsMitigate
      | undefined;
  };

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesets1 = {
  description?: string | undefined;
  id: string;
  name: string;
  active: boolean;
  conditionGroup: Array<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsConditionGroup
  >;
  action?:
    | CreateSecurityFirewallConfigByConfigVersionActivateRulesetsAction
    | undefined;
};

export type CreateSecurityFirewallConfigByConfigVersionActivateRulesets =
  | Array<CreateSecurityFirewallConfigByConfigVersionActivateRulesets1>
  | {
    [k: string]: CreateSecurityFirewallConfigByConfigVersionActivateRulesets2;
  };

export const CreateSecurityFirewallConfigByConfigVersionActivateType = {
  BotCategory: "bot_category",
  BotName: "bot_name",
  BotProtection: "bot_protection",
  BotStatus: "bot_status",
  Cookie: "cookie",
  DomainEnvironment: "domain_environment",
  Environment: "environment",
  GeoAsNumber: "geo_as_number",
  GeoCity: "geo_city",
  GeoContinent: "geo_continent",
  GeoCountry: "geo_country",
  GeoCountryRegion: "geo_country_region",
  Header: "header",
  Host: "host",
  IpAddress: "ip_address",
  Ja3Digest: "ja3_digest",
  Ja4Digest: "ja4_digest",
  Method: "method",
  Path: "path",
  Protocol: "protocol",
  Query: "query",
  RateLimitApiId: "rate_limit_api_id",
  RawPath: "raw_path",
  Region: "region",
  Route: "route",
  Ruleset: "ruleset",
  Scheme: "scheme",
  ServerAction: "server_action",
  SharedCondition: "shared_condition",
  TargetPath: "target_path",
  TrafficSource: "traffic_source",
  TrustedSource: "trusted_source",
  UserAgent: "user_agent",
} as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateType =
  ClosedEnum<typeof CreateSecurityFirewallConfigByConfigVersionActivateType>;

export const CreateSecurityFirewallConfigByConfigVersionActivateOp = {
  Eq: "eq",
  Ex: "ex",
  Gt: "gt",
  Gte: "gte",
  Inc: "inc",
  List: "list",
  Lt: "lt",
  Lte: "lte",
  Neq: "neq",
  Nex: "nex",
  Ninc: "ninc",
  Pre: "pre",
  Re: "re",
  Sub: "sub",
  Suf: "suf",
} as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateOp = ClosedEnum<
  typeof CreateSecurityFirewallConfigByConfigVersionActivateOp
>;

export type CreateSecurityFirewallConfigByConfigVersionActivateValue =
  | string
  | number
  | Array<string>;

export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityConditions =
  {
    type: CreateSecurityFirewallConfigByConfigVersionActivateType;
    op: CreateSecurityFirewallConfigByConfigVersionActivateOp;
    neg?: boolean | undefined;
    key?: string | undefined;
    value?: string | number | Array<string> | undefined;
  };

export type CreateSecurityFirewallConfigByConfigVersionActivateConditionGroup =
  {
    conditions: Array<
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityConditions
    >;
  };

export type CreateSecurityFirewallConfigByConfigVersionActivateConditions = {
  description?: string | undefined;
  id: string;
  name: string;
  active: boolean;
  conditionGroup: Array<
    CreateSecurityFirewallConfigByConfigVersionActivateConditionGroup
  >;
};

export type CreateSecurityFirewallConfigByConfigVersionActivateChanges = {};

export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesAction =
  {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateBotProtection = {
  active: boolean;
  action?:
    | CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesAction
    | undefined;
  updatedAt?: string | undefined;
  userId?: string | undefined;
  username?: string | undefined;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesAiBotsAction =
  {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesAiBotsAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesAiBotsAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateAiBots = {
  active: boolean;
  action?:
    | CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesAiBotsAction
    | undefined;
  updatedAt?: string | undefined;
  userId?: string | undefined;
  username?: string | undefined;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesOwaspAction =
  {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesOwaspAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesOwaspAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateOwasp = {
  active: boolean;
  action?:
    | CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesOwaspAction
    | undefined;
  updatedAt?: string | undefined;
  userId?: string | undefined;
  username?: string | undefined;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesVercelRulesetAction =
  {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesVercelRulesetAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesVercelRulesetAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateVercelRuleset = {
  active: boolean;
  action?:
    | CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesVercelRulesetAction
    | undefined;
  updatedAt?: string | undefined;
  userId?: string | undefined;
  username?: string | undefined;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesTrafficSourcesAction =
  {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
  } as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesTrafficSourcesAction =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesTrafficSourcesAction
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateTrafficSources =
  {
    active: boolean;
    action?:
      | CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesTrafficSourcesAction
      | undefined;
    updatedAt?: string | undefined;
    userId?: string | undefined;
    username?: string | undefined;
  };

export type CreateSecurityFirewallConfigByConfigVersionActivateManagedRules = {
  botProtection?:
    | CreateSecurityFirewallConfigByConfigVersionActivateBotProtection
    | undefined;
  aiBots?:
    | CreateSecurityFirewallConfigByConfigVersionActivateAiBots
    | undefined;
  owasp?: CreateSecurityFirewallConfigByConfigVersionActivateOwasp | undefined;
  vercelRuleset?:
    | CreateSecurityFirewallConfigByConfigVersionActivateVercelRuleset
    | undefined;
  trafficSources?:
    | CreateSecurityFirewallConfigByConfigVersionActivateTrafficSources
    | undefined;
};

export const CreateSecurityFirewallConfigByConfigVersionActivateLogHeaders2 = {
  Wildcard: "*",
} as const;
export type CreateSecurityFirewallConfigByConfigVersionActivateLogHeaders2 =
  ClosedEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateLogHeaders2
  >;

export type CreateSecurityFirewallConfigByConfigVersionActivateLogHeaders =
  | Array<string>
  | CreateSecurityFirewallConfigByConfigVersionActivateLogHeaders2;

export type CreateSecurityFirewallConfigByConfigVersionActivateResponseBody = {
  ownerId: string;
  projectKey: string;
  id: string;
  version: number;
  updatedAt: string;
  firewallEnabled: boolean;
  crs?: CreateSecurityFirewallConfigByConfigVersionActivateCrs | undefined;
  rules: Array<
    | CreateSecurityFirewallConfigByConfigVersionActivateRules1
    | CreateSecurityFirewallConfigByConfigVersionActivateRules2
  >;
  ips: Array<CreateSecurityFirewallConfigByConfigVersionActivateIps>;
  rulesets?:
    | Array<CreateSecurityFirewallConfigByConfigVersionActivateRulesets1>
    | {
      [k: string]: CreateSecurityFirewallConfigByConfigVersionActivateRulesets2;
    }
    | undefined;
  conditions?:
    | Array<CreateSecurityFirewallConfigByConfigVersionActivateConditions>
    | undefined;
  changes: Array<CreateSecurityFirewallConfigByConfigVersionActivateChanges>;
  managedRules?:
    | CreateSecurityFirewallConfigByConfigVersionActivateManagedRules
    | undefined;
  botIdEnabled?: boolean | undefined;
  logHeaders?:
    | Array<string>
    | CreateSecurityFirewallConfigByConfigVersionActivateLogHeaders2
    | undefined;
};

/** @internal */
export type CreateSecurityFirewallConfigByConfigVersionActivateRequest$Outbound =
  {
    configVersion: string;
  };

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRequest$outboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRequest$Outbound,
    z.ZodTypeDef,
    CreateSecurityFirewallConfigByConfigVersionActivateRequest
  > = z.object({
    configVersion: z.string(),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRequestToJSON(
  createSecurityFirewallConfigByConfigVersionActivateRequest:
    CreateSecurityFirewallConfigByConfigVersionActivateRequest,
): string {
  return JSON.stringify(
    CreateSecurityFirewallConfigByConfigVersionActivateRequest$outboundSchema
      .parse(createSecurityFirewallConfigByConfigVersionActivateRequest),
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSdAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSdAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSdAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSd$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateSd,
    z.ZodTypeDef,
    unknown
  > = z.object({
    active: types.boolean(),
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSdAction$inboundSchema,
  });

export function createSecurityFirewallConfigByConfigVersionActivateSdFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateSd,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateSd$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateSd' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateMa$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateMa,
    z.ZodTypeDef,
    unknown
  > = z.object({
    active: types.boolean(),
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityAction$inboundSchema,
  });

export function createSecurityFirewallConfigByConfigVersionActivateMaFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateMa,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateMa$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateMa' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponseAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponseAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponseAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateLfi$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateLfi,
    z.ZodTypeDef,
    unknown
  > = z.object({
    active: types.boolean(),
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponseAction$inboundSchema,
  });

export function createSecurityFirewallConfigByConfigVersionActivateLfiFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateLfi,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateLfi$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateLfi' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200Action$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200Action
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200Action,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRfi$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRfi,
    z.ZodTypeDef,
    unknown
  > = z.object({
    active: types.boolean(),
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200Action$inboundSchema,
  });

export function createSecurityFirewallConfigByConfigVersionActivateRfiFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRfi,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRfi$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRfi' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRce$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRce,
    z.ZodTypeDef,
    unknown
  > = z.object({
    active: types.boolean(),
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONAction$inboundSchema,
  });

export function createSecurityFirewallConfigByConfigVersionActivateRceFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRce,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRce$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRce' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivatePhp$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivatePhp,
    z.ZodTypeDef,
    unknown
  > = z.object({
    active: types.boolean(),
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyAction$inboundSchema,
  });

export function createSecurityFirewallConfigByConfigVersionActivatePhpFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivatePhp,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivatePhp$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivatePhp' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateGen$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateGen,
    z.ZodTypeDef,
    unknown
  > = z.object({
    active: types.boolean(),
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsAction$inboundSchema,
  });

export function createSecurityFirewallConfigByConfigVersionActivateGenFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateGen,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateGen$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateGen' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsXssAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsXssAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsXssAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateXss$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateXss,
    z.ZodTypeDef,
    unknown
  > = z.object({
    active: types.boolean(),
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsXssAction$inboundSchema,
  });

export function createSecurityFirewallConfigByConfigVersionActivateXssFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateXss,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateXss$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateXss' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSqliAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSqliAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSqliAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSqli$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateSqli,
    z.ZodTypeDef,
    unknown
  > = z.object({
    active: types.boolean(),
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSqliAction$inboundSchema,
  });

export function createSecurityFirewallConfigByConfigVersionActivateSqliFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateSqli,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateSqli$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateSqli' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSfAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSfAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSfAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSf$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateSf,
    z.ZodTypeDef,
    unknown
  > = z.object({
    active: types.boolean(),
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsSfAction$inboundSchema,
  });

export function createSecurityFirewallConfigByConfigVersionActivateSfFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateSf,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateSf$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateSf' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsJavaAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsJavaAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsJavaAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateJava$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateJava,
    z.ZodTypeDef,
    unknown
  > = z.object({
    active: types.boolean(),
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyCrsJavaAction$inboundSchema,
  });

export function createSecurityFirewallConfigByConfigVersionActivateJavaFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateJava,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateJava$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateJava' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateCrs$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateCrs,
    z.ZodTypeDef,
    unknown
  > = z.object({
    sd: z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivateSd$inboundSchema
    ),
    ma: z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivateMa$inboundSchema
    ),
    lfi: z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivateLfi$inboundSchema
    ),
    rfi: z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivateRfi$inboundSchema
    ),
    rce: z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivateRce$inboundSchema
    ),
    php: z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivatePhp$inboundSchema
    ),
    gen: z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivateGen$inboundSchema
    ),
    xss: z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivateXss$inboundSchema
    ),
    sqli: z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivateSqli$inboundSchema
    ),
    sf: z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivateSf$inboundSchema
    ),
    java: z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivateJava$inboundSchema
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateCrsFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateCrs,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateCrs$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateCrs' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityType$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityType
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityType,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityOp$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityOp
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityOp,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityValue$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityValue,
    z.ZodTypeDef,
    unknown
  > = smartUnion([types.string(), types.number(), z.array(types.string())]);

export function createSecurityFirewallConfigByConfigVersionActivateRulesSecurityValueFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityValue,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityValue$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityValue' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditions$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditions,
    z.ZodTypeDef,
    unknown
  > = z.object({
    type:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityType$inboundSchema,
    op:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityOp$inboundSchema,
    neg: types.optional(types.boolean()),
    key: types.optional(types.string()),
    value: types.optional(
      smartUnion([types.string(), types.number(), z.array(types.string())]),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditionsFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditions,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditions$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditions' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditionGroup$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditionGroup,
    z.ZodTypeDef,
    unknown
  > = z.object({
    conditions: z.array(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditions$inboundSchema
      ),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditionGroupFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditionGroup,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditionGroup$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditionGroup' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponseAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponseAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponseAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityAlgo$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityAlgo
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityAlgo,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200ApplicationJSONAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200ApplicationJSONAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200ApplicationJSONAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityRateLimit$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityRateLimit,
    z.ZodTypeDef,
    unknown
  > = z.object({
    algo:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityAlgo$inboundSchema,
    window: types.number(),
    limit: types.number(),
    keys: z.array(types.string()),
    action: z.nullable(
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200ApplicationJSONAction$inboundSchema,
    ).optional(),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesSecurityRateLimitFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityRateLimit,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityRateLimit$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityRateLimit' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityRedirect$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityRedirect,
    z.ZodTypeDef,
    unknown
  > = z.object({
    location: types.string(),
    permanent: types.boolean(),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesSecurityRedirectFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityRedirect,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityRedirect$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityRedirect' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse200ApplicationJson2$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse200ApplicationJson2
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse200ApplicationJson2,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityLogHeaders$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityLogHeaders,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.array(types.string()),
    CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse200ApplicationJson2$inboundSchema,
  ]);

export function createSecurityFirewallConfigByConfigVersionActivateRulesSecurityLogHeadersFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityLogHeaders,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityLogHeaders$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityLogHeaders' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityMitigate$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityMitigate,
    z.ZodTypeDef,
    unknown
  > = z.object({
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponseAction$inboundSchema,
    rateLimit: z.nullable(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityRateLimit$inboundSchema
      ),
    ).optional(),
    redirect: z.nullable(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityRedirect$inboundSchema
      ),
    ).optional(),
    actionDuration: z.nullable(types.string()).optional(),
    bypassSystem: z.nullable(types.boolean()).optional(),
    logHeaders: types.optional(
      smartUnion([
        z.array(types.string()),
        CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse200ApplicationJson2$inboundSchema,
      ]),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesSecurityMitigateFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityMitigate,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityMitigate$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityMitigate' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityAction$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityAction,
    z.ZodTypeDef,
    unknown
  > = z.object({
    mitigate: types.optional(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityMitigate$inboundSchema
      ),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesSecurityActionFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityAction,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityAction$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityAction' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRules2$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRules2,
    z.ZodTypeDef,
    unknown
  > = z.object({
    id: types.string(),
    name: types.string(),
    description: types.optional(types.string()),
    active: types.boolean(),
    conditionGroup: z.array(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityConditionGroup$inboundSchema
      ),
    ),
    action: z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityAction$inboundSchema
    ),
    valid: types.literal(false),
    validationErrors: z.array(types.string()),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRules2FromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRules2,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRules2$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRules2' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesType$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesType
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesType,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesOp$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesOp
  > = z.nativeEnum(CreateSecurityFirewallConfigByConfigVersionActivateRulesOp);

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesValue$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesValue,
    z.ZodTypeDef,
    unknown
  > = smartUnion([types.string(), types.number(), z.array(types.string())]);

export function createSecurityFirewallConfigByConfigVersionActivateRulesValueFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesValue,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesValue$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesValue' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesConditions$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesConditions,
    z.ZodTypeDef,
    unknown
  > = z.object({
    type:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesType$inboundSchema,
    op:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesOp$inboundSchema,
    neg: types.optional(types.boolean()),
    key: types.optional(types.string()),
    value: types.optional(
      smartUnion([types.string(), types.number(), z.array(types.string())]),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesConditionsFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesConditions,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesConditions$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesConditions' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesConditionGroup$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesConditionGroup,
    z.ZodTypeDef,
    unknown
  > = z.object({
    conditions: z.array(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesConditions$inboundSchema
      ),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesConditionGroupFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesConditionGroup,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesConditionGroup$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesConditionGroup' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200Action$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200Action
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200Action,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesAlgo$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesAlgo
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesAlgo,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200ApplicationJSONResponseBodyAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200ApplicationJSONResponseBodyAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200ApplicationJSONResponseBodyAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesRateLimit$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesRateLimit,
    z.ZodTypeDef,
    unknown
  > = z.object({
    algo:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesAlgo$inboundSchema,
    window: types.number(),
    limit: types.number(),
    keys: z.array(types.string()),
    action: z.nullable(
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200ApplicationJSONResponseBodyAction$inboundSchema,
    ).optional(),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesRateLimitFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesRateLimit,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesRateLimit$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesRateLimit' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesRedirect$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesRedirect,
    z.ZodTypeDef,
    unknown
  > = z.object({
    location: types.string(),
    permanent: types.boolean(),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesRedirectFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesRedirect,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesRedirect$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesRedirect' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2002$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2002
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2002,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesLogHeaders$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesLogHeaders,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.array(types.string()),
    CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2002$inboundSchema,
  ]);

export function createSecurityFirewallConfigByConfigVersionActivateRulesLogHeadersFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesLogHeaders,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesLogHeaders$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesLogHeaders' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesMitigate$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesMitigate,
    z.ZodTypeDef,
    unknown
  > = z.object({
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesSecurityResponse200Action$inboundSchema,
    rateLimit: z.nullable(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesRateLimit$inboundSchema
      ),
    ).optional(),
    redirect: z.nullable(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesRedirect$inboundSchema
      ),
    ).optional(),
    actionDuration: z.nullable(types.string()).optional(),
    bypassSystem: z.nullable(types.boolean()).optional(),
    logHeaders: types.optional(
      smartUnion([
        z.array(types.string()),
        CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2002$inboundSchema,
      ]),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesMitigateFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesMitigate,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesMitigate$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesMitigate' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesAction$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesAction,
    z.ZodTypeDef,
    unknown
  > = z.object({
    mitigate: types.optional(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesMitigate$inboundSchema
      ),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesActionFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesAction,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesAction$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesAction' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRules1$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRules1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    id: types.string(),
    name: types.string(),
    description: types.optional(types.string()),
    active: types.boolean(),
    conditionGroup: z.array(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesConditionGroup$inboundSchema
      ),
    ),
    action: z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesAction$inboundSchema
    ),
    valid: types.literal(true),
    validationErrors: z.nullable(z.any()).optional(),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRules1FromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRules1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRules1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRules1' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRules$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRules,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivateRules1$inboundSchema
    ),
    z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivateRules2$inboundSchema
    ),
  ]);

export function createSecurityFirewallConfigByConfigVersionActivateRulesFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRules,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRules$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRules' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateAction
  > = z.nativeEnum(CreateSecurityFirewallConfigByConfigVersionActivateAction);

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateIps$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateIps,
    z.ZodTypeDef,
    unknown
  > = z.object({
    id: types.string(),
    hostname: types.string(),
    ip: types.string(),
    notes: types.optional(types.string()),
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateAction$inboundSchema,
  });

export function createSecurityFirewallConfigByConfigVersionActivateIpsFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateIps,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateIps$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateIps' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsAlgo$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesetsAlgo
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsAlgo,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponseAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponseAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponseAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsRateLimit$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsRateLimit,
    z.ZodTypeDef,
    unknown
  > = z.object({
    algo:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsAlgo$inboundSchema,
    window: types.number(),
    limit: types.number(),
    keys: z.array(types.string()),
    action: z.nullable(
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponseAction$inboundSchema,
    ).optional(),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesetsRateLimitFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesetsRateLimit,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsRateLimit$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesetsRateLimit' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsRedirect$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsRedirect,
    z.ZodTypeDef,
    unknown
  > = z.object({
    location: types.string(),
    permanent: types.boolean(),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesetsRedirectFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesetsRedirect,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsRedirect$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesetsRedirect' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurity2$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurity2
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurity2,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsLogHeaders$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsLogHeaders,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.array(types.string()),
    CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurity2$inboundSchema,
  ]);

export function createSecurityFirewallConfigByConfigVersionActivateRulesetsLogHeadersFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesetsLogHeaders,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsLogHeaders$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesetsLogHeaders' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesets2$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesets2,
    z.ZodTypeDef,
    unknown
  > = z.object({
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityAction$inboundSchema,
    rateLimit: z.nullable(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesetsRateLimit$inboundSchema
      ),
    ).optional(),
    redirect: z.nullable(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesetsRedirect$inboundSchema
      ),
    ).optional(),
    actionDuration: z.nullable(types.string()).optional(),
    bypassSystem: z.nullable(types.boolean()).optional(),
    logHeaders: types.optional(
      smartUnion([
        z.array(types.string()),
        CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurity2$inboundSchema,
      ]),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesets2FromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesets2,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesets2$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesets2' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsType$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesetsType
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsType,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsOp$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesetsOp
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsOp,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsValue$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsValue,
    z.ZodTypeDef,
    unknown
  > = smartUnion([types.string(), types.number(), z.array(types.string())]);

export function createSecurityFirewallConfigByConfigVersionActivateRulesetsValueFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesetsValue,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsValue$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesetsValue' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsConditions$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsConditions,
    z.ZodTypeDef,
    unknown
  > = z.object({
    type:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsType$inboundSchema,
    op:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsOp$inboundSchema,
    neg: types.optional(types.boolean()),
    key: types.optional(types.string()),
    value: types.optional(
      smartUnion([types.string(), types.number(), z.array(types.string())]),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesetsConditionsFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesetsConditions,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsConditions$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesetsConditions' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsConditionGroup$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsConditionGroup,
    z.ZodTypeDef,
    unknown
  > = z.object({
    conditions: z.array(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesetsConditions$inboundSchema
      ),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesetsConditionGroupFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesetsConditionGroup,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsConditionGroup$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesetsConditionGroup' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponse200Action$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponse200Action
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponse200Action,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityAlgo$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityAlgo
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityAlgo,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponse200ApplicationJSONAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponse200ApplicationJSONAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponse200ApplicationJSONAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRateLimit$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRateLimit,
    z.ZodTypeDef,
    unknown
  > = z.object({
    algo:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityAlgo$inboundSchema,
    window: types.number(),
    limit: types.number(),
    keys: z.array(types.string()),
    action: z.nullable(
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponse200ApplicationJSONAction$inboundSchema,
    ).optional(),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRateLimitFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRateLimit,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRateLimit$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRateLimit' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRedirect$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRedirect,
    z.ZodTypeDef,
    unknown
  > = z.object({
    location: types.string(),
    permanent: types.boolean(),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRedirectFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRedirect,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRedirect$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRedirect' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityLogHeaders$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityLogHeaders,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.array(types.string()),
    CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2$inboundSchema,
  ]);

export function createSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityLogHeadersFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityLogHeaders,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityLogHeaders$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityLogHeaders' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsMitigate$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsMitigate,
    z.ZodTypeDef,
    unknown
  > = z.object({
    action:
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityResponse200Action$inboundSchema,
    rateLimit: z.nullable(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRateLimit$inboundSchema
      ),
    ).optional(),
    redirect: z.nullable(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesetsSecurityRedirect$inboundSchema
      ),
    ).optional(),
    actionDuration: z.nullable(types.string()).optional(),
    bypassSystem: z.nullable(types.boolean()).optional(),
    logHeaders: types.optional(
      smartUnion([
        z.array(types.string()),
        CreateSecurityFirewallConfigByConfigVersionActivateLogHeadersSecurityResponse2$inboundSchema,
      ]),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesetsMitigateFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesetsMitigate,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsMitigate$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesetsMitigate' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesetsAction$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesetsAction,
    z.ZodTypeDef,
    unknown
  > = z.object({
    mitigate: types.optional(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesetsMitigate$inboundSchema
      ),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesetsActionFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesetsAction,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesetsAction$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesetsAction' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesets1$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesets1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    description: types.optional(types.string()),
    id: types.string(),
    name: types.string(),
    active: types.boolean(),
    conditionGroup: z.array(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesetsConditionGroup$inboundSchema
      ),
    ),
    action: types.optional(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateRulesetsAction$inboundSchema
      ),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateRulesets1FromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesets1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesets1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesets1' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateRulesets$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateRulesets,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.array(z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesets1$inboundSchema
    )),
    z.record(z.lazy(() =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesets2$inboundSchema
    )),
  ]);

export function createSecurityFirewallConfigByConfigVersionActivateRulesetsFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateRulesets,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateRulesets$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateRulesets' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateType$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateType
  > = z.nativeEnum(CreateSecurityFirewallConfigByConfigVersionActivateType);

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateOp$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateOp
  > = z.nativeEnum(CreateSecurityFirewallConfigByConfigVersionActivateOp);

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateValue$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateValue,
    z.ZodTypeDef,
    unknown
  > = smartUnion([types.string(), types.number(), z.array(types.string())]);

export function createSecurityFirewallConfigByConfigVersionActivateValueFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateValue,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateValue$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateValue' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityConditions$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityConditions,
    z.ZodTypeDef,
    unknown
  > = z.object({
    type: CreateSecurityFirewallConfigByConfigVersionActivateType$inboundSchema,
    op: CreateSecurityFirewallConfigByConfigVersionActivateOp$inboundSchema,
    neg: types.optional(types.boolean()),
    key: types.optional(types.string()),
    value: types.optional(
      smartUnion([types.string(), types.number(), z.array(types.string())]),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateSecurityConditionsFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateSecurityConditions,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityConditions$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateSecurityConditions' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateConditionGroup$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateConditionGroup,
    z.ZodTypeDef,
    unknown
  > = z.object({
    conditions: z.array(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateSecurityConditions$inboundSchema
      ),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateConditionGroupFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateConditionGroup,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateConditionGroup$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateConditionGroup' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateConditions$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateConditions,
    z.ZodTypeDef,
    unknown
  > = z.object({
    description: types.optional(types.string()),
    id: types.string(),
    name: types.string(),
    active: types.boolean(),
    conditionGroup: z.array(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateConditionGroup$inboundSchema
      ),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateConditionsFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateConditions,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateConditions$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateConditions' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateChanges$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateChanges,
    z.ZodTypeDef,
    unknown
  > = z.object({});

export function createSecurityFirewallConfigByConfigVersionActivateChangesFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateChanges,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateChanges$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateChanges' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateBotProtection$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateBotProtection,
    z.ZodTypeDef,
    unknown
  > = z.object({
    active: types.boolean(),
    action: types.optional(
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesAction$inboundSchema,
    ),
    updatedAt: types.optional(types.string()),
    userId: types.optional(types.string()),
    username: types.optional(types.string()),
  });

export function createSecurityFirewallConfigByConfigVersionActivateBotProtectionFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateBotProtection,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateBotProtection$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateBotProtection' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesAiBotsAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesAiBotsAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesAiBotsAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateAiBots$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateAiBots,
    z.ZodTypeDef,
    unknown
  > = z.object({
    active: types.boolean(),
    action: types.optional(
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesAiBotsAction$inboundSchema,
    ),
    updatedAt: types.optional(types.string()),
    userId: types.optional(types.string()),
    username: types.optional(types.string()),
  });

export function createSecurityFirewallConfigByConfigVersionActivateAiBotsFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateAiBots,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateAiBots$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateAiBots' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesOwaspAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesOwaspAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesOwaspAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateOwasp$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateOwasp,
    z.ZodTypeDef,
    unknown
  > = z.object({
    active: types.boolean(),
    action: types.optional(
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesOwaspAction$inboundSchema,
    ),
    updatedAt: types.optional(types.string()),
    userId: types.optional(types.string()),
    username: types.optional(types.string()),
  });

export function createSecurityFirewallConfigByConfigVersionActivateOwaspFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateOwasp,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateOwasp$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateOwasp' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesVercelRulesetAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesVercelRulesetAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesVercelRulesetAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateVercelRuleset$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateVercelRuleset,
    z.ZodTypeDef,
    unknown
  > = z.object({
    active: types.boolean(),
    action: types.optional(
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesVercelRulesetAction$inboundSchema,
    ),
    updatedAt: types.optional(types.string()),
    userId: types.optional(types.string()),
    username: types.optional(types.string()),
  });

export function createSecurityFirewallConfigByConfigVersionActivateVercelRulesetFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateVercelRuleset,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateVercelRuleset$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateVercelRuleset' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesTrafficSourcesAction$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesTrafficSourcesAction
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesTrafficSourcesAction,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateTrafficSources$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateTrafficSources,
    z.ZodTypeDef,
    unknown
  > = z.object({
    active: types.boolean(),
    action: types.optional(
      CreateSecurityFirewallConfigByConfigVersionActivateSecurityResponse200ApplicationJSONResponseBodyManagedRulesTrafficSourcesAction$inboundSchema,
    ),
    updatedAt: types.optional(types.string()),
    userId: types.optional(types.string()),
    username: types.optional(types.string()),
  });

export function createSecurityFirewallConfigByConfigVersionActivateTrafficSourcesFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateTrafficSources,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateTrafficSources$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateTrafficSources' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateManagedRules$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateManagedRules,
    z.ZodTypeDef,
    unknown
  > = z.object({
    bot_protection: types.optional(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateBotProtection$inboundSchema
      ),
    ),
    ai_bots: types.optional(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateAiBots$inboundSchema
      ),
    ),
    owasp: types.optional(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateOwasp$inboundSchema
      ),
    ),
    vercel_ruleset: types.optional(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateVercelRuleset$inboundSchema
      ),
    ),
    traffic_sources: types.optional(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateTrafficSources$inboundSchema
      ),
    ),
  }).transform((v) => {
    return remap$(v, {
      "bot_protection": "botProtection",
      "ai_bots": "aiBots",
      "vercel_ruleset": "vercelRuleset",
      "traffic_sources": "trafficSources",
    });
  });

export function createSecurityFirewallConfigByConfigVersionActivateManagedRulesFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateManagedRules,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateManagedRules$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateManagedRules' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateLogHeaders2$inboundSchema:
  z.ZodNativeEnum<
    typeof CreateSecurityFirewallConfigByConfigVersionActivateLogHeaders2
  > = z.nativeEnum(
    CreateSecurityFirewallConfigByConfigVersionActivateLogHeaders2,
  );

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateLogHeaders$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateLogHeaders,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.array(types.string()),
    CreateSecurityFirewallConfigByConfigVersionActivateLogHeaders2$inboundSchema,
  ]);

export function createSecurityFirewallConfigByConfigVersionActivateLogHeadersFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateLogHeaders,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateLogHeaders$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateLogHeaders' from JSON`,
  );
}

/** @internal */
export const CreateSecurityFirewallConfigByConfigVersionActivateResponseBody$inboundSchema:
  z.ZodType<
    CreateSecurityFirewallConfigByConfigVersionActivateResponseBody,
    z.ZodTypeDef,
    unknown
  > = z.object({
    ownerId: types.string(),
    projectKey: types.string(),
    id: types.string(),
    version: types.number(),
    updatedAt: types.string(),
    firewallEnabled: types.boolean(),
    crs: types.optional(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateCrs$inboundSchema
      ),
    ),
    rules: z.array(
      smartUnion([
        z.lazy(() =>
          CreateSecurityFirewallConfigByConfigVersionActivateRules1$inboundSchema
        ),
        z.lazy(() =>
          CreateSecurityFirewallConfigByConfigVersionActivateRules2$inboundSchema
        ),
      ]),
    ),
    ips: z.array(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateIps$inboundSchema
      ),
    ),
    rulesets: types.optional(
      smartUnion([
        z.array(
          z.lazy(() =>
            CreateSecurityFirewallConfigByConfigVersionActivateRulesets1$inboundSchema
          ),
        ),
        z.record(
          z.lazy(() =>
            CreateSecurityFirewallConfigByConfigVersionActivateRulesets2$inboundSchema
          ),
        ),
      ]),
    ),
    conditions: types.optional(
      z.array(z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateConditions$inboundSchema
      )),
    ),
    changes: z.array(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateChanges$inboundSchema
      ),
    ),
    managedRules: types.optional(
      z.lazy(() =>
        CreateSecurityFirewallConfigByConfigVersionActivateManagedRules$inboundSchema
      ),
    ),
    botIdEnabled: types.optional(types.boolean()),
    logHeaders: types.optional(
      smartUnion([
        z.array(types.string()),
        CreateSecurityFirewallConfigByConfigVersionActivateLogHeaders2$inboundSchema,
      ]),
    ),
  });

export function createSecurityFirewallConfigByConfigVersionActivateResponseBodyFromJSON(
  jsonString: string,
): SafeParseResult<
  CreateSecurityFirewallConfigByConfigVersionActivateResponseBody,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      CreateSecurityFirewallConfigByConfigVersionActivateResponseBody$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'CreateSecurityFirewallConfigByConfigVersionActivateResponseBody' from JSON`,
  );
}