import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource manages MxCluster (cluster of MxEdge devices) in the Mist Organization.
 *
 * A Mist Edge Cluster is a group of one or more Org Mist Edge devices (mist_org_mxedge) providing tunnel termination, edge network services and RADIUS proxy capabilities.
 *
 * ## Import
 *
 * Using `pulumi import`, import `junipermist.org.Mxcluster` with:
 * Mist Org MxCluster can be imported by specifying the orgId and the mxclusterId
 *
 * ```sh
 * $ pulumi import junipermist:org/mxcluster:Mxcluster cluster_one 17f90707-aebe-4274-af42-f42952a665a3.387804a7-3474-85ce-15a2-f9a9684c9c90
 * ```
 */
export declare class Mxcluster extends pulumi.CustomResource {
    /**
     * Get an existing Mxcluster resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: MxclusterState, opts?: pulumi.CustomResourceOptions): Mxcluster;
    /**
     * Returns true if the given object is an instance of Mxcluster.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is Mxcluster;
    /**
     * Dynamic authorization service settings for the cluster
     */
    readonly mistDas: pulumi.Output<outputs.org.MxclusterMistDas | undefined>;
    /**
     * NAC settings for the Mist Edge cluster
     */
    readonly mistNac: pulumi.Output<outputs.org.MxclusterMistNac | undefined>;
    /**
     * NAC Edge survivability settings for the cluster; requires `mistNac` to be enabled
     */
    readonly mistNacedge: pulumi.Output<outputs.org.MxclusterMistNacedge | undefined>;
    /**
     * Out-of-band management settings for Mist Edges in the cluster
     */
    readonly mxedgeMgmt: pulumi.Output<outputs.org.MxclusterMxedgeMgmt | undefined>;
    /**
     * Display name of the Mist Edge cluster
     */
    readonly name: pulumi.Output<string>;
    /**
     * Identifier of the org that owns the Mist Edge cluster
     */
    readonly orgId: pulumi.Output<string>;
    /**
     * Network proxy settings used by Mist Edges in the cluster to communicate with the Mist Cloud
     */
    readonly proxy: pulumi.Output<outputs.org.MxclusterProxy | undefined>;
    /**
     * TLS RADIUS proxy settings for the Mist Edge cluster
     */
    readonly radsec: pulumi.Output<outputs.org.MxclusterRadsec | undefined>;
    /**
     * TLS keypair settings for RadSec on the Mist Edge cluster
     */
    readonly radsecTls: pulumi.Output<outputs.org.MxclusterRadsecTls>;
    /**
     * Identifier of the site when the Mist Edge cluster is site-scoped
     */
    readonly siteId: pulumi.Output<string | undefined>;
    /**
     * AP source subnets allowed to establish Mist tunnels
     */
    readonly tuntermApSubnets: pulumi.Output<string[] | undefined>;
    /**
     * DHCP relay or server settings for tunneled VLANs
     */
    readonly tuntermDhcpdConfig: pulumi.Output<{
        [key: string]: outputs.org.MxclusterTuntermDhcpdConfig;
    } | undefined>;
    /**
     * Extra routes for Mist Tunnel VLAN traffic
     */
    readonly tuntermExtraRoutes: pulumi.Output<{
        [key: string]: outputs.org.MxclusterTuntermExtraRoutes;
    } | undefined>;
    /**
     * Hostnames or IP addresses used as Mist Tunnel peers
     */
    readonly tuntermHosts: pulumi.Output<string[] | undefined>;
    /**
     * Explicit host ordering indexes used when ordered selection is configured
     */
    readonly tuntermHostsOrders: pulumi.Output<number[] | undefined>;
    /**
     * Selection strategy for ordering tunnel termination hosts
     */
    readonly tuntermHostsSelection: pulumi.Output<string>;
    /**
     * Whether tunnel termination monitoring is disabled for the cluster
     */
    readonly tuntermMonitoringDisabled: pulumi.Output<boolean | undefined>;
    /**
     * Monitoring checks for tunnel termination reachability
     */
    readonly tuntermMonitorings: pulumi.Output<outputs.org.MxclusterTuntermMonitoring[][] | undefined>;
    /**
     * Create a Mxcluster resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: MxclusterArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering Mxcluster resources.
 */
export interface MxclusterState {
    /**
     * Dynamic authorization service settings for the cluster
     */
    mistDas?: pulumi.Input<inputs.org.MxclusterMistDas | undefined>;
    /**
     * NAC settings for the Mist Edge cluster
     */
    mistNac?: pulumi.Input<inputs.org.MxclusterMistNac | undefined>;
    /**
     * NAC Edge survivability settings for the cluster; requires `mistNac` to be enabled
     */
    mistNacedge?: pulumi.Input<inputs.org.MxclusterMistNacedge | undefined>;
    /**
     * Out-of-band management settings for Mist Edges in the cluster
     */
    mxedgeMgmt?: pulumi.Input<inputs.org.MxclusterMxedgeMgmt | undefined>;
    /**
     * Display name of the Mist Edge cluster
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Identifier of the org that owns the Mist Edge cluster
     */
    orgId?: pulumi.Input<string | undefined>;
    /**
     * Network proxy settings used by Mist Edges in the cluster to communicate with the Mist Cloud
     */
    proxy?: pulumi.Input<inputs.org.MxclusterProxy | undefined>;
    /**
     * TLS RADIUS proxy settings for the Mist Edge cluster
     */
    radsec?: pulumi.Input<inputs.org.MxclusterRadsec | undefined>;
    /**
     * TLS keypair settings for RadSec on the Mist Edge cluster
     */
    radsecTls?: pulumi.Input<inputs.org.MxclusterRadsecTls | undefined>;
    /**
     * Identifier of the site when the Mist Edge cluster is site-scoped
     */
    siteId?: pulumi.Input<string | undefined>;
    /**
     * AP source subnets allowed to establish Mist tunnels
     */
    tuntermApSubnets?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * DHCP relay or server settings for tunneled VLANs
     */
    tuntermDhcpdConfig?: pulumi.Input<{
        [key: string]: pulumi.Input<inputs.org.MxclusterTuntermDhcpdConfig>;
    } | undefined>;
    /**
     * Extra routes for Mist Tunnel VLAN traffic
     */
    tuntermExtraRoutes?: pulumi.Input<{
        [key: string]: pulumi.Input<inputs.org.MxclusterTuntermExtraRoutes>;
    } | undefined>;
    /**
     * Hostnames or IP addresses used as Mist Tunnel peers
     */
    tuntermHosts?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Explicit host ordering indexes used when ordered selection is configured
     */
    tuntermHostsOrders?: pulumi.Input<pulumi.Input<number>[] | undefined>;
    /**
     * Selection strategy for ordering tunnel termination hosts
     */
    tuntermHostsSelection?: pulumi.Input<string | undefined>;
    /**
     * Whether tunnel termination monitoring is disabled for the cluster
     */
    tuntermMonitoringDisabled?: pulumi.Input<boolean | undefined>;
    /**
     * Monitoring checks for tunnel termination reachability
     */
    tuntermMonitorings?: pulumi.Input<pulumi.Input<pulumi.Input<inputs.org.MxclusterTuntermMonitoring>[]>[] | undefined>;
}
/**
 * The set of arguments for constructing a Mxcluster resource.
 */
export interface MxclusterArgs {
    /**
     * Dynamic authorization service settings for the cluster
     */
    mistDas?: pulumi.Input<inputs.org.MxclusterMistDas | undefined>;
    /**
     * NAC settings for the Mist Edge cluster
     */
    mistNac?: pulumi.Input<inputs.org.MxclusterMistNac | undefined>;
    /**
     * NAC Edge survivability settings for the cluster; requires `mistNac` to be enabled
     */
    mistNacedge?: pulumi.Input<inputs.org.MxclusterMistNacedge | undefined>;
    /**
     * Out-of-band management settings for Mist Edges in the cluster
     */
    mxedgeMgmt?: pulumi.Input<inputs.org.MxclusterMxedgeMgmt | undefined>;
    /**
     * Display name of the Mist Edge cluster
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Identifier of the org that owns the Mist Edge cluster
     */
    orgId: pulumi.Input<string>;
    /**
     * Network proxy settings used by Mist Edges in the cluster to communicate with the Mist Cloud
     */
    proxy?: pulumi.Input<inputs.org.MxclusterProxy | undefined>;
    /**
     * TLS RADIUS proxy settings for the Mist Edge cluster
     */
    radsec?: pulumi.Input<inputs.org.MxclusterRadsec | undefined>;
    /**
     * Identifier of the site when the Mist Edge cluster is site-scoped
     */
    siteId?: pulumi.Input<string | undefined>;
    /**
     * AP source subnets allowed to establish Mist tunnels
     */
    tuntermApSubnets?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * DHCP relay or server settings for tunneled VLANs
     */
    tuntermDhcpdConfig?: pulumi.Input<{
        [key: string]: pulumi.Input<inputs.org.MxclusterTuntermDhcpdConfig>;
    } | undefined>;
    /**
     * Extra routes for Mist Tunnel VLAN traffic
     */
    tuntermExtraRoutes?: pulumi.Input<{
        [key: string]: pulumi.Input<inputs.org.MxclusterTuntermExtraRoutes>;
    } | undefined>;
    /**
     * Hostnames or IP addresses used as Mist Tunnel peers
     */
    tuntermHosts?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Explicit host ordering indexes used when ordered selection is configured
     */
    tuntermHostsOrders?: pulumi.Input<pulumi.Input<number>[] | undefined>;
    /**
     * Selection strategy for ordering tunnel termination hosts
     */
    tuntermHostsSelection?: pulumi.Input<string | undefined>;
    /**
     * Whether tunnel termination monitoring is disabled for the cluster
     */
    tuntermMonitoringDisabled?: pulumi.Input<boolean | undefined>;
    /**
     * Monitoring checks for tunnel termination reachability
     */
    tuntermMonitorings?: pulumi.Input<pulumi.Input<pulumi.Input<inputs.org.MxclusterTuntermMonitoring>[]>[] | undefined>;
}
//# sourceMappingURL=mxcluster.d.ts.map