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