docs: function(datum) {
      return Promise.retry(function() {
        if (getId(datum)) {
            // Get list of containers.
          return list(null)
          .then(function(containers) {
            // Build set of all valid container ids.
            var idSet =
              _(containers)
              .chain()
              .map(function(container) {
                return [container.id, container.name];
              })
              .flatten()
              .uniq()
              .object()
              .value();
            // Search set of valid containers for data.
            return _.has(idSet, getId(datum));
          });
        }
        else if (datum.compose) {
          return compose.getId(datum.compose, datum.project, datum.opts)
          .then(function(id) {
            return !_.isEmpty(id);
          });
        }
      });
    }