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