import * as pulumi from "@pulumi/pulumi";
/**
 * `f5bigip.TrafficSelector` Manage IPSec Traffic Selectors on BIG-IP
 *
 * Resources should be named with their "full path". The full path is the combination of the partition + name (example: /Common/test-selector)
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as f5bigip from "@pulumi/f5bigip";
 *
 * const test_selector = new f5bigip.TrafficSelector("test-selector", {
 *     name: "/Common/test-selector",
 *     destinationAddress: "3.10.11.2/32",
 *     sourceAddress: "2.10.11.12/32",
 * });
 * ```
 */
export declare class TrafficSelector extends pulumi.CustomResource {
    /**
     * Get an existing TrafficSelector 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?: TrafficSelectorState, opts?: pulumi.CustomResourceOptions): TrafficSelector;
    /**
     * Returns true if the given object is an instance of TrafficSelector.  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 TrafficSelector;
    /**
     * Description of the traffic selector.
     */
    readonly description: pulumi.Output<string>;
    /**
     * Specifies the host or network IP address to which the application traffic is destined.When creating a new traffic selector, this parameter is required.
     */
    readonly destinationAddress: pulumi.Output<string>;
    /**
     * Specifies the IP port used by the application. The default value is `All Ports (0)`
     */
    readonly destinationPort: pulumi.Output<number>;
    /**
     * Specifies whether the traffic selector applies to inbound or outbound traffic, or both. The default value is `Both`.
     */
    readonly direction: pulumi.Output<string>;
    /**
     * Specifies the network protocol to use for this traffic. The default value is `All Protocols (255)`
     */
    readonly ipProtocol: pulumi.Output<number>;
    /**
     * Specifies the IPsec policy that tells the BIG-IP system how to handle the packets.When creating a new traffic selector, if this parameter is not specified, the default is `default-ipsec-policy`.
     */
    readonly ipsecPolicy: pulumi.Output<string>;
    /**
     * Name of the IPSec traffic-selector,it should be "full path".The full path is the combination of the partition + name of the IPSec traffic-selector.(For example `/Common/test-selector`)
     */
    readonly name: pulumi.Output<string>;
    /**
     * Specifies the order in which traffic is matched, if traffic can be matched to multiple traffic selectors.Traffic is matched to the traffic selector with the highest priority (lowest order number).
     * When creating a new traffic selector, if this parameter is not specified, the default is `last`
     */
    readonly order: pulumi.Output<number>;
    /**
     * Specifies the host or network IP address from which the application traffic originates.When creating a new traffic selector, this parameter is required.
     */
    readonly sourceAddress: pulumi.Output<string>;
    /**
     * Specifies the IP port used by the application. The default value is `All Ports (0)`.
     */
    readonly sourcePort: pulumi.Output<number>;
    /**
     * Create a TrafficSelector 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: TrafficSelectorArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering TrafficSelector resources.
 */
export interface TrafficSelectorState {
    /**
     * Description of the traffic selector.
     */
    description?: pulumi.Input<string>;
    /**
     * Specifies the host or network IP address to which the application traffic is destined.When creating a new traffic selector, this parameter is required.
     */
    destinationAddress?: pulumi.Input<string>;
    /**
     * Specifies the IP port used by the application. The default value is `All Ports (0)`
     */
    destinationPort?: pulumi.Input<number>;
    /**
     * Specifies whether the traffic selector applies to inbound or outbound traffic, or both. The default value is `Both`.
     */
    direction?: pulumi.Input<string>;
    /**
     * Specifies the network protocol to use for this traffic. The default value is `All Protocols (255)`
     */
    ipProtocol?: pulumi.Input<number>;
    /**
     * Specifies the IPsec policy that tells the BIG-IP system how to handle the packets.When creating a new traffic selector, if this parameter is not specified, the default is `default-ipsec-policy`.
     */
    ipsecPolicy?: pulumi.Input<string>;
    /**
     * Name of the IPSec traffic-selector,it should be "full path".The full path is the combination of the partition + name of the IPSec traffic-selector.(For example `/Common/test-selector`)
     */
    name?: pulumi.Input<string>;
    /**
     * Specifies the order in which traffic is matched, if traffic can be matched to multiple traffic selectors.Traffic is matched to the traffic selector with the highest priority (lowest order number).
     * When creating a new traffic selector, if this parameter is not specified, the default is `last`
     */
    order?: pulumi.Input<number>;
    /**
     * Specifies the host or network IP address from which the application traffic originates.When creating a new traffic selector, this parameter is required.
     */
    sourceAddress?: pulumi.Input<string>;
    /**
     * Specifies the IP port used by the application. The default value is `All Ports (0)`.
     */
    sourcePort?: pulumi.Input<number>;
}
/**
 * The set of arguments for constructing a TrafficSelector resource.
 */
export interface TrafficSelectorArgs {
    /**
     * Description of the traffic selector.
     */
    description?: pulumi.Input<string>;
    /**
     * Specifies the host or network IP address to which the application traffic is destined.When creating a new traffic selector, this parameter is required.
     */
    destinationAddress: pulumi.Input<string>;
    /**
     * Specifies the IP port used by the application. The default value is `All Ports (0)`
     */
    destinationPort?: pulumi.Input<number>;
    /**
     * Specifies whether the traffic selector applies to inbound or outbound traffic, or both. The default value is `Both`.
     */
    direction?: pulumi.Input<string>;
    /**
     * Specifies the network protocol to use for this traffic. The default value is `All Protocols (255)`
     */
    ipProtocol?: pulumi.Input<number>;
    /**
     * Specifies the IPsec policy that tells the BIG-IP system how to handle the packets.When creating a new traffic selector, if this parameter is not specified, the default is `default-ipsec-policy`.
     */
    ipsecPolicy?: pulumi.Input<string>;
    /**
     * Name of the IPSec traffic-selector,it should be "full path".The full path is the combination of the partition + name of the IPSec traffic-selector.(For example `/Common/test-selector`)
     */
    name: pulumi.Input<string>;
    /**
     * Specifies the order in which traffic is matched, if traffic can be matched to multiple traffic selectors.Traffic is matched to the traffic selector with the highest priority (lowest order number).
     * When creating a new traffic selector, if this parameter is not specified, the default is `last`
     */
    order?: pulumi.Input<number>;
    /**
     * Specifies the host or network IP address from which the application traffic originates.When creating a new traffic selector, this parameter is required.
     */
    sourceAddress: pulumi.Input<string>;
    /**
     * Specifies the IP port used by the application. The default value is `All Ports (0)`.
     */
    sourcePort?: pulumi.Input<number>;
}
