]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/blob
74b3e953b52d796c66adeeb8cecb06f76f725635
[ceph-ci.git] /
1 <ng-container *ngIf="selection">
2   <nav ngbNav
3        #nav="ngbNav"
4        class="nav-tabs"
5        cdStatefulTab="rgw-bucket-details">
6     <ng-container ngbNavItem="details">
7       <a ngbNavLink
8          i18n>Details</a>
9       <ng-template ngbNavContent>
10
11         <table class="table table-striped table-bordered">
12           <tbody>
13             <tr>
14               <td i18n
15                   class="bold w-25">Versioning</td>
16               <td class="w-75">{{ selection.versioning }}</td>
17             </tr>
18             <tr>
19               <td i18n
20                   class="bold">Encryption</td>
21               <td>{{ selection.encryption }}</td>
22             </tr>
23             <tr>
24               <td i18n
25                   class="bold">Replication</td>
26               <td>{{ replicationStatus }}</td>
27             </tr>
28             <tr>
29               <td i18n
30                   class="bold">MFA Delete</td>
31               <td>{{ selection.mfa_delete }}</td>
32             </tr>
33             <tr>
34               <td i18n
35                   class="bold">Index type</td>
36               <td>{{ selection.index_type }}</td>
37             </tr>
38             <tr>
39               <td i18n
40                   class="bold">Placement rule</td>
41               <td>{{ selection.placement_rule }}</td>
42             </tr>
43             <tr>
44               <td i18n
45                   class="bold">Last modification time</td>
46               <td>{{ selection.mtime | cdDate }}</td>
47             </tr>
48           </tbody>
49         </table>
50
51         <!-- Bucket quota -->
52         <div>
53           <legend i18n>Bucket quota</legend>
54           <table class="table table-striped table-bordered">
55             <tbody>
56               <tr>
57                 <td i18n
58                     class="bold w-25">Enabled</td>
59                 <td class="w-75">{{ selection.bucket_quota.enabled | booleanText }}</td>
60               </tr>
61               <ng-container *ngIf="selection.bucket_quota.enabled">
62                 <tr>
63                   <td i18n
64                       class="bold">Maximum size</td>
65                   <td *ngIf="selection.bucket_quota.max_size <= -1"
66                       i18n>Unlimited</td>
67                   <td *ngIf="selection.bucket_quota.max_size > -1">
68                     {{ selection.bucket_quota.max_size | dimless }}
69                   </td>
70                 </tr>
71                 <tr>
72                   <td i18n
73                       class="bold">Maximum objects</td>
74                   <td *ngIf="selection.bucket_quota.max_objects <= -1"
75                       i18n>Unlimited</td>
76                   <td *ngIf="selection.bucket_quota.max_objects > -1">
77                     {{ selection.bucket_quota.max_objects }}
78                   </td>
79                 </tr>
80               </ng-container>
81             </tbody>
82           </table>
83         </div>
84
85         <!-- Locking -->
86         <legend i18n>Locking</legend>
87         <table class="table table-striped table-bordered">
88           <tbody>
89             <tr>
90               <td i18n
91                   class="bold w-25">Enabled</td>
92               <td class="w-75">{{ selection.lock_enabled | booleanText }}</td>
93             </tr>
94             <ng-container *ngIf="selection.lock_enabled">
95               <tr>
96                 <td i18n
97                     class="bold">Mode</td>
98                 <td>{{ selection.lock_mode }}</td>
99               </tr>
100               <tr>
101                 <td i18n
102                     class="bold">Days</td>
103                 <td>{{ selection.lock_retention_period_days }}</td>
104               </tr>
105             </ng-container>
106           </tbody>
107         </table>
108
109       <!-- Tags -->
110       <ng-container *ngIf="(selection.tagset | keyvalue)?.length">
111         <legend i18n>Tags</legend>
112         <table class="table table-striped table-bordered">
113           <tbody>
114             <tr *ngFor="let tag of selection.tagset | keyvalue">
115               <td i18n
116                   class="bold w-25">{{tag.key}}</td>
117               <td class="w-75">{{ tag.value }}</td>
118             </tr>
119           </tbody>
120         </table>
121       </ng-container>
122
123       </ng-template>
124     </ng-container>
125
126     <ng-container ngbNavItem="permissions">
127       <a ngbNavLink
128          i18n>Policies</a>
129       <ng-template ngbNavContent>
130         <div class="table-scroller">
131           <table class="table table-striped table-bordered">
132             <tbody>
133               <tr>
134                 <td i18n
135                     class="bold w-25">Bucket policy</td>
136                 <td><pre>{{ selection.bucket_policy | json}}</pre></td>
137               </tr>
138               <tr>
139                 <div>
140                   <td i18n
141                       class="bold w-25">Lifecycle
142                     <div *ngIf="(selection.lifecycle | json) !== '{}'"
143                          class="input-group">
144                       <button type="button"
145                               class="btn btn-light"
146                               [ngClass]="{'active': lifecycleFormat === 'json'}"
147                               (click)="lifecycleFormat = 'json'">
148                             JSON
149                       </button>
150                       <button type="button"
151                               class="btn btn-light"
152                               [ngClass]="{'active': lifecycleFormat === 'xml'}"
153                               (click)="lifecycleFormat = 'xml'">
154                             XML
155                       </button>
156                     </div>
157                   </td>
158                 </div>
159                 <td>
160                   <pre *ngIf="lifecycleFormat === 'json'">{{selection.lifecycle | json}}</pre>
161                   <pre *ngIf="lifecycleFormat === 'xml'">{{ (selection.lifecycle | xml) || '-'}}</pre>
162                 </td>
163               </tr>
164               <tr>
165                 <td i18n
166                     class="bold w-25">Replication policy</td>
167                 <td><pre>{{ selection.replication | json}}</pre></td>
168               </tr>
169               <tr>
170                 <td i18n
171                     class="bold w-25">ACL</td>
172                 <td>
173                   <table class="table">
174                     <thead>
175                       <tr i18n>
176                         <th>Grantee</th>
177                         <th>Permissions</th>
178                       </tr>
179                     </thead>
180                     <tbody>
181                       <tr i18n>
182                         <td>Bucket Owner</td>
183                         <td>{{ aclPermissions.Owner || '-'}}</td>
184                       </tr>
185                       <tr i18n>
186                         <td>Everyone</td>
187                         <td>{{ aclPermissions.AllUsers || '-'}}</td>
188                       </tr>
189                       <tr i18n>
190                         <td>Authenticated users group</td>
191                         <td>{{ aclPermissions.AuthenticatedUsers || '-'}}</td>
192                       </tr>
193                     </tbody>
194                   </table>
195                 </td>
196               </tr>
197             </tbody>
198           </table>
199         </div>
200       </ng-template>
201     </ng-container>
202   </nav>
203
204   <div [ngbNavOutlet]="nav"></div>
205 </ng-container>