code: def backup_full(self, snap_name=None, dry_run=False):
          
          z_snap = self._snapshot_to_backup(snap_name)
          estimated_size = self._parse_estimated_size(
              self._cmd.shell(
                  "zfs send -nvP '{}'".format(z_snap.name),
                  capture=True))
          self._cmd.pipe(
              "zfs send '{}'".format(z_snap.name),
              self._compress(
                  self._pput_cmd(
                      estimated=estimated_size,
                      s3_prefix=self.s3_manager.s3_prefix,
                      snap_name=z_snap.name)
              ),
              dry_run=dry_run,
              estimated_size=estimated_size,
          )
          return [{'snap_name': z_snap.name, 'size': estimated_size}]
docs: Do a full backup of a snapshot. By default latest local snapshot