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>

292 lines (277 loc) 8.68 kB
/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { securityAddBypassIp } from "../funcs/securityAddBypassIp.js"; import { securityCreateSecurityFirewallConfigByConfigVersionActivate } from "../funcs/securityCreateSecurityFirewallConfigByConfigVersionActivate.js"; import { securityDeleteSecurityFirewallConfigByConfigVersion } from "../funcs/securityDeleteSecurityFirewallConfigByConfigVersion.js"; import { securityGenerateFirewallRule } from "../funcs/securityGenerateFirewallRule.js"; import { securityGetActiveAttackStatus } from "../funcs/securityGetActiveAttackStatus.js"; import { securityGetBypassIp } from "../funcs/securityGetBypassIp.js"; import { securityGetFirewallConfig } from "../funcs/securityGetFirewallConfig.js"; import { securityGetSecurityFirewallConfig } from "../funcs/securityGetSecurityFirewallConfig.js"; import { securityGetSecurityFirewallEvents } from "../funcs/securityGetSecurityFirewallEvents.js"; import { securityPutFirewallConfig } from "../funcs/securityPutFirewallConfig.js"; import { securityRemoveBypassIp } from "../funcs/securityRemoveBypassIp.js"; import { securityUpdateAttackChallengeMode } from "../funcs/securityUpdateAttackChallengeMode.js"; import { securityUpdateFirewallConfig } from "../funcs/securityUpdateFirewallConfig.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import { AddBypassIpRequest, AddBypassIpResponseBody, } from "../models/addbypassipop.js"; import { CreateSecurityFirewallConfigByConfigVersionActivateRequest, CreateSecurityFirewallConfigByConfigVersionActivateResponseBody, } from "../models/createsecurityfirewallconfigbyconfigversionactivateop.js"; import { DeleteSecurityFirewallConfigByConfigVersionRequest, DeleteSecurityFirewallConfigByConfigVersionResponseBody, } from "../models/deletesecurityfirewallconfigbyconfigversionop.js"; import { GenerateFirewallRuleRequest, GenerateFirewallRuleResponseBody, } from "../models/generatefirewallruleop.js"; import { GetActiveAttackStatusRequest, GetActiveAttackStatusResponseBody, } from "../models/getactiveattackstatusop.js"; import { GetBypassIpRequest, GetBypassIpResponseBody, } from "../models/getbypassipop.js"; import { GetFirewallConfigRequest, GetFirewallConfigResponseBody, } from "../models/getfirewallconfigop.js"; import { GetSecurityFirewallConfigResponseBody } from "../models/getsecurityfirewallconfigresponsebody.js"; import { GetSecurityFirewallEventsRequest, GetSecurityFirewallEventsResponseBody, } from "../models/getsecurityfirewalleventsop.js"; import { PutFirewallConfigRequest, PutFirewallConfigResponseBody, } from "../models/putfirewallconfigop.js"; import { RemoveBypassIpRequest, RemoveBypassIpResponseBody, } from "../models/removebypassipop.js"; import { UpdateAttackChallengeModeRequest, UpdateAttackChallengeModeResponseBody, } from "../models/updateattackchallengemodeop.js"; import { UpdateFirewallConfigRequest, UpdateFirewallConfigResponseBody, } from "../models/updatefirewallconfigop.js"; import { unwrapAsync } from "../types/fp.js"; export class Security extends ClientSDK { /** * Update Attack Challenge mode * * @remarks * Update the setting for determining if the project has Attack Challenge mode enabled. */ async updateAttackChallengeMode( request: UpdateAttackChallengeModeRequest, options?: RequestOptions, ): Promise<UpdateAttackChallengeModeResponseBody> { return unwrapAsync(securityUpdateAttackChallengeMode( this, request, options, )); } /** * Returns activated WAF config * * @remarks * Lists WAF configs for a project */ async getSecurityFirewallConfig( options?: RequestOptions, ): Promise<GetSecurityFirewallConfigResponseBody> { return unwrapAsync(securityGetSecurityFirewallConfig( this, options, )); } /** * Put Firewall Configuration * * @remarks * Set the firewall configuration to provided rules and settings. Creates or overwrite the existing firewall configuration. */ async putFirewallConfig( request: PutFirewallConfigRequest, options?: RequestOptions, ): Promise<PutFirewallConfigResponseBody> { return unwrapAsync(securityPutFirewallConfig( this, request, options, )); } /** * Update Firewall Configuration * * @remarks * Process updates to modify the existing firewall config for a project */ async updateFirewallConfig( request: UpdateFirewallConfigRequest, options?: RequestOptions, ): Promise<UpdateFirewallConfigResponseBody> { return unwrapAsync(securityUpdateFirewallConfig( this, request, options, )); } /** * Read Firewall Configuration * * @remarks * Retrieve the specified firewall configuration for a project. The deployed configVersion will be `active` */ async getFirewallConfig( request: GetFirewallConfigRequest, options?: RequestOptions, ): Promise<GetFirewallConfigResponseBody> { return unwrapAsync(securityGetFirewallConfig( this, request, options, )); } /** * Returns activated WAF config * * @remarks * Promotes a draft WAF config to an active config */ async deleteSecurityFirewallConfigByConfigVersion( request: DeleteSecurityFirewallConfigByConfigVersionRequest, options?: RequestOptions, ): Promise<DeleteSecurityFirewallConfigByConfigVersionResponseBody> { return unwrapAsync(securityDeleteSecurityFirewallConfigByConfigVersion( this, request, options, )); } /** * Returns activated WAF config * * @remarks * Promotes a draft WAF config to an active config */ async createSecurityFirewallConfigByConfigVersionActivate( request: CreateSecurityFirewallConfigByConfigVersionActivateRequest, options?: RequestOptions, ): Promise<CreateSecurityFirewallConfigByConfigVersionActivateResponseBody> { return unwrapAsync( securityCreateSecurityFirewallConfigByConfigVersionActivate( this, request, options, ), ); } /** * Read active attack data * * @remarks * Retrieve active attack data within the last N days (default: 1 day) */ async getActiveAttackStatus( request: GetActiveAttackStatusRequest, options?: RequestOptions, ): Promise<GetActiveAttackStatusResponseBody> { return unwrapAsync(securityGetActiveAttackStatus( this, request, options, )); } /** * Read System Bypass * * @remarks * Retrieve the system bypass rules configured for the specified project */ async getBypassIp( request: GetBypassIpRequest, options?: RequestOptions, ): Promise<GetBypassIpResponseBody> { return unwrapAsync(securityGetBypassIp( this, request, options, )); } /** * Create System Bypass Rule * * @remarks * Create new system bypass rules */ async addBypassIp( request: AddBypassIpRequest, options?: RequestOptions, ): Promise<AddBypassIpResponseBody> { return unwrapAsync(securityAddBypassIp( this, request, options, )); } /** * Remove System Bypass Rule * * @remarks * Remove system bypass rules */ async removeBypassIp( request: RemoveBypassIpRequest, options?: RequestOptions, ): Promise<RemoveBypassIpResponseBody> { return unwrapAsync(securityRemoveBypassIp( this, request, options, )); } /** * Read Firewall Actions by Project * * @remarks * Retrieve firewall actions for a project Rule names are resolved against the project's *current* active firewall configuration and the team's active rulesets, so a rule that has since been renamed reports its new name and one that has been deleted reports `null`. System rules such as `sys_dos_mitigation` and `ip_blocking` have no configured name and always report `null`. */ async getSecurityFirewallEvents( request: GetSecurityFirewallEventsRequest, options?: RequestOptions, ): Promise<GetSecurityFirewallEventsResponseBody> { return unwrapAsync(securityGetSecurityFirewallEvents( this, request, options, )); } /** * Generate a firewall rule from natural language * * @remarks * Generate a firewall rule from a natural language description. */ async generateFirewallRule( request: GenerateFirewallRuleRequest, options?: RequestOptions, ): Promise<GenerateFirewallRuleResponseBody> { return unwrapAsync(securityGenerateFirewallRule( this, request, options, )); } }