2 #include "cls/rgw/cls_rgw_ops.h"
4 #include "common/Formatter.h"
5 #include "common/ceph_json.h"
6 #include "include/utime.h"
8 void rgw_cls_tag_timeout_op::dump(Formatter *f) const
10 f->dump_int("tag_timeout", tag_timeout);
13 void rgw_cls_tag_timeout_op::generate_test_instances(list<rgw_cls_tag_timeout_op*>& ls)
15 ls.push_back(new rgw_cls_tag_timeout_op);
16 ls.push_back(new rgw_cls_tag_timeout_op);
17 ls.back()->tag_timeout = 23323;
20 void cls_rgw_gc_set_entry_op::dump(Formatter *f) const
22 f->dump_unsigned("expiration_secs", expiration_secs);
23 f->open_object_section("obj_info");
28 void cls_rgw_gc_set_entry_op::generate_test_instances(list<cls_rgw_gc_set_entry_op*>& ls)
30 ls.push_back(new cls_rgw_gc_set_entry_op);
31 ls.push_back(new cls_rgw_gc_set_entry_op);
32 ls.back()->expiration_secs = 123;
35 void cls_rgw_gc_defer_entry_op::dump(Formatter *f) const
37 f->dump_unsigned("expiration_secs", expiration_secs);
38 f->dump_string("tag", tag);
41 void cls_rgw_gc_defer_entry_op::generate_test_instances(list<cls_rgw_gc_defer_entry_op*>& ls)
43 ls.push_back(new cls_rgw_gc_defer_entry_op);
44 ls.push_back(new cls_rgw_gc_defer_entry_op);
45 ls.back()->expiration_secs = 123;
46 ls.back()->tag = "footag";
49 void cls_rgw_gc_list_op::dump(Formatter *f) const
51 f->dump_string("marker", marker);
52 f->dump_unsigned("max", max);
53 f->dump_bool("expired_only", expired_only);
56 void cls_rgw_gc_list_op::generate_test_instances(list<cls_rgw_gc_list_op*>& ls)
58 ls.push_back(new cls_rgw_gc_list_op);
59 ls.push_back(new cls_rgw_gc_list_op);
60 ls.back()->marker = "mymarker";
61 ls.back()->max = 2312;
64 void cls_rgw_gc_list_ret::dump(Formatter *f) const
66 encode_json("entries", entries, f);
67 f->dump_string("next_marker", next_marker);
68 f->dump_int("truncated", (int)truncated);
71 void cls_rgw_gc_list_ret::generate_test_instances(list<cls_rgw_gc_list_ret*>& ls)
73 ls.push_back(new cls_rgw_gc_list_ret);
74 ls.push_back(new cls_rgw_gc_list_ret);
75 ls.back()->entries.push_back(cls_rgw_gc_obj_info());
76 ls.back()->truncated = true;
80 void cls_rgw_gc_remove_op::dump(Formatter *f) const
82 encode_json("tags", tags, f);
85 void cls_rgw_gc_remove_op::generate_test_instances(list<cls_rgw_gc_remove_op*>& ls)
87 ls.push_back(new cls_rgw_gc_remove_op);
88 ls.push_back(new cls_rgw_gc_remove_op);
89 ls.back()->tags.push_back("tag1");
90 ls.back()->tags.push_back("tag2");
93 void rgw_cls_obj_prepare_op::generate_test_instances(list<rgw_cls_obj_prepare_op*>& o)
95 rgw_cls_obj_prepare_op *op = new rgw_cls_obj_prepare_op;
96 op->op = CLS_RGW_OP_ADD;
97 op->key.name = "name";
99 op->locator = "locator";
101 o.push_back(new rgw_cls_obj_prepare_op);
104 void rgw_cls_obj_prepare_op::dump(Formatter *f) const
106 f->dump_int("op", op);
107 f->dump_string("name", key.name);
108 f->dump_string("tag", tag);
109 f->dump_string("locator", locator);
110 f->dump_bool("log_op", log_op);
111 f->dump_int("bilog_flags", bilog_flags);
112 ::encode_json("zones_trace", zones_trace, f);
115 void rgw_cls_obj_complete_op::generate_test_instances(list<rgw_cls_obj_complete_op*>& o)
117 rgw_cls_obj_complete_op *op = new rgw_cls_obj_complete_op;
118 op->op = CLS_RGW_OP_DEL;
119 op->key.name = "name";
120 op->locator = "locator";
125 list<rgw_bucket_dir_entry_meta *> l;
126 rgw_bucket_dir_entry_meta::generate_test_instances(l);
127 list<rgw_bucket_dir_entry_meta *>::iterator iter = l.begin();
132 o.push_back(new rgw_cls_obj_complete_op);
135 void rgw_cls_obj_complete_op::dump(Formatter *f) const
137 f->dump_int("op", (int)op);
138 f->dump_string("name", key.name);
139 f->dump_string("instance", key.instance);
140 f->dump_string("locator", locator);
141 f->open_object_section("ver");
144 f->open_object_section("meta");
147 f->dump_string("tag", tag);
148 f->dump_bool("log_op", log_op);
149 f->dump_int("bilog_flags", bilog_flags);
150 ::encode_json("zones_trace", zones_trace, f);
153 void rgw_cls_link_olh_op::generate_test_instances(list<rgw_cls_link_olh_op*>& o)
155 rgw_cls_link_olh_op *op = new rgw_cls_link_olh_op;
156 op->key.name = "name";
157 op->olh_tag = "olh_tag";
158 op->delete_marker = true;
159 op->op_tag = "op_tag";
161 list<rgw_bucket_dir_entry_meta *> l;
162 rgw_bucket_dir_entry_meta::generate_test_instances(l);
163 list<rgw_bucket_dir_entry_meta *>::iterator iter = l.begin();
169 o.push_back(new rgw_cls_link_olh_op);
172 void rgw_cls_link_olh_op::dump(Formatter *f) const
174 ::encode_json("key", key, f);
175 ::encode_json("olh_tag", olh_tag, f);
176 ::encode_json("delete_marker", delete_marker, f);
177 ::encode_json("op_tag", op_tag, f);
178 ::encode_json("meta", meta, f);
179 ::encode_json("olh_epoch", olh_epoch, f);
180 ::encode_json("log_op", log_op, f);
181 ::encode_json("bilog_flags", (uint32_t)bilog_flags, f);
182 utime_t ut(unmod_since);
183 ::encode_json("unmod_since", ut, f);
184 ::encode_json("high_precision_time", high_precision_time, f);
185 ::encode_json("zones_trace", zones_trace, f);
188 void rgw_cls_unlink_instance_op::generate_test_instances(list<rgw_cls_unlink_instance_op*>& o)
190 rgw_cls_unlink_instance_op *op = new rgw_cls_unlink_instance_op;
191 op->key.name = "name";
192 op->op_tag = "op_tag";
198 o.push_back(new rgw_cls_unlink_instance_op);
201 void rgw_cls_unlink_instance_op::dump(Formatter *f) const
203 ::encode_json("key", key, f);
204 ::encode_json("op_tag", op_tag, f);
205 ::encode_json("olh_epoch", olh_epoch, f);
206 ::encode_json("log_op", log_op, f);
207 ::encode_json("bilog_flags", (uint32_t)bilog_flags, f);
208 ::encode_json("zones_trace", zones_trace, f);
211 void rgw_cls_read_olh_log_op::generate_test_instances(list<rgw_cls_read_olh_log_op*>& o)
213 rgw_cls_read_olh_log_op *op = new rgw_cls_read_olh_log_op;
214 op->olh.name = "name";
215 op->ver_marker = 123;
216 op->olh_tag = "olh_tag";
220 o.push_back(new rgw_cls_read_olh_log_op);
223 void rgw_cls_read_olh_log_op::dump(Formatter *f) const
225 ::encode_json("olh", olh, f);
226 ::encode_json("ver_marker", ver_marker, f);
227 ::encode_json("olh_tag", olh_tag, f);
230 void rgw_cls_read_olh_log_ret::generate_test_instances(list<rgw_cls_read_olh_log_ret*>& o)
232 rgw_cls_read_olh_log_ret *r = new rgw_cls_read_olh_log_ret;
233 r->is_truncated = true;
234 list<rgw_bucket_olh_log_entry *> l;
235 rgw_bucket_olh_log_entry::generate_test_instances(l);
236 list<rgw_bucket_olh_log_entry *>::iterator iter = l.begin();
237 r->log[1].push_back(*(*iter));
241 o.push_back(new rgw_cls_read_olh_log_ret);
244 void rgw_cls_read_olh_log_ret::dump(Formatter *f) const
246 ::encode_json("log", log, f);
247 ::encode_json("is_truncated", is_truncated, f);
250 void rgw_cls_trim_olh_log_op::generate_test_instances(list<rgw_cls_trim_olh_log_op*>& o)
252 rgw_cls_trim_olh_log_op *op = new rgw_cls_trim_olh_log_op;
253 op->olh.name = "olh.name";
255 op->olh_tag = "olh_tag";
259 o.push_back(new rgw_cls_trim_olh_log_op);
262 void rgw_cls_trim_olh_log_op::dump(Formatter *f) const
264 ::encode_json("olh", olh, f);
265 ::encode_json("ver", ver, f);
266 ::encode_json("olh_tag", olh_tag, f);
269 void rgw_cls_bucket_clear_olh_op::generate_test_instances(list<rgw_cls_bucket_clear_olh_op *>& o)
272 rgw_cls_bucket_clear_olh_op *op = new rgw_cls_bucket_clear_olh_op;
273 op->key.name = "key.name";
274 op->olh_tag = "olh_tag";
277 o.push_back(new rgw_cls_bucket_clear_olh_op);
280 void rgw_cls_bucket_clear_olh_op::dump(Formatter *f) const
282 ::encode_json("key", key, f);
283 ::encode_json("olh_tag", olh_tag, f);
286 void rgw_cls_list_op::generate_test_instances(list<rgw_cls_list_op*>& o)
288 rgw_cls_list_op *op = new rgw_cls_list_op;
289 op->start_obj.name = "start_obj";
290 op->num_entries = 100;
291 op->filter_prefix = "filter_prefix";
293 o.push_back(new rgw_cls_list_op);
296 void rgw_cls_list_op::dump(Formatter *f) const
298 f->dump_string("start_obj", start_obj.name);
299 f->dump_unsigned("num_entries", num_entries);
302 void rgw_cls_list_ret::generate_test_instances(list<rgw_cls_list_ret*>& o)
304 list<rgw_bucket_dir *> l;
305 rgw_bucket_dir::generate_test_instances(l);
306 list<rgw_bucket_dir *>::iterator iter;
307 for (iter = l.begin(); iter != l.end(); ++iter) {
308 rgw_bucket_dir *d = *iter;
310 rgw_cls_list_ret *ret = new rgw_cls_list_ret;
312 ret->is_truncated = true;
319 o.push_back(new rgw_cls_list_ret);
322 void rgw_cls_list_ret::dump(Formatter *f) const
324 f->open_object_section("dir");
327 f->dump_int("is_truncated", (int)is_truncated);
330 void rgw_cls_check_index_ret::generate_test_instances(list<rgw_cls_check_index_ret*>& o)
332 list<rgw_bucket_dir_header *> h;
333 rgw_bucket_dir_header::generate_test_instances(h);
334 rgw_cls_check_index_ret *r = new rgw_cls_check_index_ret;
335 r->existing_header = *(h.front());
336 r->calculated_header = *(h.front());
339 for (list<rgw_bucket_dir_header *>::iterator iter = h.begin(); iter != h.end(); ++iter) {
342 o.push_back(new rgw_cls_check_index_ret);
345 void rgw_cls_check_index_ret::dump(Formatter *f) const
347 ::encode_json("existing_header", existing_header, f);
348 ::encode_json("calculated_header", calculated_header, f);
351 void rgw_cls_bucket_update_stats_op::generate_test_instances(list<rgw_cls_bucket_update_stats_op*>& o)
353 rgw_cls_bucket_update_stats_op *r = new rgw_cls_bucket_update_stats_op;
355 rgw_bucket_category_stats& s = r->stats[0];
357 s.total_size_rounded = 4096;
361 o.push_back(new rgw_cls_bucket_update_stats_op);
364 void rgw_cls_bucket_update_stats_op::dump(Formatter *f) const
366 ::encode_json("absolute", absolute, f);
367 map<int, rgw_bucket_category_stats> s;
368 for (auto& entry : stats) {
369 s[(int)entry.first] = entry.second;
371 ::encode_json("stats", s, f);
374 void cls_rgw_bi_log_list_op::dump(Formatter *f) const
376 f->dump_string("marker", marker);
377 f->dump_unsigned("max", max);
380 void cls_rgw_bi_log_list_op::generate_test_instances(list<cls_rgw_bi_log_list_op*>& ls)
382 ls.push_back(new cls_rgw_bi_log_list_op);
383 ls.push_back(new cls_rgw_bi_log_list_op);
384 ls.back()->marker = "mark";
385 ls.back()->max = 123;
388 void cls_rgw_bi_log_trim_op::dump(Formatter *f) const
390 f->dump_string("start_marker", start_marker);
391 f->dump_string("end_marker", end_marker);
394 void cls_rgw_bi_log_trim_op::generate_test_instances(list<cls_rgw_bi_log_trim_op*>& ls)
396 ls.push_back(new cls_rgw_bi_log_trim_op);
397 ls.push_back(new cls_rgw_bi_log_trim_op);
398 ls.back()->start_marker = "foo";
399 ls.back()->end_marker = "bar";
402 void cls_rgw_bi_log_list_ret::dump(Formatter *f) const
404 encode_json("entries", entries, f);
405 f->dump_unsigned("truncated", (int)truncated);
408 void cls_rgw_bi_log_list_ret::generate_test_instances(list<cls_rgw_bi_log_list_ret*>& ls)
410 ls.push_back(new cls_rgw_bi_log_list_ret);
411 ls.push_back(new cls_rgw_bi_log_list_ret);
412 ls.back()->entries.push_back(rgw_bi_log_entry());
413 ls.back()->truncated = true;
416 void cls_rgw_reshard_add_op::generate_test_instances(list<cls_rgw_reshard_add_op*>& ls)
418 ls.push_back(new cls_rgw_reshard_add_op);
419 ls.push_back(new cls_rgw_reshard_add_op);
420 list<cls_rgw_reshard_entry *> l;
421 cls_rgw_reshard_entry::generate_test_instances(l);
422 list<cls_rgw_reshard_entry *>::iterator iter = l.begin();
423 ls.back()->entry = *(*iter);
426 void cls_rgw_reshard_add_op::dump(Formatter *f) const
428 ::encode_json("entry", entry, f);
431 void cls_rgw_reshard_list_op::generate_test_instances(list<cls_rgw_reshard_list_op*>& ls)
433 ls.push_back(new cls_rgw_reshard_list_op);
434 ls.push_back(new cls_rgw_reshard_list_op);
435 ls.back()->max = 1000;
436 ls.back()->marker = "foo";
439 void cls_rgw_reshard_list_op::dump(Formatter *f) const
441 ::encode_json("max", max, f);
442 ::encode_json("marker", marker, f);
445 void cls_rgw_reshard_list_ret::generate_test_instances(list<cls_rgw_reshard_list_ret*>& ls)
447 ls.push_back(new cls_rgw_reshard_list_ret);
448 ls.push_back(new cls_rgw_reshard_list_ret);
449 ls.back()->entries.push_back(cls_rgw_reshard_entry());
450 ls.back()->is_truncated = true;
453 void cls_rgw_reshard_list_ret::dump(Formatter *f) const
455 ::encode_json("entries", entries, f);
456 ::encode_json("is_truncated", is_truncated, f);
459 void cls_rgw_reshard_get_op::generate_test_instances(list<cls_rgw_reshard_get_op*>& ls)
461 ls.push_back(new cls_rgw_reshard_get_op);
462 ls.push_back(new cls_rgw_reshard_get_op);
465 void cls_rgw_reshard_get_op::dump(Formatter *f) const
467 ::encode_json("entry", entry, f);
470 void cls_rgw_reshard_get_ret::generate_test_instances(list<cls_rgw_reshard_get_ret*>& ls)
472 ls.push_back(new cls_rgw_reshard_get_ret);
473 ls.push_back(new cls_rgw_reshard_get_ret);
476 void cls_rgw_reshard_get_ret::dump(Formatter *f) const
478 ::encode_json("entry", entry, f);
481 void cls_rgw_reshard_remove_op::generate_test_instances(list<cls_rgw_reshard_remove_op*>& ls)
483 ls.push_back(new cls_rgw_reshard_remove_op);
484 ls.push_back(new cls_rgw_reshard_remove_op);
485 ls.back()->bucket_name = "foo";
486 ls.back()->bucket_id = "bucket_id";
489 void cls_rgw_reshard_remove_op::dump(Formatter *f) const
491 ::encode_json("bucket_name", bucket_name, f);
492 ::encode_json("bucket_id", bucket_name, f);
496 void cls_rgw_set_bucket_resharding_op::generate_test_instances(
497 list<cls_rgw_set_bucket_resharding_op*>& ls)
499 ls.push_back(new cls_rgw_set_bucket_resharding_op);
500 ls.push_back(new cls_rgw_set_bucket_resharding_op);
503 void cls_rgw_set_bucket_resharding_op::dump(Formatter *f) const
505 ::encode_json("entry", entry, f);
508 void cls_rgw_clear_bucket_resharding_op::generate_test_instances(
509 list<cls_rgw_clear_bucket_resharding_op*>& ls)
511 ls.push_back(new cls_rgw_clear_bucket_resharding_op);
512 ls.push_back(new cls_rgw_clear_bucket_resharding_op);
515 void cls_rgw_clear_bucket_resharding_op::dump(Formatter *f) const
519 void cls_rgw_guard_bucket_resharding_op::generate_test_instances(
520 list<cls_rgw_guard_bucket_resharding_op*>& ls)
522 ls.push_back(new cls_rgw_guard_bucket_resharding_op);
523 ls.push_back(new cls_rgw_guard_bucket_resharding_op);
526 void cls_rgw_guard_bucket_resharding_op::dump(Formatter *f) const
528 ::encode_json("ret_err", ret_err, f);
532 void cls_rgw_get_bucket_resharding_op::generate_test_instances(
533 list<cls_rgw_get_bucket_resharding_op*>& ls)
535 ls.push_back(new cls_rgw_get_bucket_resharding_op);
536 ls.push_back(new cls_rgw_get_bucket_resharding_op);
539 void cls_rgw_get_bucket_resharding_op::dump(Formatter *f) const