def METHOD_NAME(database_name: Optional[str] = None,
                                          policy_name: Optional[str] = None,
                                          resource_group_name: Optional[str] = None,
                                          server_name: Optional[str] = None,
                                          opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetBackupLongTermRetentionPolicyResult:
    """
    Gets a database's long term retention policy.
    :param str database_name: The name of the database.
    :param str policy_name: The policy name. Should always be Default.
    :param str resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
    :param str server_name: The name of the server.
    """
    __args__ = dict()
    __args__['databaseName'] = database_name
    __args__['policyName'] = policy_name
    __args__['resourceGroupName'] = resource_group_name
    __args__['serverName'] = server_name
    opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
    __ret__ = pulumi.runtime.invoke('azure-native:sql/v20170301preview:getBackupLongTermRetentionPolicy', __args__, opts=opts, typ=GetBackupLongTermRetentionPolicyResult).value
    return AwaitableGetBackupLongTermRetentionPolicyResult(
        id=pulumi.get(__ret__, 'id'),
        monthly_retention=pulumi.get(__ret__, 'monthly_retention'),
        name=pulumi.get(__ret__, 'name'),
        type=pulumi.get(__ret__, 'type'),
        week_of_year=pulumi.get(__ret__, 'week_of_year'),
        weekly_retention=pulumi.get(__ret__, 'weekly_retention'),
        yearly_retention=pulumi.get(__ret__, 'yearly_retention'))