UNPKG

@volcengine/pulumi

Version:

A Pulumi package for creating and managing volcengine cloud resources.

327 lines (326 loc) 9.01 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Provides a resource to manage waf acl rule * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcengine from "@volcengine/pulumi"; * * const foo = new volcengine.waf.AclRule("foo", { * accurateGroup: { * accurateRules: [{ * httpObj: "request.uri", * objType: 1, * opretar: 2, * property: 0, * valueString: "GET", * }], * logic: 1, * }, * aclType: "Allow", * action: "block", * advanced: 1, * description: "tf-test", * enable: 1, * hostAddType: 3, * hostLists: ["www.tf-test.com"], * ipAddType: 3, * ipLists: [ * "1.2.2.2", * "1.2.3.30", * ], * projectName: "default", * url: "/", * }); * ``` * * ## Import * * WafAclRule can be imported using the id, e.g. * * ```sh * $ pulumi import volcengine:waf/aclRule:AclRule default resource_id:AclType * ``` */ export declare class AclRule extends pulumi.CustomResource { /** * Get an existing AclRule 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?: AclRuleState, opts?: pulumi.CustomResourceOptions): AclRule; /** * Returns true if the given object is an instance of AclRule. 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 AclRule; /** * Advanced conditions. */ readonly accurateGroup: pulumi.Output<outputs.waf.AclRuleAccurateGroup>; /** * The type of access control rules. */ readonly aclType: pulumi.Output<string>; /** * Action to be taken on requests that match the rule. */ readonly action: pulumi.Output<string>; /** * Whether to set advanced conditions. */ readonly advanced: pulumi.Output<number>; /** * IP address. */ readonly clientIp: pulumi.Output<string>; /** * Rule description. */ readonly description: pulumi.Output<string>; /** * Whether to enable the rule. */ readonly enable: pulumi.Output<number>; /** * Type of domain name addition. */ readonly hostAddType: pulumi.Output<number>; /** * The ID of the domain group. */ readonly hostGroupIds: pulumi.Output<number[]>; /** * The list of domain name groups. */ readonly hostGroups: pulumi.Output<outputs.waf.AclRuleHostGroup[]>; /** * Required if HostAddType = 3. Single or multiple domain names are supported. */ readonly hostLists: pulumi.Output<string[]>; /** * Type of IP address addition. */ readonly ipAddType: pulumi.Output<number>; /** * Required if IpAddType = 2. */ readonly ipGroupIds: pulumi.Output<number[]>; /** * The list of domain name groups. */ readonly ipGroups: pulumi.Output<outputs.waf.AclRuleIpGroup[]>; /** * Required if IpAddType = 3. Single or multiple IP addresses are supported. */ readonly ipLists: pulumi.Output<string[]>; /** * Country or region code. */ readonly ipLocationCountries: pulumi.Output<string[]>; /** * Domestic region code. */ readonly ipLocationSubregions: pulumi.Output<string[]>; /** * Rule name. */ readonly name: pulumi.Output<string>; /** * The name of the project to which your domain names belong. */ readonly projectName: pulumi.Output<string | undefined>; /** * Rule unique identifier. */ readonly ruleTag: pulumi.Output<string>; /** * Update time of the rule. */ readonly updateTime: pulumi.Output<string>; /** * The path of Matching. */ readonly url: pulumi.Output<string>; /** * Create a AclRule 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: AclRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering AclRule resources. */ export interface AclRuleState { /** * Advanced conditions. */ accurateGroup?: pulumi.Input<inputs.waf.AclRuleAccurateGroup>; /** * The type of access control rules. */ aclType?: pulumi.Input<string>; /** * Action to be taken on requests that match the rule. */ action?: pulumi.Input<string>; /** * Whether to set advanced conditions. */ advanced?: pulumi.Input<number>; /** * IP address. */ clientIp?: pulumi.Input<string>; /** * Rule description. */ description?: pulumi.Input<string>; /** * Whether to enable the rule. */ enable?: pulumi.Input<number>; /** * Type of domain name addition. */ hostAddType?: pulumi.Input<number>; /** * The ID of the domain group. */ hostGroupIds?: pulumi.Input<pulumi.Input<number>[]>; /** * The list of domain name groups. */ hostGroups?: pulumi.Input<pulumi.Input<inputs.waf.AclRuleHostGroup>[]>; /** * Required if HostAddType = 3. Single or multiple domain names are supported. */ hostLists?: pulumi.Input<pulumi.Input<string>[]>; /** * Type of IP address addition. */ ipAddType?: pulumi.Input<number>; /** * Required if IpAddType = 2. */ ipGroupIds?: pulumi.Input<pulumi.Input<number>[]>; /** * The list of domain name groups. */ ipGroups?: pulumi.Input<pulumi.Input<inputs.waf.AclRuleIpGroup>[]>; /** * Required if IpAddType = 3. Single or multiple IP addresses are supported. */ ipLists?: pulumi.Input<pulumi.Input<string>[]>; /** * Country or region code. */ ipLocationCountries?: pulumi.Input<pulumi.Input<string>[]>; /** * Domestic region code. */ ipLocationSubregions?: pulumi.Input<pulumi.Input<string>[]>; /** * Rule name. */ name?: pulumi.Input<string>; /** * The name of the project to which your domain names belong. */ projectName?: pulumi.Input<string>; /** * Rule unique identifier. */ ruleTag?: pulumi.Input<string>; /** * Update time of the rule. */ updateTime?: pulumi.Input<string>; /** * The path of Matching. */ url?: pulumi.Input<string>; } /** * The set of arguments for constructing a AclRule resource. */ export interface AclRuleArgs { /** * Advanced conditions. */ accurateGroup?: pulumi.Input<inputs.waf.AclRuleAccurateGroup>; /** * The type of access control rules. */ aclType: pulumi.Input<string>; /** * Action to be taken on requests that match the rule. */ action?: pulumi.Input<string>; /** * Whether to set advanced conditions. */ advanced?: pulumi.Input<number>; /** * Rule description. */ description?: pulumi.Input<string>; /** * Whether to enable the rule. */ enable: pulumi.Input<number>; /** * Type of domain name addition. */ hostAddType: pulumi.Input<number>; /** * The ID of the domain group. */ hostGroupIds?: pulumi.Input<pulumi.Input<number>[]>; /** * Required if HostAddType = 3. Single or multiple domain names are supported. */ hostLists?: pulumi.Input<pulumi.Input<string>[]>; /** * Type of IP address addition. */ ipAddType: pulumi.Input<number>; /** * Required if IpAddType = 2. */ ipGroupIds?: pulumi.Input<pulumi.Input<number>[]>; /** * Required if IpAddType = 3. Single or multiple IP addresses are supported. */ ipLists?: pulumi.Input<pulumi.Input<string>[]>; /** * Country or region code. */ ipLocationCountries?: pulumi.Input<pulumi.Input<string>[]>; /** * Domestic region code. */ ipLocationSubregions?: pulumi.Input<pulumi.Input<string>[]>; /** * Rule name. */ name?: pulumi.Input<string>; /** * The name of the project to which your domain names belong. */ projectName?: pulumi.Input<string>; /** * The path of Matching. */ url: pulumi.Input<string>; }