]> git.apps.os.sepia.ceph.com Git - ceph.git/blob
9476368f3e78f0384fd4e2b671f424667728959f
[ceph.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                       [primaryDropDown]="true">
26     </cd-table-actions>
27   </span>
28   <ng-template #migrateAndReplicationActionTpl>
29     <cd-table-actions class="btn-group mb-4 me-2"
30                       [permission]="permission"
31                       [selection]="selection"
32                       [tableActions]="multisiteReplicationActions">
33     </cd-table-actions>
34     <cd-table-actions class="btn-group mb-4 me-2 secondary"
35                       [permission]="permission"
36                       [btnColor]="'light'"
37                       [selection]="selection"
38                       [tableActions]="migrateTableAction">
39     </cd-table-actions>
40   </ng-template>
41   <cd-table-actions class="btn-group mb-4 me-2"
42                     [permission]="permission"
43                     [btnColor]="'light'"
44                     [selection]="selection"
45                     [tableActions]="importAction">
46   </cd-table-actions>
47   <cd-table-actions class="btn-group mb-4 me-2"
48                     [permission]="permission"
49                     [btnColor]="'light'"
50                     [selection]="selection"
51                     [tableActions]="exportAction">
52   </cd-table-actions>
53 </div>
54 <div class="card">
55   <div class="card-header"
56        i18n>Topology Viewer
57   </div>
58   <div class="row">
59     <div class="col-sm-6 col-lg-6 tree-container">
60       <i *ngIf="loadingIndicator"
61          [ngClass]="[icons.large, icons.spinner, icons.spin]"></i>
62       <tree-root #tree
63                  [nodes]="nodes"
64                  [options]="treeOptions"
65                  (updateData)="onUpdateData()">
66         <ng-template #treeNodeTemplate
67                      let-node>
68           <span *ngIf="node.data.name"
69                 class="me-3">
70             <span *ngIf="(node.data.show_warning)">
71               <i  class="text-danger"
72                   i18n-title
73                   [title]="node.data.warning_message"
74                   [ngClass]="icons.danger"></i>
75             </span>
76             <i [ngClass]="node.data.icon"></i>
77             {{ node.data.name }}
78           </span>
79           <span class="badge badge-success me-2"
80                 *ngIf="node.data.is_default">
81               default
82           </span>
83           <span class="badge badge-warning me-2"
84                 *ngIf="node.data.is_master"> master </span>
85           <span class="badge badge-warning me-2"
86                 *ngIf="node.data.secondary_zone">
87             secondary-zone
88           </span>
89           <div class="btn-group align-inline-btns"
90                *ngIf="node.isFocused"
91                role="group">
92             <div [title]="editTitle"
93                  i18n-title>
94               <button type="button"
95                       class="btn btn-light dropdown-toggle-split ms-1"
96                       (click)="openModal(node, true)"
97                       [disabled]="getDisable() || node.data.secondary_zone">
98                 <i [ngClass]="[icons.edit]"></i>
99               </button>
100             </div>
101             <div [title]="deleteTitle"
102                  i18n-title>
103               <button type="button"
104                       class="btn btn-light ms-1"
105                       [disabled]="isDeleteDisabled(node) || node.data.secondary_zone"
106                       (click)="delete(node)">
107                 <i [ngClass]="[icons.destroy]"></i>
108               </button>
109             </div>
110           </div>
111         </ng-template>
112       </tree-root>
113     </div>
114     <div class="col-sm-6 col-lg-6 metadata"
115          *ngIf="metadata">
116       <legend>{{ metadataTitle }}</legend>
117       <div>
118         <cd-table-key-value [data]="metadata">
119         </cd-table-key-value>
120       </div>
121     </div>
122   </div>
123 </div>
124
125 <router-outlet name="modal"></router-outlet>