import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Fabric V4 API compatible data resource that allow user to fetch route filter for a given UUID
 *
 * Additional Documentation:
 * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/FCR/FCR-route-filters.htm
 * * API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#route-filter-rules
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as equinix from "@equinix-labs/pulumi-equinix";
 *
 * const rfRule = equinix.fabric.getRouteFilterRule({
 *     routeFilterId: "<route_filter_policy_id>",
 *     uuid: "<route_filter_rule_uuid>",
 * });
 * export const routeFilterRuleName = rfRule.then(rfRule => rfRule.name);
 * export const routeFilterRuleDescription = rfRule.then(rfRule => rfRule.description);
 * export const routeFilterRulePrefix = rfRule.then(rfRule => rfRule.prefix);
 * export const routeFilterRulePrefixMatch = rfRule.then(rfRule => rfRule.prefixMatch);
 * ```
 */
export declare function getRouteFilterRule(args: GetRouteFilterRuleArgs, opts?: pulumi.InvokeOptions): Promise<GetRouteFilterRuleResult>;
/**
 * A collection of arguments for invoking getRouteFilterRule.
 */
export interface GetRouteFilterRuleArgs {
    /**
     * UUID of the Route Filter Policy the rule is attached to
     */
    routeFilterId: string;
    /**
     * Equinix Assigned ID for Route Filter Rule to retrieve data for
     */
    uuid: string;
}
/**
 * A collection of values returned by getRouteFilterRule.
 */
export interface GetRouteFilterRuleResult {
    /**
     * Action that will be taken on IP Addresses matching the rule
     */
    readonly action: string;
    readonly changeLogs: outputs.fabric.GetRouteFilterRuleChangeLog[];
    /**
     * An object with the details of the previous change applied on the Route Filter
     */
    readonly changes: outputs.fabric.GetRouteFilterRuleChange[];
    /**
     * Optional description to add to the Route Filter you will be creating
     */
    readonly description: string;
    /**
     * Route filter rules URI
     */
    readonly href: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Name of the Route Filter
     */
    readonly name: string;
    /**
     * IP Address Prefix to Filter on
     */
    readonly prefix: string;
    /**
     * Prefix matching operator. One of [ orlonger, exact ] Default: "orlonger"
     */
    readonly prefixMatch: string;
    /**
     * UUID of the Route Filter Policy the rule is attached to
     */
    readonly routeFilterId: string;
    /**
     * State of the Route Filter Rule in its lifecycle
     */
    readonly state: string;
    /**
     * Route Filter Type. One of [ BGP*IPv4*PREFIX*FILTER*RULE, BGP*IPv6*PREFIX*FILTER*RULE ]
     */
    readonly type: string;
    /**
     * Equinix Assigned ID for Route Filter Rule to retrieve data for
     */
    readonly uuid: string;
}
/**
 * Fabric V4 API compatible data resource that allow user to fetch route filter for a given UUID
 *
 * Additional Documentation:
 * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/FCR/FCR-route-filters.htm
 * * API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#route-filter-rules
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as equinix from "@equinix-labs/pulumi-equinix";
 *
 * const rfRule = equinix.fabric.getRouteFilterRule({
 *     routeFilterId: "<route_filter_policy_id>",
 *     uuid: "<route_filter_rule_uuid>",
 * });
 * export const routeFilterRuleName = rfRule.then(rfRule => rfRule.name);
 * export const routeFilterRuleDescription = rfRule.then(rfRule => rfRule.description);
 * export const routeFilterRulePrefix = rfRule.then(rfRule => rfRule.prefix);
 * export const routeFilterRulePrefixMatch = rfRule.then(rfRule => rfRule.prefixMatch);
 * ```
 */
export declare function getRouteFilterRuleOutput(args: GetRouteFilterRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRouteFilterRuleResult>;
/**
 * A collection of arguments for invoking getRouteFilterRule.
 */
export interface GetRouteFilterRuleOutputArgs {
    /**
     * UUID of the Route Filter Policy the rule is attached to
     */
    routeFilterId: pulumi.Input<string>;
    /**
     * Equinix Assigned ID for Route Filter Rule to retrieve data for
     */
    uuid: pulumi.Input<string>;
}
