import * as pulumi from "@pulumi/pulumi"; /** * Filtering conditions are composed of filtering rules, divided into inbound filtering rules and outbound filtering rules. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcenginecc from "@volcengine/pulumi-volcenginecc"; * * const vPCTrafficMirrorFilterRuleDemo = new volcenginecc.vpc.TrafficMirrorFilterRule("VPCTrafficMirrorFilterRuleDemo", { * description: "test", * destinationCidrBlock: "10.*.*.0/24", * destinationPortRange: "80/80", * policy: "accept", * priority: 1, * protocol: "tcp", * sourceCidrBlock: "10.*.*.0/24", * sourcePortRange: "80/80", * trafficDirection: "ingress", * trafficMirrorFilterId: "tmf-3nqp5bt6a3dog931exxxxx", * }); * ``` * * ## Import * * ```sh * $ pulumi import volcenginecc:vpc/trafficMirrorFilterRule:TrafficMirrorFilterRule example "traffic_mirror_filter_id|traffic_mirror_filter_rule_id" * ``` */ export declare class TrafficMirrorFilterRule extends pulumi.CustomResource { /** * Get an existing TrafficMirrorFilterRule 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, state?: TrafficMirrorFilterRuleState, opts?: pulumi.CustomResourceOptions): TrafficMirrorFilterRule; /** * Returns true if the given object is an instance of TrafficMirrorFilterRule. 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 TrafficMirrorFilterRule; /** * Description of the filtering rule. */ readonly description: pulumi.Output; /** * Destination network segment. */ readonly destinationCidrBlock: pulumi.Output; /** * Destination port range for traffic. When Protocol is all or icmp, this parameter is not required. The default value is -1/-1, which means no port restriction. When Protocol is tcp or udp, this parameter is required. Valid range is 1–65535. Use a forward slash (/) to separate the start and end ports, such as 1/50, 80/80. */ readonly destinationPortRange: pulumi.Output; /** * Traffic capture policy. accept: allow. When traffic from the mirror source matches this rule, the traffic is copied to the mirror target for monitoring and analysis. reject: reject. When traffic from the mirror source matches this rule, the traffic is not copied and monitoring and analysis are not performed. */ readonly policy: pulumi.Output; /** * Priority of the filtering rule, ranging from 1 to 1000. The smaller the value, the higher the priority. Default is 1, which is the highest priority. For the same filtering condition and direction, the priority must be unique. */ readonly priority: pulumi.Output; /** * Traffic protocol. Valid values: all: includes TCP, UDP, and ICMP protocols. tcp: TCP protocol. udp: UDP protocol. icmp: ICMP protocol. */ readonly protocol: pulumi.Output; /** * Source network segment. */ readonly sourceCidrBlock: pulumi.Output; /** * Source port range for traffic. When Protocol is all or icmp, this parameter is not required. The default value is -1/-1, which means no port restriction. When Protocol is tcp or udp, this parameter is required. Valid range is 1–65535. Use a forward slash (/) to separate the start and end ports, such as 1/50, 80/80. */ readonly sourcePortRange: pulumi.Output; /** * Status of the filtering rule. Available: available. Deleting: deleting. Creating: creating. Pending: modifying. */ readonly status: pulumi.Output; /** * Traffic direction. Valid values: ingress: inbound rule. egress: outbound rule. */ readonly trafficDirection: pulumi.Output; /** * Filtering condition ID. */ readonly trafficMirrorFilterId: pulumi.Output; /** * Filtering rule ID. */ readonly trafficMirrorFilterRuleId: pulumi.Output; /** * Create a TrafficMirrorFilterRule 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: TrafficMirrorFilterRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering TrafficMirrorFilterRule resources. */ export interface TrafficMirrorFilterRuleState { /** * Description of the filtering rule. */ description?: pulumi.Input; /** * Destination network segment. */ destinationCidrBlock?: pulumi.Input; /** * Destination port range for traffic. When Protocol is all or icmp, this parameter is not required. The default value is -1/-1, which means no port restriction. When Protocol is tcp or udp, this parameter is required. Valid range is 1–65535. Use a forward slash (/) to separate the start and end ports, such as 1/50, 80/80. */ destinationPortRange?: pulumi.Input; /** * Traffic capture policy. accept: allow. When traffic from the mirror source matches this rule, the traffic is copied to the mirror target for monitoring and analysis. reject: reject. When traffic from the mirror source matches this rule, the traffic is not copied and monitoring and analysis are not performed. */ policy?: pulumi.Input; /** * Priority of the filtering rule, ranging from 1 to 1000. The smaller the value, the higher the priority. Default is 1, which is the highest priority. For the same filtering condition and direction, the priority must be unique. */ priority?: pulumi.Input; /** * Traffic protocol. Valid values: all: includes TCP, UDP, and ICMP protocols. tcp: TCP protocol. udp: UDP protocol. icmp: ICMP protocol. */ protocol?: pulumi.Input; /** * Source network segment. */ sourceCidrBlock?: pulumi.Input; /** * Source port range for traffic. When Protocol is all or icmp, this parameter is not required. The default value is -1/-1, which means no port restriction. When Protocol is tcp or udp, this parameter is required. Valid range is 1–65535. Use a forward slash (/) to separate the start and end ports, such as 1/50, 80/80. */ sourcePortRange?: pulumi.Input; /** * Status of the filtering rule. Available: available. Deleting: deleting. Creating: creating. Pending: modifying. */ status?: pulumi.Input; /** * Traffic direction. Valid values: ingress: inbound rule. egress: outbound rule. */ trafficDirection?: pulumi.Input; /** * Filtering condition ID. */ trafficMirrorFilterId?: pulumi.Input; /** * Filtering rule ID. */ trafficMirrorFilterRuleId?: pulumi.Input; } /** * The set of arguments for constructing a TrafficMirrorFilterRule resource. */ export interface TrafficMirrorFilterRuleArgs { /** * Description of the filtering rule. */ description?: pulumi.Input; /** * Destination network segment. */ destinationCidrBlock: pulumi.Input; /** * Destination port range for traffic. When Protocol is all or icmp, this parameter is not required. The default value is -1/-1, which means no port restriction. When Protocol is tcp or udp, this parameter is required. Valid range is 1–65535. Use a forward slash (/) to separate the start and end ports, such as 1/50, 80/80. */ destinationPortRange?: pulumi.Input; /** * Traffic capture policy. accept: allow. When traffic from the mirror source matches this rule, the traffic is copied to the mirror target for monitoring and analysis. reject: reject. When traffic from the mirror source matches this rule, the traffic is not copied and monitoring and analysis are not performed. */ policy: pulumi.Input; /** * Priority of the filtering rule, ranging from 1 to 1000. The smaller the value, the higher the priority. Default is 1, which is the highest priority. For the same filtering condition and direction, the priority must be unique. */ priority?: pulumi.Input; /** * Traffic protocol. Valid values: all: includes TCP, UDP, and ICMP protocols. tcp: TCP protocol. udp: UDP protocol. icmp: ICMP protocol. */ protocol: pulumi.Input; /** * Source network segment. */ sourceCidrBlock: pulumi.Input; /** * Source port range for traffic. When Protocol is all or icmp, this parameter is not required. The default value is -1/-1, which means no port restriction. When Protocol is tcp or udp, this parameter is required. Valid range is 1–65535. Use a forward slash (/) to separate the start and end ports, such as 1/50, 80/80. */ sourcePortRange?: pulumi.Input; /** * Traffic direction. Valid values: ingress: inbound rule. egress: outbound rule. */ trafficDirection: pulumi.Input; /** * Filtering condition ID. */ trafficMirrorFilterId: pulumi.Input; }