<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add(self, resource):
 """Add a resource to the context"""

        if isinstance(resource, Resource):
            if isinstance(resource, Secret) and \
               resource.mount != 'cubbyhole':
                ensure_backend(resource,
                               SecretBackend,
                               self._mounts,
                               self.opt,
                               False)
            elif isinstance(resource, Mount):
                ensure_backend(resource, SecretBackend, self._mounts, self.opt)
            elif isinstance(resource, Auth):
                ensure_backend(resource, AuthBackend, self._auths, self.opt)
            elif isinstance(resource, AuditLog):
                ensure_backend(resource, LogBackend, self._logs, self.opt)

            self._resources.append(resource)
        else:
            msg = "Unknown resource %s being " \
                  "added to context" % resource.__class__
            raise aomi_excep.AomiError(msg)