import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Fabric V4 API compatible data resource that allow user to fetch Equinix Fabric Route Aggregation Rule by UUID
 * Additional Documentation:
 * * API: https://developer.equinix.com/catalog/fabricv4#tag/Route-Aggregations
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as equinix from "@equinix-labs/pulumi-equinix";
 *
 * const raRule = equinix.fabric.getRouteAggregationRule({
 *     routeAggregationId: "<route_aggregation_id>",
 *     routeAggregationRuleId: "<route_aggregation_rule_id>",
 * });
 * export const routeAggregationRuleName = raRule.then(raRule => raRule.name);
 * export const routeAggregationRuleDescription = raRule.then(raRule => raRule.description);
 * export const routeAggregationRuleType = raRule.then(raRule => raRule.type);
 * export const routeAggregationRulePrefix = raRule.then(raRule => raRule.prefix);
 * export const routeAggregationRuleState = raRule.then(raRule => raRule.state);
 * ```
 */
export declare function getRouteAggregationRule(args: GetRouteAggregationRuleArgs, opts?: pulumi.InvokeOptions): Promise<GetRouteAggregationRuleResult>;
/**
 * A collection of arguments for invoking getRouteAggregationRule.
 */
export interface GetRouteAggregationRuleArgs {
    /**
     * Customer-provided route aggregation rule description
     */
    description?: string;
    /**
     * The uuid of the route aggregation this data source should retrieve
     */
    routeAggregationId: string;
    /**
     * The uuid of the route aggregation rule this data source should retrieve
     */
    routeAggregationRuleId: string;
}
/**
 * A collection of values returned by getRouteAggregationRule.
 */
export interface GetRouteAggregationRuleResult {
    /**
     * Current state of latest route aggregation rule change
     */
    readonly change: outputs.fabric.GetRouteAggregationRuleChange;
    /**
     * Details of the last change on the stream resource
     */
    readonly changeLog: outputs.fabric.GetRouteAggregationRuleChangeLog;
    /**
     * Customer-provided route aggregation rule description
     */
    readonly description?: string;
    /**
     * Equinix auto generated URI to the route aggregation rule resource
     */
    readonly href: string;
    /**
     * The unique identifier of the resource
     */
    readonly id: string;
    /**
     * Customer provided name of the route aggregation rule
     */
    readonly name: string;
    /**
     * Customer-provided route aggregation rule prefix
     */
    readonly prefix: string;
    /**
     * The uuid of the route aggregation this data source should retrieve
     */
    readonly routeAggregationId: string;
    /**
     * The uuid of the route aggregation rule this data source should retrieve
     */
    readonly routeAggregationRuleId: string;
    /**
     * Value representing provisioning status for the route aggregation rule resource
     */
    readonly state: string;
    /**
     * Equinix defined Route Aggregation Type; BGP*IPv4*PREFIX*AGGREGATION, BGP*IPv6*PREFIX*AGGREGATION
     */
    readonly type: string;
    /**
     * Equinix-assigned unique id for the route aggregation rule resource
     */
    readonly uuid: string;
}
/**
 * Fabric V4 API compatible data resource that allow user to fetch Equinix Fabric Route Aggregation Rule by UUID
 * Additional Documentation:
 * * API: https://developer.equinix.com/catalog/fabricv4#tag/Route-Aggregations
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as equinix from "@equinix-labs/pulumi-equinix";
 *
 * const raRule = equinix.fabric.getRouteAggregationRule({
 *     routeAggregationId: "<route_aggregation_id>",
 *     routeAggregationRuleId: "<route_aggregation_rule_id>",
 * });
 * export const routeAggregationRuleName = raRule.then(raRule => raRule.name);
 * export const routeAggregationRuleDescription = raRule.then(raRule => raRule.description);
 * export const routeAggregationRuleType = raRule.then(raRule => raRule.type);
 * export const routeAggregationRulePrefix = raRule.then(raRule => raRule.prefix);
 * export const routeAggregationRuleState = raRule.then(raRule => raRule.state);
 * ```
 */
export declare function getRouteAggregationRuleOutput(args: GetRouteAggregationRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRouteAggregationRuleResult>;
/**
 * A collection of arguments for invoking getRouteAggregationRule.
 */
export interface GetRouteAggregationRuleOutputArgs {
    /**
     * Customer-provided route aggregation rule description
     */
    description?: pulumi.Input<string>;
    /**
     * The uuid of the route aggregation this data source should retrieve
     */
    routeAggregationId: pulumi.Input<string>;
    /**
     * The uuid of the route aggregation rule this data source should retrieve
     */
    routeAggregationRuleId: pulumi.Input<string>;
}
