import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource manages the Site Wxlan tags (labels).
 * A WxTag is a label or tag used in the mist system to classify and categorize applications, users, and resources for the purpose of creating policies and making network management decisions.They can be used
 * * within the Org WxRules to create filtering rules:
 *   * `mist_site_wxrule.dst_allow_wxtags`
 *   * `mist_site_wxrule.dst_deny_wxtags`
 *   * `mist_site_wxrule.dst_wxtags`
 *   * `mist_site_wxrule.src_wxtags`
 * * within the Org WxRules to assign specific VLAN:
 *   * `mist_site_wxrule.apply_tags`
 * * in the WLANs configuration to assign a WLAN to specific APs:
 *   * `mist_site_wlan.wxtag_ids`
 * * to identify unknown application used by Wi-Fi clients
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as junipermist from "@pulumi/juniper-mist";
 *
 * const wxtagOne = new junipermist.site.Wxtag("wxtag_one", {
 *     siteId: terraformTest.id,
 *     name: "wtag_one",
 *     values: ["10.3.0.0/16"],
 *     op: "in",
 *     type: "match",
 *     match: "ip_range_subnet",
 * });
 * ```
 *
 * ## Import
 *
 * Using `pulumi import`, import `mist_site_wxtag` with:
 *
 * Site WxTag can be imported by specifying the site_id and the wxtag_id
 *
 * ```sh
 * $ pulumi import junipermist:site/wxtag:Wxtag wxtag_one 17b46405-3a6d-4715-8bb4-6bb6d06f316a.d3c42998-9012-4859-9743-6b9bee475309
 * ```
 */
export declare class Wxtag extends pulumi.CustomResource {
    /**
     * Get an existing Wxtag 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?: WxtagState, opts?: pulumi.CustomResourceOptions): Wxtag;
    /**
     * Returns true if the given object is an instance of Wxtag.  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 Wxtag;
    /**
     * If `type`==`client`, Client MAC Address
     */
    readonly mac: pulumi.Output<string | undefined>;
    /**
     * required if `type`==`match`. enum: `apId`, `app`, `assetMac`, `clientMac`, `hostname`, `ipRangeSubnet`, `port`,
     * `pskName`, `pskRole`, `radiusAttr`, `radiusClass`, `radiusGroup`, `radiusUsername`, `sdkclientUuid`, `wlanId`
     */
    readonly match: pulumi.Output<string | undefined>;
    /**
     * The name
     */
    readonly name: pulumi.Output<string>;
    /**
     * required if `type`==`match`, type of tag (inclusive/exclusive). enum: `in`, `notIn`
     */
    readonly op: pulumi.Output<string | undefined>;
    readonly siteId: pulumi.Output<string>;
    /**
     * If `type`==`spec`
     */
    readonly specs: pulumi.Output<outputs.site.WxtagSpec[] | undefined>;
    /**
     * enum: `client`, `match`, `resource`, `spec`, `subnet`, `vlan`
     */
    readonly type: pulumi.Output<string>;
    /**
     * Required if `type`==`match` and * `match`==`apId`: list of AP IDs * `match`==`app`: list of Application Names *
     * `match`==`assetMac`: list of Asset MAC Addresses * `match`==`clientMac`: list of Client MAC Addresses *
     * `match`==`hostname`: list of Resources Hostnames * `match`==`ipRangeSubnet`: list of IP Addresses and/or CIDRs *
     * `match`==`pskName`: list of PSK Names * `match`==`pskRole`: list of PSK Roles * `match`==`port`: list of Ports or Port
     * Ranges * `match`==`radiusAttr`: list of RADIUS Attributes. The values are [ "6=1", "26=10.2.3.4" ], this support other
     * RADIUS attributes where we know the type * `match`==`radiusClass`: list of RADIUS Classes. This matches the
     * ATTR-Class(25) * `match`==`radiusGroup`: list of RADIUS Groups. This is a smart tag that matches RADIUS-Filter-ID,
     * Airespace-ACL-Name (VendorID=14179, VendorType=6) / Aruba-User-Role (VendorID=14823, VendorType=1) *
     * `match`==`radiusUsername`: list of RADIUS Usernames. This matches the ATTR-User-Name(1) * `match`==`sdkclientUuid`: list
     * of SDK UUIDs * `match`==`wlanId`: list of WLAN IDs **Notes**: Variables are not allowed
     */
    readonly values: pulumi.Output<string[] | undefined>;
    readonly vlanId: pulumi.Output<string | undefined>;
    /**
     * Create a Wxtag 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: WxtagArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering Wxtag resources.
 */
export interface WxtagState {
    /**
     * If `type`==`client`, Client MAC Address
     */
    mac?: pulumi.Input<string>;
    /**
     * required if `type`==`match`. enum: `apId`, `app`, `assetMac`, `clientMac`, `hostname`, `ipRangeSubnet`, `port`,
     * `pskName`, `pskRole`, `radiusAttr`, `radiusClass`, `radiusGroup`, `radiusUsername`, `sdkclientUuid`, `wlanId`
     */
    match?: pulumi.Input<string>;
    /**
     * The name
     */
    name?: pulumi.Input<string>;
    /**
     * required if `type`==`match`, type of tag (inclusive/exclusive). enum: `in`, `notIn`
     */
    op?: pulumi.Input<string>;
    siteId?: pulumi.Input<string>;
    /**
     * If `type`==`spec`
     */
    specs?: pulumi.Input<pulumi.Input<inputs.site.WxtagSpec>[]>;
    /**
     * enum: `client`, `match`, `resource`, `spec`, `subnet`, `vlan`
     */
    type?: pulumi.Input<string>;
    /**
     * Required if `type`==`match` and * `match`==`apId`: list of AP IDs * `match`==`app`: list of Application Names *
     * `match`==`assetMac`: list of Asset MAC Addresses * `match`==`clientMac`: list of Client MAC Addresses *
     * `match`==`hostname`: list of Resources Hostnames * `match`==`ipRangeSubnet`: list of IP Addresses and/or CIDRs *
     * `match`==`pskName`: list of PSK Names * `match`==`pskRole`: list of PSK Roles * `match`==`port`: list of Ports or Port
     * Ranges * `match`==`radiusAttr`: list of RADIUS Attributes. The values are [ "6=1", "26=10.2.3.4" ], this support other
     * RADIUS attributes where we know the type * `match`==`radiusClass`: list of RADIUS Classes. This matches the
     * ATTR-Class(25) * `match`==`radiusGroup`: list of RADIUS Groups. This is a smart tag that matches RADIUS-Filter-ID,
     * Airespace-ACL-Name (VendorID=14179, VendorType=6) / Aruba-User-Role (VendorID=14823, VendorType=1) *
     * `match`==`radiusUsername`: list of RADIUS Usernames. This matches the ATTR-User-Name(1) * `match`==`sdkclientUuid`: list
     * of SDK UUIDs * `match`==`wlanId`: list of WLAN IDs **Notes**: Variables are not allowed
     */
    values?: pulumi.Input<pulumi.Input<string>[]>;
    vlanId?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a Wxtag resource.
 */
export interface WxtagArgs {
    /**
     * If `type`==`client`, Client MAC Address
     */
    mac?: pulumi.Input<string>;
    /**
     * required if `type`==`match`. enum: `apId`, `app`, `assetMac`, `clientMac`, `hostname`, `ipRangeSubnet`, `port`,
     * `pskName`, `pskRole`, `radiusAttr`, `radiusClass`, `radiusGroup`, `radiusUsername`, `sdkclientUuid`, `wlanId`
     */
    match?: pulumi.Input<string>;
    /**
     * The name
     */
    name?: pulumi.Input<string>;
    /**
     * required if `type`==`match`, type of tag (inclusive/exclusive). enum: `in`, `notIn`
     */
    op?: pulumi.Input<string>;
    siteId: pulumi.Input<string>;
    /**
     * If `type`==`spec`
     */
    specs?: pulumi.Input<pulumi.Input<inputs.site.WxtagSpec>[]>;
    /**
     * enum: `client`, `match`, `resource`, `spec`, `subnet`, `vlan`
     */
    type: pulumi.Input<string>;
    /**
     * Required if `type`==`match` and * `match`==`apId`: list of AP IDs * `match`==`app`: list of Application Names *
     * `match`==`assetMac`: list of Asset MAC Addresses * `match`==`clientMac`: list of Client MAC Addresses *
     * `match`==`hostname`: list of Resources Hostnames * `match`==`ipRangeSubnet`: list of IP Addresses and/or CIDRs *
     * `match`==`pskName`: list of PSK Names * `match`==`pskRole`: list of PSK Roles * `match`==`port`: list of Ports or Port
     * Ranges * `match`==`radiusAttr`: list of RADIUS Attributes. The values are [ "6=1", "26=10.2.3.4" ], this support other
     * RADIUS attributes where we know the type * `match`==`radiusClass`: list of RADIUS Classes. This matches the
     * ATTR-Class(25) * `match`==`radiusGroup`: list of RADIUS Groups. This is a smart tag that matches RADIUS-Filter-ID,
     * Airespace-ACL-Name (VendorID=14179, VendorType=6) / Aruba-User-Role (VendorID=14823, VendorType=1) *
     * `match`==`radiusUsername`: list of RADIUS Usernames. This matches the ATTR-User-Name(1) * `match`==`sdkclientUuid`: list
     * of SDK UUIDs * `match`==`wlanId`: list of WLAN IDs **Notes**: Variables are not allowed
     */
    values?: pulumi.Input<pulumi.Input<string>[]>;
    vlanId?: pulumi.Input<string>;
}
