1 import { HttpClient, HttpParams } from '@angular/common/http';
2 import { Injectable } from '@angular/core';
3 import { RgwRealm, RgwZone, RgwZonegroup } from '~/app/ceph/rgw/models/rgw-multisite';
4 import { RgwDaemonService } from './rgw-daemon.service';
9 export class RgwMultisiteService {
10 private url = 'ui-api/rgw/multisite';
12 constructor(private http: HttpClient, public rgwDaemonService: RgwDaemonService) {}
14 migrate(realm: RgwRealm, zonegroup: RgwZonegroup, zone: RgwZone) {
15 return this.rgwDaemonService.request((params: HttpParams) => {
16 params = params.appendAll({
17 realm_name: realm.name,
18 zonegroup_name: zonegroup.name,
20 zonegroup_endpoints: zonegroup.endpoints,
21 zone_endpoints: zone.endpoints,
22 access_key: zone.system_key.access_key,
23 secret_key: zone.system_key.secret_key
25 return this.http.put(`${this.url}/migrate`, null, { params: params });
30 return this.http.get(`${this.url}/sync_status`);