def METHOD_NAME(hyper_v_collector_name: Optional[str] = None,
                          project_name: Optional[str] = None,
                          resource_group_name: Optional[str] = None,
                          opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetHyperVCollectorResult:
    """
    Get a Hyper-V collector.
    :param str hyper_v_collector_name: Unique name of a Hyper-V collector within a project.
    :param str project_name: Name of the Azure Migrate project.
    :param str resource_group_name: Name of the Azure Resource Group that project is part of.
    """
    __args__ = dict()
    __args__['hyperVCollectorName'] = hyper_v_collector_name
    __args__['projectName'] = project_name
    __args__['resourceGroupName'] = resource_group_name
    opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
    __ret__ = pulumi.runtime.invoke('azure-native:migrate/v20191001:getHyperVCollector', __args__, opts=opts, typ=GetHyperVCollectorResult).value
    return AwaitableGetHyperVCollectorResult(
        e_tag=pulumi.get(__ret__, 'e_tag'),
        id=pulumi.get(__ret__, 'id'),
        name=pulumi.get(__ret__, 'name'),
        properties=pulumi.get(__ret__, 'properties'),
        type=pulumi.get(__ret__, 'type'))