import * as pulumi from "@pulumi/pulumi";
/**
 * Retrieves information about a QinQ Zone in Proxmox SDN. QinQ also known as VLAN stacking, that uses multiple layers of VLAN tags for isolation. The QinQ zone defines the outer VLAN tag (the Service VLAN) whereas the inner VLAN tag is defined by the VNet. Your physical network switches must support stacked VLANs for this configuration. Due to the double stacking of tags, you need 4 more bytes for QinQ VLANs. For example, you must reduce the MTU to 1496 if you physical interface MTU is 1500.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
 *
 * const example = proxmoxve.sdn.zone.getQinq({
 *     id: "qinq1",
 * });
 * export const dataProxmoxSdnZoneQinq = {
 *     id: example.then(example => example.id),
 *     nodes: example.then(example => example.nodes),
 *     bridge: example.then(example => example.bridge),
 *     serviceVlan: example.then(example => example.serviceVlan),
 *     serviceVlanProtocol: example.then(example => example.serviceVlanProtocol),
 *     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 getQinq(args: GetQinqArgs, opts?: pulumi.InvokeOptions): Promise<GetQinqResult>;
/**
 * A collection of arguments for invoking getQinq.
 */
export interface GetQinqArgs {
    /**
     * The unique identifier of the SDN zone.
     */
    id: string;
}
/**
 * A collection of values returned by getQinq.
 */
export interface GetQinqResult {
    /**
     * A local, VLAN-aware bridge that is already configured on each local node
     */
    readonly bridge: string;
    /**
     * 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;
    /**
     * 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;
    /**
     * Reverse DNS API server address.
     */
    readonly reverseDns: string;
    /**
     * Service VLAN tag for QinQ. The tag must be between `1` and `4094`.
     */
    readonly serviceVlan: number;
    /**
     * Service VLAN protocol for QinQ. The protocol must be `802.1ad` or `802.1q`.
     */
    readonly serviceVlanProtocol: string;
    /**
     * Indicates the current state of the zone.
     */
    readonly state: string;
}
/**
 * Retrieves information about a QinQ Zone in Proxmox SDN. QinQ also known as VLAN stacking, that uses multiple layers of VLAN tags for isolation. The QinQ zone defines the outer VLAN tag (the Service VLAN) whereas the inner VLAN tag is defined by the VNet. Your physical network switches must support stacked VLANs for this configuration. Due to the double stacking of tags, you need 4 more bytes for QinQ VLANs. For example, you must reduce the MTU to 1496 if you physical interface MTU is 1500.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
 *
 * const example = proxmoxve.sdn.zone.getQinq({
 *     id: "qinq1",
 * });
 * export const dataProxmoxSdnZoneQinq = {
 *     id: example.then(example => example.id),
 *     nodes: example.then(example => example.nodes),
 *     bridge: example.then(example => example.bridge),
 *     serviceVlan: example.then(example => example.serviceVlan),
 *     serviceVlanProtocol: example.then(example => example.serviceVlanProtocol),
 *     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 getQinqOutput(args: GetQinqOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetQinqResult>;
/**
 * A collection of arguments for invoking getQinq.
 */
export interface GetQinqOutputArgs {
    /**
     * The unique identifier of the SDN zone.
     */
    id: pulumi.Input<string>;
}
//# sourceMappingURL=getQinq.d.ts.map