UNPKG

@pulumi/fastly

Version:

A Pulumi package for creating and managing fastly cloud resources.. Based on terraform-provider-fastly: version v4

169 lines (168 loc) 7.09 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Provides a Fastly Next-Gen WAF Workspace, representing a container for * rules, signals, and various other resources that are offered by the * Next-Gen WAF product. * * ## Example Usage * * Basic usage: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as fastly from "@pulumi/fastly"; * * const demo = new fastly.NgwafWorkspace("demo", { * name: "Demo", * description: "Testing", * mode: "block", * attackSignalThresholds: { * oneMinute: 100, * tenMinutes: 500, * oneHour: 1000, * immediate: true, * }, * }); * ``` * * ## Import * * Fastly Next-Gen WAF Workspaces can be imported using their workspace ID, e.g. * * ```sh * $ pulumi import fastly:index/ngwafWorkspace:NgwafWorkspace demo xxxxxxxxxxxxxxxxxxxx * ``` */ export declare class NgwafWorkspace extends pulumi.CustomResource { /** * Get an existing NgwafWorkspace resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NgwafWorkspaceState, opts?: pulumi.CustomResourceOptions): NgwafWorkspace; /** * Returns true if the given object is an instance of NgwafWorkspace. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is NgwafWorkspace; /** * Attack threshold parameters for system site alerts. Each threshold value is the number of attack signals per IP address that must be detected during the interval before the related IP address is flagged. If no values are set then the default value for each field will be applied */ readonly attackSignalThresholds: pulumi.Output<outputs.NgwafWorkspaceAttackSignalThresholds>; /** * Specifies the request headers containing the client IP address. Maximum of 10 header names. */ readonly clientIpHeaders: pulumi.Output<string[] | undefined>; /** * The status code returned when a request is blocked. This configuration is applied at the workspace but can be overwritten in rules. Accepted values are [`301`, `302`, `400..599`]. Default value `406`. */ readonly defaultBlockingResponseCode: pulumi.Output<number | undefined>; /** * The redirect URL used if default*blocking*response_code is `301` or `302`. */ readonly defaultRedirectUrl: pulumi.Output<string | undefined>; /** * The description of the workspace */ readonly description: pulumi.Output<string>; /** * Agents will anonymize IP addresses according to the option selected. Accepted value is `hashed`. */ readonly ipAnonymization: pulumi.Output<string | undefined>; /** * The operation mode of the workspace. Accepted values are `off`, `block`, and `log`. */ readonly mode: pulumi.Output<string>; /** * The display name of the workspace. */ readonly name: pulumi.Output<string>; /** * Create a NgwafWorkspace resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: NgwafWorkspaceArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering NgwafWorkspace resources. */ export interface NgwafWorkspaceState { /** * Attack threshold parameters for system site alerts. Each threshold value is the number of attack signals per IP address that must be detected during the interval before the related IP address is flagged. If no values are set then the default value for each field will be applied */ attackSignalThresholds?: pulumi.Input<inputs.NgwafWorkspaceAttackSignalThresholds>; /** * Specifies the request headers containing the client IP address. Maximum of 10 header names. */ clientIpHeaders?: pulumi.Input<pulumi.Input<string>[]>; /** * The status code returned when a request is blocked. This configuration is applied at the workspace but can be overwritten in rules. Accepted values are [`301`, `302`, `400..599`]. Default value `406`. */ defaultBlockingResponseCode?: pulumi.Input<number>; /** * The redirect URL used if default*blocking*response_code is `301` or `302`. */ defaultRedirectUrl?: pulumi.Input<string>; /** * The description of the workspace */ description?: pulumi.Input<string>; /** * Agents will anonymize IP addresses according to the option selected. Accepted value is `hashed`. */ ipAnonymization?: pulumi.Input<string>; /** * The operation mode of the workspace. Accepted values are `off`, `block`, and `log`. */ mode?: pulumi.Input<string>; /** * The display name of the workspace. */ name?: pulumi.Input<string>; } /** * The set of arguments for constructing a NgwafWorkspace resource. */ export interface NgwafWorkspaceArgs { /** * Attack threshold parameters for system site alerts. Each threshold value is the number of attack signals per IP address that must be detected during the interval before the related IP address is flagged. If no values are set then the default value for each field will be applied */ attackSignalThresholds: pulumi.Input<inputs.NgwafWorkspaceAttackSignalThresholds>; /** * Specifies the request headers containing the client IP address. Maximum of 10 header names. */ clientIpHeaders?: pulumi.Input<pulumi.Input<string>[]>; /** * The status code returned when a request is blocked. This configuration is applied at the workspace but can be overwritten in rules. Accepted values are [`301`, `302`, `400..599`]. Default value `406`. */ defaultBlockingResponseCode?: pulumi.Input<number>; /** * The redirect URL used if default*blocking*response_code is `301` or `302`. */ defaultRedirectUrl?: pulumi.Input<string>; /** * The description of the workspace */ description: pulumi.Input<string>; /** * Agents will anonymize IP addresses according to the option selected. Accepted value is `hashed`. */ ipAnonymization?: pulumi.Input<string>; /** * The operation mode of the workspace. Accepted values are `off`, `block`, and `log`. */ mode: pulumi.Input<string>; /** * The display name of the workspace. */ name?: pulumi.Input<string>; }