import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * ## Example Usage
 *
 * ## Import
 *
 * ```sh
 * $ pulumi import meraki:networks/switchAccessPolicies:SwitchAccessPolicies example "access_policy_number,network_id"
 * ```
 */
export declare class SwitchAccessPolicies extends pulumi.CustomResource {
    /**
     * Get an existing SwitchAccessPolicies 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?: SwitchAccessPoliciesState, opts?: pulumi.CustomResourceOptions): SwitchAccessPolicies;
    /**
     * Returns true if the given object is an instance of SwitchAccessPolicies.  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 SwitchAccessPolicies;
    /**
     * accessPolicyNumber path parameter. Access policy number
     */
    readonly accessPolicyNumber: pulumi.Output<string>;
    /**
     * Access Type of the policy. Automatically 'Hybrid authentication' when hostMode is 'Multi-Domain'.
     */
    readonly accessPolicyType: pulumi.Output<string>;
    /**
     * Counts associated with the access policy
     */
    readonly counts: pulumi.Output<outputs.networks.SwitchAccessPoliciesCounts>;
    /**
     * 802.1x Settings
     */
    readonly dot1x: pulumi.Output<outputs.networks.SwitchAccessPoliciesDot1x>;
    /**
     * If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
     */
    readonly guestPortBouncing: pulumi.Output<boolean>;
    /**
     * ID for the guest VLAN allow unauthorized devices access to limited network resources
     */
    readonly guestVlanId: pulumi.Output<number | undefined>;
    /**
     * Choose the Host Mode for the access policy.
     */
    readonly hostMode: pulumi.Output<string>;
    /**
     * Enabling this option will make switches execute 802.1X and MAC-bypass authentication simultaneously so that clients authenticate faster. Only required when accessPolicyType is 'Hybrid Authentication.
     */
    readonly increaseAccessSpeed: pulumi.Output<boolean>;
    /**
     * Name of the access policy
     */
    readonly name: pulumi.Output<string>;
    /**
     * networkId path parameter. Network ID
     */
    readonly networkId: pulumi.Output<string>;
    /**
     * Object for RADIUS Settings
     */
    readonly radius: pulumi.Output<outputs.networks.SwitchAccessPoliciesRadius>;
    /**
     * Enable to send start, interim-update and stop messages to a configured RADIUS accounting server for tracking connected clients
     */
    readonly radiusAccountingEnabled: pulumi.Output<boolean>;
    /**
     * List of RADIUS accounting servers to require connecting devices to authenticate against before granting network access
     */
    readonly radiusAccountingServers: pulumi.Output<outputs.networks.SwitchAccessPoliciesRadiusAccountingServer[] | undefined>;
    /**
     * List of RADIUS accounting servers to require connecting devices to authenticate against before granting network access
     */
    readonly radiusAccountingServersResponses: pulumi.Output<outputs.networks.SwitchAccessPoliciesRadiusAccountingServersResponse[]>;
    /**
     * Change of authentication for RADIUS re-authentication and disconnection
     */
    readonly radiusCoaSupportEnabled: pulumi.Output<boolean>;
    /**
     * Acceptable values are *""* for None, or *"11"* for Group Policies ACL
     */
    readonly radiusGroupAttribute: pulumi.Output<string>;
    /**
     * List of RADIUS servers to require connecting devices to authenticate against before granting network access
     */
    readonly radiusServers: pulumi.Output<outputs.networks.SwitchAccessPoliciesRadiusServer[] | undefined>;
    /**
     * List of RADIUS servers to require connecting devices to authenticate against before granting network access
     */
    readonly radiusServersResponses: pulumi.Output<outputs.networks.SwitchAccessPoliciesRadiusServersResponse[]>;
    /**
     * If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
     */
    readonly radiusTestingEnabled: pulumi.Output<boolean>;
    /**
     * Enable to restrict access for clients to a responseObjectific set of IP addresses or hostnames prior to authentication
     */
    readonly urlRedirectWalledGardenEnabled: pulumi.Output<boolean>;
    /**
     * IP address ranges, in CIDR notation, to restrict access for clients to a specific set of IP addresses or hostnames prior to authentication
     */
    readonly urlRedirectWalledGardenRanges: pulumi.Output<string[] | undefined>;
    /**
     * CDP/LLDP capable voice clients will be able to use this VLAN. Automatically true when hostMode is 'Multi-Domain'.
     */
    readonly voiceVlanClients: pulumi.Output<boolean>;
    /**
     * Create a SwitchAccessPolicies 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: SwitchAccessPoliciesArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering SwitchAccessPolicies resources.
 */
export interface SwitchAccessPoliciesState {
    /**
     * accessPolicyNumber path parameter. Access policy number
     */
    accessPolicyNumber?: pulumi.Input<string>;
    /**
     * Access Type of the policy. Automatically 'Hybrid authentication' when hostMode is 'Multi-Domain'.
     */
    accessPolicyType?: pulumi.Input<string>;
    /**
     * Counts associated with the access policy
     */
    counts?: pulumi.Input<inputs.networks.SwitchAccessPoliciesCounts>;
    /**
     * 802.1x Settings
     */
    dot1x?: pulumi.Input<inputs.networks.SwitchAccessPoliciesDot1x>;
    /**
     * If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
     */
    guestPortBouncing?: pulumi.Input<boolean>;
    /**
     * ID for the guest VLAN allow unauthorized devices access to limited network resources
     */
    guestVlanId?: pulumi.Input<number>;
    /**
     * Choose the Host Mode for the access policy.
     */
    hostMode?: pulumi.Input<string>;
    /**
     * Enabling this option will make switches execute 802.1X and MAC-bypass authentication simultaneously so that clients authenticate faster. Only required when accessPolicyType is 'Hybrid Authentication.
     */
    increaseAccessSpeed?: pulumi.Input<boolean>;
    /**
     * Name of the access policy
     */
    name?: pulumi.Input<string>;
    /**
     * networkId path parameter. Network ID
     */
    networkId?: pulumi.Input<string>;
    /**
     * Object for RADIUS Settings
     */
    radius?: pulumi.Input<inputs.networks.SwitchAccessPoliciesRadius>;
    /**
     * Enable to send start, interim-update and stop messages to a configured RADIUS accounting server for tracking connected clients
     */
    radiusAccountingEnabled?: pulumi.Input<boolean>;
    /**
     * List of RADIUS accounting servers to require connecting devices to authenticate against before granting network access
     */
    radiusAccountingServers?: pulumi.Input<pulumi.Input<inputs.networks.SwitchAccessPoliciesRadiusAccountingServer>[]>;
    /**
     * List of RADIUS accounting servers to require connecting devices to authenticate against before granting network access
     */
    radiusAccountingServersResponses?: pulumi.Input<pulumi.Input<inputs.networks.SwitchAccessPoliciesRadiusAccountingServersResponse>[]>;
    /**
     * Change of authentication for RADIUS re-authentication and disconnection
     */
    radiusCoaSupportEnabled?: pulumi.Input<boolean>;
    /**
     * Acceptable values are *""* for None, or *"11"* for Group Policies ACL
     */
    radiusGroupAttribute?: pulumi.Input<string>;
    /**
     * List of RADIUS servers to require connecting devices to authenticate against before granting network access
     */
    radiusServers?: pulumi.Input<pulumi.Input<inputs.networks.SwitchAccessPoliciesRadiusServer>[]>;
    /**
     * List of RADIUS servers to require connecting devices to authenticate against before granting network access
     */
    radiusServersResponses?: pulumi.Input<pulumi.Input<inputs.networks.SwitchAccessPoliciesRadiusServersResponse>[]>;
    /**
     * If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
     */
    radiusTestingEnabled?: pulumi.Input<boolean>;
    /**
     * Enable to restrict access for clients to a responseObjectific set of IP addresses or hostnames prior to authentication
     */
    urlRedirectWalledGardenEnabled?: pulumi.Input<boolean>;
    /**
     * IP address ranges, in CIDR notation, to restrict access for clients to a specific set of IP addresses or hostnames prior to authentication
     */
    urlRedirectWalledGardenRanges?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * CDP/LLDP capable voice clients will be able to use this VLAN. Automatically true when hostMode is 'Multi-Domain'.
     */
    voiceVlanClients?: pulumi.Input<boolean>;
}
/**
 * The set of arguments for constructing a SwitchAccessPolicies resource.
 */
export interface SwitchAccessPoliciesArgs {
    /**
     * accessPolicyNumber path parameter. Access policy number
     */
    accessPolicyNumber?: pulumi.Input<string>;
    /**
     * Access Type of the policy. Automatically 'Hybrid authentication' when hostMode is 'Multi-Domain'.
     */
    accessPolicyType?: pulumi.Input<string>;
    /**
     * 802.1x Settings
     */
    dot1x?: pulumi.Input<inputs.networks.SwitchAccessPoliciesDot1x>;
    /**
     * If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
     */
    guestPortBouncing?: pulumi.Input<boolean>;
    /**
     * ID for the guest VLAN allow unauthorized devices access to limited network resources
     */
    guestVlanId?: pulumi.Input<number>;
    /**
     * Choose the Host Mode for the access policy.
     */
    hostMode?: pulumi.Input<string>;
    /**
     * Enabling this option will make switches execute 802.1X and MAC-bypass authentication simultaneously so that clients authenticate faster. Only required when accessPolicyType is 'Hybrid Authentication.
     */
    increaseAccessSpeed?: pulumi.Input<boolean>;
    /**
     * Name of the access policy
     */
    name?: pulumi.Input<string>;
    /**
     * networkId path parameter. Network ID
     */
    networkId: pulumi.Input<string>;
    /**
     * Object for RADIUS Settings
     */
    radius?: pulumi.Input<inputs.networks.SwitchAccessPoliciesRadius>;
    /**
     * Enable to send start, interim-update and stop messages to a configured RADIUS accounting server for tracking connected clients
     */
    radiusAccountingEnabled?: pulumi.Input<boolean>;
    /**
     * List of RADIUS accounting servers to require connecting devices to authenticate against before granting network access
     */
    radiusAccountingServers?: pulumi.Input<pulumi.Input<inputs.networks.SwitchAccessPoliciesRadiusAccountingServer>[]>;
    /**
     * Change of authentication for RADIUS re-authentication and disconnection
     */
    radiusCoaSupportEnabled?: pulumi.Input<boolean>;
    /**
     * Acceptable values are *""* for None, or *"11"* for Group Policies ACL
     */
    radiusGroupAttribute?: pulumi.Input<string>;
    /**
     * List of RADIUS servers to require connecting devices to authenticate against before granting network access
     */
    radiusServers?: pulumi.Input<pulumi.Input<inputs.networks.SwitchAccessPoliciesRadiusServer>[]>;
    /**
     * If enabled, Meraki devices will periodically send access-request messages to these RADIUS servers
     */
    radiusTestingEnabled?: pulumi.Input<boolean>;
    /**
     * Enable to restrict access for clients to a responseObjectific set of IP addresses or hostnames prior to authentication
     */
    urlRedirectWalledGardenEnabled?: pulumi.Input<boolean>;
    /**
     * IP address ranges, in CIDR notation, to restrict access for clients to a specific set of IP addresses or hostnames prior to authentication
     */
    urlRedirectWalledGardenRanges?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * CDP/LLDP capable voice clients will be able to use this VLAN. Automatically true when hostMode is 'Multi-Domain'.
     */
    voiceVlanClients?: pulumi.Input<boolean>;
}
