@volcengine/pulumi
Version:
A Pulumi package for creating and managing volcengine cloud resources.
327 lines (326 loc) • 9.01 kB
TypeScript
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>;
}