implements the easy part of amazon's x-amz-replication-status feature:
https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-status.html#replication-status-overview
Signed-off-by: Casey Bodley <cbodley@redhat.com>
#define RGW_ATTR_APPEND_PART_NUM RGW_ATTR_PREFIX "append_part_num"
+#define RGW_ATTR_OBJ_REPLICATION_STATUS RGW_ATTR_PREFIX "amz-replication-status"
+
/* IAM Policy */
#define RGW_ATTR_IAM_POLICY RGW_ATTR_PREFIX "iam-policy"
#define RGW_ATTR_USER_POLICY RGW_ATTR_PREFIX "user-policy"
//erase the append attr
cb.get_attrs().erase(RGW_ATTR_APPEND_PART_NUM);
+ { // add x-amz-replication-status=REPLICA
+ auto& bl = cb.get_attrs()[RGW_ATTR_OBJ_REPLICATION_STATUS];
+ bl.clear(); // overwrite source's status
+ bl.append("REPLICA");
+ }
+
if (source_zone.empty()) {
set_copy_attrs(cb.get_attrs(), attrs, attrs_mod);
} else {
} else {
dump_header(s, "x-rgw-object-type", "Normal");
}
+ // replication status
+ if (auto i = attrs.find(RGW_ATTR_OBJ_REPLICATION_STATUS);
+ i != attrs.end()) {
+ dump_header(s, "x-amz-replication-status", i->second);
+ }
if (! op_ret) {
if (! lo_etag.empty()) {