1 <ng-container *ngIf="selection">
5 cdStatefulTab="rgw-bucket-details">
6 <ng-container ngbNavItem="details">
9 <ng-template ngbNavContent>
11 <table class="cds--data-table--sort cds--data-table--no-border cds--data-table cds--data-table--md"
12 data-testid="rgw-bucket-details">
16 class="bold w-25">Versioning</td>
17 <td class="w-75">{{ selection.versioning }}</td>
21 class="bold">Encryption</td>
22 <td>{{ selection.encryption }}</td>
26 class="bold">Replication</td>
27 <td>{{ replicationStatus }}</td>
31 class="bold">MFA Delete</td>
32 <td>{{ selection.mfa_delete }}</td>
36 class="bold">Index type</td>
37 <td>{{ selection.index_type }}</td>
41 class="bold">Placement rule</td>
42 <td>{{ selection.placement_rule }}</td>
46 class="bold">Last modification time</td>
47 <td>{{ selection.mtime | cdDate }}</td>
54 <legend i18n>Bucket quota</legend>
55 <table class="cds--data-table--sort cds--data-table--no-border cds--data-table cds--data-table--md"
56 data-testid="rgw-bucket-quota-details">
60 class="bold w-25">Enabled</td>
61 <td class="w-75">{{ selection.bucket_quota.enabled | booleanText }}</td>
63 <ng-container *ngIf="selection.bucket_quota.enabled">
66 class="bold">Maximum size</td>
67 <td *ngIf="selection.bucket_quota.max_size <= -1"
69 <td *ngIf="selection.bucket_quota.max_size > -1">
70 {{ selection.bucket_quota.max_size | dimless }}
75 class="bold">Maximum objects</td>
76 <td *ngIf="selection.bucket_quota.max_objects <= -1"
78 <td *ngIf="selection.bucket_quota.max_objects > -1">
79 {{ selection.bucket_quota.max_objects }}
88 <legend i18n>Locking</legend>
89 <table class="cds--data-table--sort cds--data-table--no-border cds--data-table cds--data-table--md"
90 data-testid="rgw-bucket-locking-details">
94 class="bold w-25">Enabled</td>
95 <td class="w-75">{{ selection.lock_enabled | booleanText }}</td>
97 <ng-container *ngIf="selection.lock_enabled">
100 class="bold">Mode</td>
101 <td>{{ selection.lock_mode }}</td>
105 class="bold">Days</td>
106 <td>{{ selection.lock_retention_period_days }}</td>
113 <ng-container *ngIf="(selection.tagset | keyvalue)?.length">
114 <legend i18n>Tags</legend>
115 <table class="cds--data-table--sort cds--data-table--no-border cds--data-table cds--data-table--md">
117 <tr *ngFor="let tag of selection.tagset | keyvalue">
119 class="bold w-25">{{tag.key}}</td>
120 <td class="w-75">{{ tag.value }}</td>
127 <!-- Bucket Rate Limit -->
128 <ng-container *ngIf="!!bucketRateLimit">
129 <cd-rgw-rate-limit-details [rateLimitConfig]="bucketRateLimit"
130 [type]="'bucket'"></cd-rgw-rate-limit-details>
135 <ng-container ngbNavItem="permissions">
138 <ng-template ngbNavContent>
139 <div class="table-scroller">
140 <table class="cds--data-table--sort cds--data-table--no-border cds--data-table cds--data-table--md">
144 class="bold w-25">Bucket policy</td>
145 <td><pre>{{ selection.bucket_policy | json}}</pre></td>
149 class="bold w-25">Lifecycle
150 <div *ngIf="(selection.lifecycle | json) !== '{}'"
152 <button type="button"
153 class="btn btn-light"
154 [ngClass]="{'active': lifecycleFormat === 'json'}"
155 (click)="updateLifecycleFormatTo('json')">
158 <button type="button"
159 class="btn btn-light"
160 [ngClass]="{'active': lifecycleFormat === 'xml'}"
161 (click)="updateLifecycleFormatTo('xml')">
167 <cds-code-snippet display="multi"
168 *ngIf="lifecycleFormat === 'json'">
169 {{selection.lifecycle | json}}
171 <cds-code-snippet display="multi"
172 *ngIf="lifecycleFormat === 'xml'">
173 {{ (selection.lifecycle | xml:{'Rules':'Rule'}) || '-'}}
177 <tr *ngIf="selection.lifecycle_progress?.length > 0">
183 <cds-tooltip [description]="lifecycleProgressMap.get(lifecycleProgress.status)?.description"
186 [type]="lifecycleProgressMap.get(lifecycleProgress.status)?.color">
187 {{ lifecycleProgress.status }}
190 <div *ngIf="lifecycleProgress?.status !== 'UNINITIAL'"
191 class="spacing-left">{{lifecycleProgress?.started}}</div>
196 class="bold w-25">Replication policy</td>
197 <td><pre>{{ selection.replication | json}}</pre></td>
201 class="bold w-25">ACL</td>
203 <table class="table">
212 <td>Bucket Owner</td>
213 <td>{{ aclPermissions.Owner || '-'}}</td>
217 <td>{{ aclPermissions.AllUsers || '-'}}</td>
220 <td>Authenticated users group</td>
221 <td>{{ aclPermissions.AuthenticatedUsers || '-'}}</td>
233 <ng-container ngbNavItem="tiering">
236 <ng-template ngbNavContent>
237 <cd-rgw-bucket-lifecycle-list [bucket]="selection"
238 (updateBucketDetails)="updateBucketDetails(extractLifecycleDetails.bind(this))"></cd-rgw-bucket-lifecycle-list>
241 <ng-container ngbNavItem="notification">
243 i18n>Notification</a>
244 <ng-template ngbNavContent>
245 <cd-rgw-bucket-notification-list [bucket]="selection"></cd-rgw-bucket-notification-list>
250 <div [ngbNavOutlet]="nav"></div>