import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Uses Azure REST API version 2025-02-01. In version 2.x of the Azure Native provider, it used API version 2023-10-01-preview.
 *
 * Other available API versions: 2024-07-01, 2024-10-01-preview, 2025-07-01-preview, 2025-09-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native networkcloud [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.
 */
export declare class BareMetalMachineKeySet extends pulumi.CustomResource {
    /**
     * Get an existing BareMetalMachineKeySet 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 opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): BareMetalMachineKeySet;
    /**
     * Returns true if the given object is an instance of BareMetalMachineKeySet.  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 BareMetalMachineKeySet;
    /**
     * The Azure API version of the resource.
     */
    readonly azureApiVersion: pulumi.Output<string>;
    /**
     * The object ID of Azure Active Directory group that all users in the list must be in for access to be granted. Users that are not in the group will not have access.
     */
    readonly azureGroupId: pulumi.Output<string>;
    /**
     * The more detailed status of the key set.
     */
    readonly detailedStatus: pulumi.Output<string>;
    /**
     * The descriptive message about the current detailed status.
     */
    readonly detailedStatusMessage: pulumi.Output<string>;
    /**
     * Resource ETag.
     */
    readonly etag: pulumi.Output<string>;
    /**
     * The date and time after which the users in this key set will be removed from the bare metal machines.
     */
    readonly expiration: pulumi.Output<string>;
    /**
     * The extended location of the cluster associated with the resource.
     */
    readonly extendedLocation: pulumi.Output<outputs.networkcloud.ExtendedLocationResponse>;
    /**
     * The list of IP addresses of jump hosts with management network access from which a login will be allowed for the users.
     */
    readonly jumpHostsAllowed: pulumi.Output<string[]>;
    /**
     * The last time this key set was validated.
     */
    readonly lastValidation: pulumi.Output<string>;
    /**
     * The geo-location where the resource lives
     */
    readonly location: pulumi.Output<string>;
    /**
     * The name of the resource
     */
    readonly name: pulumi.Output<string>;
    /**
     * The name of the group that users will be assigned to on the operating system of the machines.
     */
    readonly osGroupName: pulumi.Output<string | undefined>;
    /**
     * The access level allowed for the users in this key set.
     */
    readonly privilegeLevel: pulumi.Output<string>;
    /**
     * The provisioning state of the bare metal machine key set.
     */
    readonly provisioningState: pulumi.Output<string>;
    /**
     * Azure Resource Manager metadata containing createdBy and modifiedBy information.
     */
    readonly systemData: pulumi.Output<outputs.networkcloud.SystemDataResponse>;
    /**
     * Resource tags.
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    } | undefined>;
    /**
     * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     */
    readonly type: pulumi.Output<string>;
    /**
     * The unique list of permitted users.
     */
    readonly userList: pulumi.Output<outputs.networkcloud.KeySetUserResponse[]>;
    /**
     * The status evaluation of each user.
     */
    readonly userListStatus: pulumi.Output<outputs.networkcloud.KeySetUserStatusResponse[]>;
    /**
     * Create a BareMetalMachineKeySet 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: BareMetalMachineKeySetArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a BareMetalMachineKeySet resource.
 */
export interface BareMetalMachineKeySetArgs {
    /**
     * The object ID of Azure Active Directory group that all users in the list must be in for access to be granted. Users that are not in the group will not have access.
     */
    azureGroupId: pulumi.Input<string>;
    /**
     * The name of the bare metal machine key set.
     */
    bareMetalMachineKeySetName?: pulumi.Input<string>;
    /**
     * The name of the cluster.
     */
    clusterName: pulumi.Input<string>;
    /**
     * The date and time after which the users in this key set will be removed from the bare metal machines.
     */
    expiration: pulumi.Input<string>;
    /**
     * The extended location of the cluster associated with the resource.
     */
    extendedLocation: pulumi.Input<inputs.networkcloud.ExtendedLocationArgs>;
    /**
     * The list of IP addresses of jump hosts with management network access from which a login will be allowed for the users.
     */
    jumpHostsAllowed: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The geo-location where the resource lives
     */
    location?: pulumi.Input<string>;
    /**
     * The name of the group that users will be assigned to on the operating system of the machines.
     */
    osGroupName?: pulumi.Input<string>;
    /**
     * The access level allowed for the users in this key set.
     */
    privilegeLevel: pulumi.Input<string | enums.networkcloud.BareMetalMachineKeySetPrivilegeLevel>;
    /**
     * The name of the resource group. The name is case insensitive.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * Resource tags.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * The unique list of permitted users.
     */
    userList: pulumi.Input<pulumi.Input<inputs.networkcloud.KeySetUserArgs>[]>;
}
