import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Fabric V4 API compatible data resource that allow user to fetch Fabric Cloud Router for a given UUID
 *
 * Additional documentation:
 * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/FCR/FCR-intro.htm#HowItWorks
 * * API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#fabric-cloud-routers
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as equinix from "@equinix-labs/pulumi-equinix";
 *
 * const cloudRouterDataName = equinix.fabric.getCloudRouter({
 *     uuid: "<uuid_of_cloud_router>",
 * });
 * export const id = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.id);
 * export const name = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.name);
 * export const accountNumber = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.accounts?.[0]?.accountNumber);
 * export const equinixAsn = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.equinixAsn);
 * export const metroCode = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.locations?.[0]?.metroCode);
 * export const metroName = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.locations?.[0]?.metroName);
 * export const region = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.locations?.[0]?.region);
 * export const packageCode = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.packages?.[0]?.code);
 * export const projectId = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.projects?.[0]?.projectId);
 * export const type = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.type);
 * ```
 */
export declare function getCloudRouter(args: GetCloudRouterArgs, opts?: pulumi.InvokeOptions): Promise<GetCloudRouterResult>;
/**
 * A collection of arguments for invoking getCloudRouter.
 */
export interface GetCloudRouterArgs {
    /**
     * Equinix-assigned Fabric Cloud Router identifier
     */
    uuid: string;
}
/**
 * A collection of values returned by getCloudRouter.
 */
export interface GetCloudRouterResult {
    /**
     * Customer account information that is associated with this Fabric Cloud Router
     */
    readonly accounts: outputs.fabric.GetCloudRouterAccount[];
    /**
     * Captures Fabric Cloud Router lifecycle change information
     */
    readonly changeLogs: outputs.fabric.GetCloudRouterChangeLog[];
    /**
     * Number of connections associated with this Fabric Cloud Router instance
     */
    readonly connectionsCount: number;
    /**
     * Customer-provided Fabric Cloud Router description
     */
    readonly description: string;
    /**
     * Equinix ASN
     */
    readonly equinixAsn: number;
    /**
     * Fabric Cloud Router URI information
     */
    readonly href: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Fabric Cloud Router location
     */
    readonly locations: outputs.fabric.GetCloudRouterLocation[];
    /**
     * Equinix Fabric Entity for Marketplace Subscription
     */
    readonly marketplaceSubscriptions: outputs.fabric.GetCloudRouterMarketplaceSubscription[];
    /**
     * Fabric Cloud Router name. An alpha-numeric 24 characters string which can include only hyphens and underscores
     */
    readonly name: string;
    /**
     * Preferences for notifications on Fabric Cloud Router configuration or status changes
     */
    readonly notifications: outputs.fabric.GetCloudRouterNotification[];
    /**
     * Order information related to this Fabric Cloud Router
     */
    readonly orders: outputs.fabric.GetCloudRouterOrder[];
    /**
     * Fabric Cloud Router Package Type
     */
    readonly packages: outputs.fabric.GetCloudRouterPackage[];
    /**
     * Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects
     */
    readonly projects: outputs.fabric.GetCloudRouterProject[];
    /**
     * Fabric Cloud Router overall state
     */
    readonly state: string;
    /**
     * Defines the FCR type like; XF_ROUTER
     */
    readonly type: string;
    /**
     * Equinix-assigned Fabric Cloud Router identifier
     */
    readonly uuid: string;
}
/**
 * Fabric V4 API compatible data resource that allow user to fetch Fabric Cloud Router for a given UUID
 *
 * Additional documentation:
 * * Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/FCR/FCR-intro.htm#HowItWorks
 * * API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#fabric-cloud-routers
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as equinix from "@equinix-labs/pulumi-equinix";
 *
 * const cloudRouterDataName = equinix.fabric.getCloudRouter({
 *     uuid: "<uuid_of_cloud_router>",
 * });
 * export const id = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.id);
 * export const name = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.name);
 * export const accountNumber = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.accounts?.[0]?.accountNumber);
 * export const equinixAsn = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.equinixAsn);
 * export const metroCode = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.locations?.[0]?.metroCode);
 * export const metroName = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.locations?.[0]?.metroName);
 * export const region = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.locations?.[0]?.region);
 * export const packageCode = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.packages?.[0]?.code);
 * export const projectId = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.projects?.[0]?.projectId);
 * export const type = cloudRouterDataName.then(cloudRouterDataName => cloudRouterDataName.type);
 * ```
 */
export declare function getCloudRouterOutput(args: GetCloudRouterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetCloudRouterResult>;
/**
 * A collection of arguments for invoking getCloudRouter.
 */
export interface GetCloudRouterOutputArgs {
    /**
     * Equinix-assigned Fabric Cloud Router identifier
     */
    uuid: pulumi.Input<string>;
}
