]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/blob
d0b2c2105d1ab50a2e54994c024e120f4dfd8c8d
[ceph-ci.git] /
1 <cd-rgw-multisite-tabs></cd-rgw-multisite-tabs>
2 <div>
3   <cd-alert-panel *ngIf="!rgwModuleStatus"
4                   type="info"
5                   spacingClass="mb-3"
6                   class="d-flex align-items-center"
7                   i18n>In order to access the import/export feature, the rgw module must be enabled
8     <button class="btn btn-light mx-2"
9             type="button"
10             (click)="enableRgwModule()">Enable</button>
11   </cd-alert-panel>
12   <cd-alert-panel   *ngIf="restartGatewayMessage"
13                     type="warning"
14                     spacingClass="mb-3"
15                     i18n>Please restart all Ceph Object Gateway instances in all zones to ensure consistent multisite configuration updates.
16     <a class="text-decoration-underline"
17        routerLink="/services">
18        Cluster->Services</a>
19   </cd-alert-panel>
20   <span *ngIf="!showMigrateAndReplicationActions; else migrateAndReplicationActionTpl">
21     <cd-table-actions class="btn-group mb-4 me-2"
22                       [permission]="permission"
23                       [selection]="selection"
24                       [tableActions]="createTableActions">
25     </cd-table-actions>
26   </span>
27   <ng-template #migrateAndReplicationActionTpl>
28     <cd-table-actions class="btn-group mb-4 me-2"
29                       [permission]="permission"
30                       [selection]="selection"
31                       [tableActions]="multisiteReplicationActions">
32     </cd-table-actions>
33     <cd-table-actions class="btn-group mb-4 me-2 secondary"
34                       [permission]="permission"
35                       [btnColor]="'light'"
36                       [selection]="selection"
37                       [tableActions]="migrateTableAction">
38     </cd-table-actions>
39   </ng-template>
40   <cd-table-actions class="btn-group mb-4 me-2"
41                     [permission]="permission"
42                     [btnColor]="'light'"
43                     [selection]="selection"
44                     [tableActions]="importAction">
45   </cd-table-actions>
46   <cd-table-actions class="btn-group mb-4 me-2"
47                     [permission]="permission"
48                     [btnColor]="'light'"
49                     [selection]="selection"
50                     [tableActions]="exportAction">
51   </cd-table-actions>
52 </div>
53 <div class="card">
54   <div class="card-header"
55        i18n>Topology Viewer
56   </div>
57   <div class="row">
58     <div class="col-sm-6 col-lg-6 tree-container">
59       <i *ngIf="loadingIndicator"
60          [ngClass]="[icons.large, icons.spinner, icons.spin]"></i>
61       <tree-root #tree
62                  [nodes]="nodes"
63                  [options]="treeOptions"
64                  (updateData)="onUpdateData()">
65         <ng-template #treeNodeTemplate
66                      let-node>
67           <span *ngIf="node.data.name"
68                 class="me-3">
69             <span *ngIf="(node.data.show_warning)">
70               <i  class="text-danger"
71                   i18n-title
72                   [title]="node.data.warning_message"
73                   [ngClass]="icons.danger"></i>
74             </span>
75             <i [ngClass]="node.data.icon"></i>
76             {{ node.data.name }}
77           </span>
78           <span class="badge badge-success me-2"
79                 *ngIf="node.data.is_default">
80               default
81           </span>
82           <span class="badge badge-warning me-2"
83                 *ngIf="node.data.is_master"> master </span>
84           <span class="badge badge-warning me-2"
85                 *ngIf="node.data.secondary_zone">
86             secondary-zone
87           </span>
88           <div class="btn-group align-inline-btns"
89                *ngIf="node.isFocused"
90                role="group">
91             <div [title]="editTitle"
92                  i18n-title>
93               <button type="button"
94                       class="btn btn-light dropdown-toggle-split ms-1"
95                       (click)="openModal(node, true)"
96                       [disabled]="getDisable() || node.data.secondary_zone">
97                 <i [ngClass]="[icons.edit]"></i>
98               </button>
99             </div>
100             <div [title]="deleteTitle"
101                  i18n-title>
102               <button type="button"
103                       class="btn btn-light ms-1"
104                       [disabled]="isDeleteDisabled(node) || node.data.secondary_zone"
105                       (click)="delete(node)">
106                 <i [ngClass]="[icons.destroy]"></i>
107               </button>
108             </div>
109           </div>
110         </ng-template>
111       </tree-root>
112     </div>
113     <div class="col-sm-6 col-lg-6 metadata"
114          *ngIf="metadata">
115       <legend>{{ metadataTitle }}</legend>
116       <div>
117         <cd-table-key-value *cdTableDetail
118                             [data]="metadata">
119         </cd-table-key-value>
120       </div>
121     </div>
122   </div>
123 </div>
124
125 <router-outlet name="modal"></router-outlet>