sal::ConfigStore* cfgstore, const RGWZoneGroup& info,
bool exclusive = false);
+/// Return an endpoint from the zonegroup or its master zone.
+std::string get_zonegroup_endpoint(const RGWZoneGroup& info);
+
/// Add a zone to the zonegroup, or update an existing zone entry.
int add_zone_to_group(const DoutPrefixProvider* dpp,
RGWZoneGroup& zonegroup,
return 0;
}
+std::string get_zonegroup_endpoint(const RGWZoneGroup& info)
+{
+ if (!info.endpoints.empty()) {
+ return info.endpoints.front();
+ }
+ // use zonegroup's master zone endpoints
+ auto z = info.zones.find(info.master_zone);
+ if (z != info.zones.end() && !z->second.endpoints.empty()) {
+ return z->second.endpoints.front();
+ }
+ return "";
+}
+
int add_zone_to_group(const DoutPrefixProvider* dpp, RGWZoneGroup& zonegroup,
const RGWZoneParams& zone_params,
const bool *pis_master, const bool *pread_only,