import * as pulumi from "@pulumi/pulumi";
/**
 * Use this data source to get Equinix Network Edge device platform configuration details for a given device type. For further details, check supported [Network Edge Vendors and Devices](https://docs.equinix.com/en-us/Content/Interconnection/NE/user-guide/NE-vendors-devices.htm).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as equinix from "@equinix-labs/pulumi-equinix";
 *
 * const csrLarge = equinix.networkedge.getDevicePlatform({
 *     deviceType: "CSR1000V",
 *     flavor: "large",
 *     packages: ["IPBASE"],
 * });
 * ```
 */
export declare function getDevicePlatform(args: GetDevicePlatformArgs, opts?: pulumi.InvokeOptions): Promise<GetDevicePlatformResult>;
/**
 * A collection of arguments for invoking getDevicePlatform.
 */
export interface GetDevicePlatformArgs {
    /**
     * Number of CPU cores used to limit platform search results.
     */
    coreCount?: number;
    /**
     * Device type code
     */
    deviceType: string;
    /**
     * Device platform flavor that determines number of CPU cores and memory. Supported values are: `small`, `medium`, `large`, `xlarge`.
     */
    flavor?: string;
    /**
     * List of device licensing options to limit platform search result. Supported values are: `BYOL` (for Bring Your Own License), `Sub` (for license subscription).
     */
    licenseOptions?: string[];
    /**
     * List of device management types to limit platform search results. Supported values are: `EQUINIX-CONFIGURED`, `SELF-CONFIGURED`.
     */
    managementTypes?: string[];
    /**
     * List of software package codes to limit platform search results.
     */
    packages?: string[];
}
/**
 * A collection of values returned by getDevicePlatform.
 */
export interface GetDevicePlatformResult {
    readonly coreCount: number;
    readonly deviceType: string;
    readonly flavor: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly licenseOptions: string[];
    readonly managementTypes: string[];
    /**
     * The amount of memory provided by device platform.
     */
    readonly memory: number;
    /**
     * Unit of memory provider by device platform.
     */
    readonly memoryUnit: string;
    readonly packages: string[];
}
/**
 * Use this data source to get Equinix Network Edge device platform configuration details for a given device type. For further details, check supported [Network Edge Vendors and Devices](https://docs.equinix.com/en-us/Content/Interconnection/NE/user-guide/NE-vendors-devices.htm).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as equinix from "@equinix-labs/pulumi-equinix";
 *
 * const csrLarge = equinix.networkedge.getDevicePlatform({
 *     deviceType: "CSR1000V",
 *     flavor: "large",
 *     packages: ["IPBASE"],
 * });
 * ```
 */
export declare function getDevicePlatformOutput(args: GetDevicePlatformOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDevicePlatformResult>;
/**
 * A collection of arguments for invoking getDevicePlatform.
 */
export interface GetDevicePlatformOutputArgs {
    /**
     * Number of CPU cores used to limit platform search results.
     */
    coreCount?: pulumi.Input<number>;
    /**
     * Device type code
     */
    deviceType: pulumi.Input<string>;
    /**
     * Device platform flavor that determines number of CPU cores and memory. Supported values are: `small`, `medium`, `large`, `xlarge`.
     */
    flavor?: pulumi.Input<string>;
    /**
     * List of device licensing options to limit platform search result. Supported values are: `BYOL` (for Bring Your Own License), `Sub` (for license subscription).
     */
    licenseOptions?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * List of device management types to limit platform search results. Supported values are: `EQUINIX-CONFIGURED`, `SELF-CONFIGURED`.
     */
    managementTypes?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * List of software package codes to limit platform search results.
     */
    packages?: pulumi.Input<pulumi.Input<string>[]>;
}
