import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get the details of a specified IEC server.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const config = new pulumi.Config();
 * const serverName = config.requireObject("serverName");
 * const demo = huaweicloud.Iec.getServer({
 *     name: serverName,
 * });
 * ```
 */
export declare function getServer(args: GetServerArgs, opts?: pulumi.InvokeOptions): Promise<GetServerResult>;
/**
 * A collection of arguments for invoking getServer.
 */
export interface GetServerArgs {
    /**
     * Specifies the ID of the edgecloud service.
     */
    edgecloudId?: string;
    /**
     * Specifies the IEC server name, which can be queried with a regular expression.
     */
    name: string;
    /**
     * Specifies the status of IEC server.
     */
    status?: string;
}
/**
 * A collection of values returned by getServer.
 */
export interface GetServerResult {
    /**
     * An array of site ID and operator for the IEC server. The object structure is documented below.
     */
    readonly coverageSites: outputs.Iec.GetServerCoverageSite[];
    readonly edgecloudId: string;
    /**
     * The Name of the edgecloud service.
     */
    readonly edgecloudName: string;
    /**
     * The flavor ID of the IEC server.
     */
    readonly flavorId: string;
    /**
     * The flavor name of the IEC server.
     */
    readonly flavorName: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The image ID of the IEC server.
     */
    readonly imageId: string;
    /**
     * The image name of the IEC server.
     */
    readonly imageName: string;
    /**
     * The name of a key pair to put on the IEC server.
     */
    readonly keyPair: string;
    readonly name: string;
    /**
     * An array of one or more networks to attach to the IEC server. The object structure is documented below.
     */
    readonly nics: outputs.Iec.GetServerNic[];
    /**
     * The EIP address that is associated to the IEC server.
     */
    readonly publicIp: string;
    /**
     * An array of one or more security group IDs to associate with the IEC server.
     */
    readonly securityGroups: string[];
    readonly status: string;
    /**
     * The system disk volume ID.
     */
    readonly systemDiskId: string;
    /**
     * The user data (information after encoding) configured during IEC server creation.
     */
    readonly userData: string;
    /**
     * An array of one or more disks to attach to the IEC server. The object structure is documented
     * below.
     */
    readonly volumeAttacheds: outputs.Iec.GetServerVolumeAttached[];
    /**
     * The ID of vpc for the IEC server.
     */
    readonly vpcId: string;
}
export declare function getServerOutput(args: GetServerOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetServerResult>;
/**
 * A collection of arguments for invoking getServer.
 */
export interface GetServerOutputArgs {
    /**
     * Specifies the ID of the edgecloud service.
     */
    edgecloudId?: pulumi.Input<string>;
    /**
     * Specifies the IEC server name, which can be queried with a regular expression.
     */
    name: pulumi.Input<string>;
    /**
     * Specifies the status of IEC server.
     */
    status?: pulumi.Input<string>;
}
