def METHOD_NAME(management_group_id: Optional[str] = None,
                                           variable_name: Optional[str] = None,
                                           variable_value_name: Optional[str] = None,
                                           opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVariableValueAtManagementGroupResult:
    """
    This operation retrieves a single variable value; given its name,  management group it was created at and the variable it's created for.
    Azure REST API version: 2022-08-01-preview.
    :param str management_group_id: The ID of the management group.
    :param str variable_name: The name of the variable to operate on.
    :param str variable_value_name: The name of the variable value to operate on.
    """
    __args__ = dict()
    __args__['managementGroupId'] = management_group_id
    __args__['variableName'] = variable_name
    __args__['variableValueName'] = variable_value_name
    opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
    __ret__ = pulumi.runtime.invoke('azure-native:authorization:getVariableValueAtManagementGroup', __args__, opts=opts, typ=GetVariableValueAtManagementGroupResult).value
    return AwaitableGetVariableValueAtManagementGroupResult(
        id=pulumi.get(__ret__, 'id'),
        name=pulumi.get(__ret__, 'name'),
        system_data=pulumi.get(__ret__, 'system_data'),
        type=pulumi.get(__ret__, 'type'),
        values=pulumi.get(__ret__, 'values'))