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