def METHOD_NAME(self, resource, job_result='any', disassociate=False):
    if job_result not in job_results:
        raise ValueError('Unsupported job_result type "{0}".  Please use one of {1}.'.format(job_result, job_results))
    result_attr = 'notification_templates_{0}'.format(job_result)
    if result_attr not in resource.related:
        raise ValueError('Unsupported resource "{0}".  Does not have a related {1} field.'.format(resource, result_attr))
    payload = dict(id=self.id)
    if disassociate:
        payload['disassociate'] = True
    with suppress(exc.NoContent):
        getattr(resource.related, result_attr).post(payload)