def METHOD_NAME(for_transfer: Optional[bool] = None,
                                     include_privacy: Optional[bool] = None,
                                     name: Optional[str] = None,
                                     opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableListTopLevelDomainAgreementsResult:
    """
    Gets all legal agreements that user needs to accept before purchasing a domain.
    :param bool for_transfer: If <code>true</code>, then the list of agreements will include agreements for domain transfer as well; otherwise, <code>false</code>.
    :param bool include_privacy: If <code>true</code>, then the list of agreements will include agreements for domain privacy as well; otherwise, <code>false</code>.
    :param str name: Name of the top-level domain.
    """
    __args__ = dict()
    __args__['forTransfer'] = for_transfer
    __args__['includePrivacy'] = include_privacy
    __args__['name'] = name
    opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
    __ret__ = pulumi.runtime.invoke('azure-native:domainregistration/v20201001:listTopLevelDomainAgreements', __args__, opts=opts, typ=ListTopLevelDomainAgreementsResult).value
    return AwaitableListTopLevelDomainAgreementsResult(
        next_link=pulumi.get(__ret__, 'next_link'),
        value=pulumi.get(__ret__, 'value'))