import * as pulumi from "@pulumi/pulumi";
/**
 * Retrieves information about an EVPN Zone in Proxmox SDN. The EVPN zone creates a routable Layer 3 network, capable of spanning across multiple clusters.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
 *
 * const example = proxmoxve.sdn.zone.getEvpn({
 *     id: "evpn1",
 * });
 * export const dataProxmoxSdnZoneEvpn = {
 *     id: example.then(example => example.id),
 *     nodes: example.then(example => example.nodes),
 *     controller: example.then(example => example.controller),
 *     vrfVxlan: example.then(example => example.vrfVxlan),
 *     advertiseSubnets: example.then(example => example.advertiseSubnets),
 *     disableArpNdSuppression: example.then(example => example.disableArpNdSuppression),
 *     exitNodes: example.then(example => example.exitNodes),
 *     exitNodesLocalRouting: example.then(example => example.exitNodesLocalRouting),
 *     primaryExitNode: example.then(example => example.primaryExitNode),
 *     rtImport: example.then(example => example.rtImport),
 *     mtu: example.then(example => example.mtu),
 *     dns: example.then(example => example.dns),
 *     dnsZone: example.then(example => example.dnsZone),
 *     ipam: example.then(example => example.ipam),
 *     reverseDns: example.then(example => example.reverseDns),
 * };
 * ```
 */
export declare function getEvpn(args: GetEvpnArgs, opts?: pulumi.InvokeOptions): Promise<GetEvpnResult>;
/**
 * A collection of arguments for invoking getEvpn.
 */
export interface GetEvpnArgs {
    /**
     * The unique identifier of the SDN zone.
     */
    id: string;
}
/**
 * A collection of values returned by getEvpn.
 */
export interface GetEvpnResult {
    /**
     * Enable subnet advertisement for EVPN.
     */
    readonly advertiseSubnets: boolean;
    /**
     * EVPN controller address.
     */
    readonly controller: string;
    /**
     * Disable ARP/ND suppression for EVPN.
     */
    readonly disableArpNdSuppression: boolean;
    /**
     * DNS API server address.
     */
    readonly dns: string;
    /**
     * DNS domain name. Used to register hostnames, such as `<hostname>.<domain>`. The DNS zone must already exist on the DNS server.
     */
    readonly dnsZone: string;
    /**
     * List of exit nodes for EVPN.
     */
    readonly exitNodes: string[];
    /**
     * Enable local routing for EVPN exit nodes.
     */
    readonly exitNodesLocalRouting: boolean;
    /**
     * The unique identifier of the SDN zone.
     */
    readonly id: string;
    /**
     * IP Address Management system.
     */
    readonly ipam: string;
    /**
     * MTU value for the zone.
     */
    readonly mtu: number;
    /**
     * The Proxmox nodes which the zone and associated VNets are deployed on
     */
    readonly nodes: string[];
    /**
     * Indicates if the zone has pending configuration changes that need to be applied.
     */
    readonly pending: boolean;
    /**
     * Primary exit node for EVPN.
     */
    readonly primaryExitNode: string;
    /**
     * Reverse DNS API server address.
     */
    readonly reverseDns: string;
    /**
     * Route target import for EVPN. Must be in the format '\n\n:\n\n' (e.g., '65000:65000').
     */
    readonly rtImport: string;
    /**
     * Indicates the current state of the zone.
     */
    readonly state: string;
    /**
     * VRF VXLAN-ID used for dedicated routing interconnect between VNets. It must be different than the VXLAN-ID of the VNets.
     */
    readonly vrfVxlan: number;
}
/**
 * Retrieves information about an EVPN Zone in Proxmox SDN. The EVPN zone creates a routable Layer 3 network, capable of spanning across multiple clusters.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
 *
 * const example = proxmoxve.sdn.zone.getEvpn({
 *     id: "evpn1",
 * });
 * export const dataProxmoxSdnZoneEvpn = {
 *     id: example.then(example => example.id),
 *     nodes: example.then(example => example.nodes),
 *     controller: example.then(example => example.controller),
 *     vrfVxlan: example.then(example => example.vrfVxlan),
 *     advertiseSubnets: example.then(example => example.advertiseSubnets),
 *     disableArpNdSuppression: example.then(example => example.disableArpNdSuppression),
 *     exitNodes: example.then(example => example.exitNodes),
 *     exitNodesLocalRouting: example.then(example => example.exitNodesLocalRouting),
 *     primaryExitNode: example.then(example => example.primaryExitNode),
 *     rtImport: example.then(example => example.rtImport),
 *     mtu: example.then(example => example.mtu),
 *     dns: example.then(example => example.dns),
 *     dnsZone: example.then(example => example.dnsZone),
 *     ipam: example.then(example => example.ipam),
 *     reverseDns: example.then(example => example.reverseDns),
 * };
 * ```
 */
export declare function getEvpnOutput(args: GetEvpnOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetEvpnResult>;
/**
 * A collection of arguments for invoking getEvpn.
 */
export interface GetEvpnOutputArgs {
    /**
     * The unique identifier of the SDN zone.
     */
    id: pulumi.Input<string>;
}
//# sourceMappingURL=getEvpn.d.ts.map