need_update = true;
}
+ if (!realm_id.empty()) {
+ zonegroup.realm_id = realm_id;
+ need_update = true;
+ } else if (!realm_name.empty()) {
+ // get realm id from name
+ RGWRealm realm{g_ceph_context, store};
+ ret = realm.read_id(realm_name, zonegroup.realm_id);
+ if (ret < 0) {
+ cerr << "failed to find realm by name " << realm_name << std::endl;
+ return -ret;
+ }
+ need_update = true;
+ }
+
if (need_update) {
zonegroup.post_process_params();
ret = zonegroup.update();
need_zone_update = true;
}
+ if (!realm_id.empty()) {
+ zone.realm_id = realm_id;
+ need_zone_update = true;
+ } else if (!realm_name.empty()) {
+ // get realm id from name
+ RGWRealm realm{g_ceph_context, store};
+ ret = realm.read_id(realm_name, zone.realm_id);
+ if (ret < 0) {
+ cerr << "failed to find realm by name " << realm_name << std::endl;
+ return -ret;
+ }
+ need_zone_update = true;
+ }
+
if (need_zone_update) {
ret = zone.update();
if (ret < 0) {
const string& get_info_oid_prefix(bool old_format = false);
const string& get_predefined_name(CephContext *cct);
+ using RGWSystemMetaObj::read_id; // expose as public for radosgw-admin
+
void dump(Formatter *f) const;
void decode_json(JSONObj *obj);