@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
text/typescript
/*
* 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,
));
}
}