import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Describes a hybrid machine.
 *
 * Uses Azure REST API version 2024-07-10. In version 2.x of the Azure Native provider, it used API version 2022-12-27.
 *
 * Other available API versions: 2020-08-15-preview, 2021-01-28-preview, 2021-03-25-preview, 2021-04-22-preview, 2021-05-17-preview, 2021-05-20, 2021-06-10-preview, 2021-12-10-preview, 2022-03-10, 2022-05-10-preview, 2022-08-11-preview, 2022-11-10, 2022-12-27, 2022-12-27-preview, 2023-03-15-preview, 2023-06-20-preview, 2023-10-03-preview, 2024-03-31-preview, 2024-05-20-preview, 2024-07-31-preview, 2024-09-10-preview, 2024-11-10-preview, 2025-01-13. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native hybridcompute [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.
 */
export declare class Machine extends pulumi.CustomResource {
    /**
     * Get an existing Machine 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): Machine;
    /**
     * Returns true if the given object is an instance of Machine.  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 Machine;
    /**
     * Specifies the AD fully qualified display name.
     */
    readonly adFqdn: pulumi.Output<string>;
    /**
     * Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM.
     */
    readonly agentConfiguration: pulumi.Output<outputs.hybridcompute.AgentConfigurationResponse>;
    /**
     * The info of the machine w.r.t Agent Upgrade
     */
    readonly agentUpgrade: pulumi.Output<outputs.hybridcompute.AgentUpgradeResponse | undefined>;
    /**
     * The hybrid machine agent full version.
     */
    readonly agentVersion: pulumi.Output<string>;
    /**
     * The Azure API version of the resource.
     */
    readonly azureApiVersion: pulumi.Output<string>;
    /**
     * Public Key that the client provides to be used during initial resource onboarding
     */
    readonly clientPublicKey: pulumi.Output<string | undefined>;
    /**
     * The metadata of the cloud environment (Azure/GCP/AWS/OCI...).
     */
    readonly cloudMetadata: pulumi.Output<outputs.hybridcompute.CloudMetadataResponse | undefined>;
    /**
     * Detected properties from the machine.
     */
    readonly detectedProperties: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * Specifies the hybrid machine display name.
     */
    readonly displayName: pulumi.Output<string>;
    /**
     * Specifies the DNS fully qualified display name.
     */
    readonly dnsFqdn: pulumi.Output<string>;
    /**
     * Specifies the Windows domain name.
     */
    readonly domainName: pulumi.Output<string>;
    /**
     * Details about the error state.
     */
    readonly errorDetails: pulumi.Output<outputs.hybridcompute.ErrorDetailResponse[]>;
    /**
     * Machine Extensions information (deprecated field)
     */
    readonly extensions: pulumi.Output<outputs.hybridcompute.MachineExtensionInstanceViewResponse[] | undefined>;
    /**
     * Identity for the resource.
     */
    readonly identity: pulumi.Output<outputs.hybridcompute.IdentityResponse | undefined>;
    /**
     * Indicates which kind of Arc machine placement on-premises, such as HCI, SCVMM or VMware etc.
     */
    readonly kind: pulumi.Output<string | undefined>;
    /**
     * The time of the last status change.
     */
    readonly lastStatusChange: pulumi.Output<string>;
    /**
     * Specifies the License related properties for a machine.
     */
    readonly licenseProfile: pulumi.Output<outputs.hybridcompute.LicenseProfileMachineInstanceViewResponse | undefined>;
    /**
     * The geo-location where the resource lives
     */
    readonly location: pulumi.Output<string>;
    /**
     * Metadata pertaining to the geographic location of the resource.
     */
    readonly locationData: pulumi.Output<outputs.hybridcompute.LocationDataResponse | undefined>;
    /**
     * Specifies the hybrid machine FQDN.
     */
    readonly machineFqdn: pulumi.Output<string>;
    /**
     * Specifies whether any MS SQL instance is discovered on the machine.
     */
    readonly mssqlDiscovered: pulumi.Output<string | undefined>;
    /**
     * The name of the resource
     */
    readonly name: pulumi.Output<string>;
    /**
     * Information about the network the machine is on.
     */
    readonly networkProfile: pulumi.Output<outputs.hybridcompute.NetworkProfileResponse>;
    /**
     * The edition of the Operating System.
     */
    readonly osEdition: pulumi.Output<string>;
    /**
     * The Operating System running on the hybrid machine.
     */
    readonly osName: pulumi.Output<string>;
    /**
     * Specifies the operating system settings for the hybrid machine.
     */
    readonly osProfile: pulumi.Output<outputs.hybridcompute.OSProfileResponse | undefined>;
    /**
     * Specifies the Operating System product SKU.
     */
    readonly osSku: pulumi.Output<string>;
    /**
     * The type of Operating System (windows/linux).
     */
    readonly osType: pulumi.Output<string | undefined>;
    /**
     * The version of Operating System running on the hybrid machine.
     */
    readonly osVersion: pulumi.Output<string>;
    /**
     * The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any.
     */
    readonly parentClusterResourceId: pulumi.Output<string | undefined>;
    /**
     * The resource id of the private link scope this machine is assigned to, if any.
     */
    readonly privateLinkScopeResourceId: pulumi.Output<string | undefined>;
    /**
     * The provisioning state, which only appears in the response.
     */
    readonly provisioningState: pulumi.Output<string>;
    /**
     * The list of extensions affiliated to the machine
     */
    readonly resources: pulumi.Output<outputs.hybridcompute.MachineExtensionResponse[]>;
    /**
     * Statuses of dependent services that are reported back to ARM.
     */
    readonly serviceStatuses: pulumi.Output<outputs.hybridcompute.ServiceStatusesResponse | undefined>;
    /**
     * The status of the hybrid machine agent.
     */
    readonly status: pulumi.Output<string>;
    /**
     * Azure Resource Manager metadata containing createdBy and modifiedBy information.
     */
    readonly systemData: pulumi.Output<outputs.hybridcompute.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>;
    /**
     * Specifies the hybrid machine unique ID.
     */
    readonly vmId: pulumi.Output<string | undefined>;
    /**
     * Specifies the Arc Machine's unique SMBIOS ID
     */
    readonly vmUuid: pulumi.Output<string>;
    /**
     * Create a Machine 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: MachineArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a Machine resource.
 */
export interface MachineArgs {
    /**
     * The info of the machine w.r.t Agent Upgrade
     */
    agentUpgrade?: pulumi.Input<inputs.hybridcompute.AgentUpgradeArgs>;
    /**
     * Public Key that the client provides to be used during initial resource onboarding
     */
    clientPublicKey?: pulumi.Input<string>;
    /**
     * Expands referenced resources.
     */
    expand?: pulumi.Input<string>;
    /**
     * Machine Extensions information (deprecated field)
     */
    extensions?: pulumi.Input<pulumi.Input<inputs.hybridcompute.MachineExtensionInstanceViewArgs>[]>;
    /**
     * Identity for the resource.
     */
    identity?: pulumi.Input<inputs.hybridcompute.IdentityArgs>;
    /**
     * Indicates which kind of Arc machine placement on-premises, such as HCI, SCVMM or VMware etc.
     */
    kind?: pulumi.Input<string | enums.hybridcompute.ArcKindEnum>;
    /**
     * Specifies the License related properties for a machine.
     */
    licenseProfile?: pulumi.Input<inputs.hybridcompute.LicenseProfileMachineInstanceViewArgs>;
    /**
     * The geo-location where the resource lives
     */
    location?: pulumi.Input<string>;
    /**
     * Metadata pertaining to the geographic location of the resource.
     */
    locationData?: pulumi.Input<inputs.hybridcompute.LocationDataArgs>;
    /**
     * The name of the hybrid machine.
     */
    machineName?: pulumi.Input<string>;
    /**
     * Specifies whether any MS SQL instance is discovered on the machine.
     */
    mssqlDiscovered?: pulumi.Input<string>;
    /**
     * Specifies the operating system settings for the hybrid machine.
     */
    osProfile?: pulumi.Input<inputs.hybridcompute.OSProfileArgs>;
    /**
     * The type of Operating System (windows/linux).
     */
    osType?: pulumi.Input<string>;
    /**
     * The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any.
     */
    parentClusterResourceId?: pulumi.Input<string>;
    /**
     * The resource id of the private link scope this machine is assigned to, if any.
     */
    privateLinkScopeResourceId?: pulumi.Input<string>;
    /**
     * The name of the resource group. The name is case insensitive.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * Statuses of dependent services that are reported back to ARM.
     */
    serviceStatuses?: pulumi.Input<inputs.hybridcompute.ServiceStatusesArgs>;
    /**
     * Resource tags.
     */
    tags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
    /**
     * Specifies the hybrid machine unique ID.
     */
    vmId?: pulumi.Input<string>;
}
