CernVM-FS  2.12.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
swissknife_ingest.h
Go to the documentation of this file.
1 
5 #ifndef CVMFS_SWISSKNIFE_INGEST_H_
6 #define CVMFS_SWISSKNIFE_INGEST_H_
7 
8 #include <string>
9 
10 #include "swissknife.h"
11 #include "swissknife_sync.h"
12 
13 namespace swissknife {
14 class Ingest : public Command {
15  public:
16  ~Ingest() {}
17  virtual std::string GetName() const { return "ingest"; }
18  virtual std::string GetDescription() const {
19  return "Pushes the content of the tarball to the repository";
20  }
21  virtual ParameterList GetParams() const {
22  ParameterList r;
23  r.push_back(Parameter::Mandatory('b', "base hash"));
24  r.push_back(Parameter::Mandatory('c', "r/o volume"));
25  r.push_back(Parameter::Mandatory('o', "manifest output file"));
26  r.push_back(Parameter::Mandatory('r', "spooler definition"));
27  r.push_back(Parameter::Mandatory('t', "directory for tee"));
28  r.push_back(Parameter::Mandatory('u', "union volume"));
29  r.push_back(Parameter::Mandatory('w', "stratum 0 base url"));
30  r.push_back(Parameter::Mandatory('K', "public key(s) for repo"));
31  r.push_back(Parameter::Mandatory('N', "fully qualified repository name"));
32 
33  r.push_back(Parameter::Optional('T', "tar file to extract"));
34  r.push_back(Parameter::Optional(
35  'B', "base directory where to extract the tarfile"));
36  r.push_back(Parameter::Optional(
37  'D', "entity to delete before to extract the tar"));
38  r.push_back(Parameter::Optional(
39  'C', "create a new catalog where the tar file is extracted"));
40 
41  r.push_back(Parameter::Optional('P', "session_token_file"));
42  r.push_back(Parameter::Optional('H', "key file for HTTP API"));
43  r.push_back(Parameter::Optional('@', "proxy url"));
44  r.push_back(Parameter::Switch('I', "upload updated statistics DB file"));
45  r.push_back(Parameter::Optional('U',
46  "uid of new owner of the ingested data (-1 for keep tarball owner)"));
47  r.push_back(Parameter::Optional('G',
48  "gid of new owner of the ingested data (-1 for keep tarball owner)"));
49  r.push_back(Parameter::Switch('j', "enable nanosecond timestamps"));
50 
51  return r;
52  }
53  int Main(const ArgumentList &args);
54 };
55 } // namespace swissknife
56 
57 #endif // CVMFS_SWISSKNIFE_INGEST_H_
static Parameter Optional(const char key, const std::string &desc)
Definition: swissknife.h:41
static Parameter Switch(const char key, const std::string &desc)
Definition: swissknife.h:44
std::vector< Parameter > ParameterList
Definition: swissknife.h:71
int Main(const ArgumentList &args)
virtual ParameterList GetParams() const
static Parameter Mandatory(const char key, const std::string &desc)
Definition: swissknife.h:38
std::map< char, SharedPtr< std::string > > ArgumentList
Definition: swissknife.h:72
virtual std::string GetName() const
virtual std::string GetDescription() const