1 <cd-rbd-tabs></cd-rbd-tabs>
8 [searchableObjects]=
"true"
11 forceIdentifier=
"true"
12 selectionType=
"single"
14 [status]=
"tableStatus"
17 (fetchData)=
"taskListService.fetch($event)"
18 (setExpandedRow)=
"setExpandedRow($event)"
19 (updateSelection)=
"updateSelection($event)">
20 <cd-table-actions class=
"table-actions"
21 [permission]=
"permission"
22 [selection]=
"selection"
23 [tableActions]=
"tableActions">
25 <cd-rbd-details cdTableDetail
26 [selection]=
"expandedRow">
30 <ng-template #scheduleStatus
>
32 [innerHtml]=
"'Only available for RBD images with <strong>fast-diff</strong> enabled'"></div>
35 <ng-template #provisionedNotAvailableTooltipTpl
37 <span *
ngIf=
"row.disk_usage === null && !row.features_name.includes('fast-diff'); else provisioned"
38 [ngbTooltip]=
"usageNotAvailableTooltipTpl"
41 <ng-template #provisioned
42 i18n
>{{row.disk_usage | dimlessBinary}}
</ng-template>
45 <ng-template #totalProvisionedNotAvailableTooltipTpl
47 <span *
ngIf=
"row.total_disk_usage === null && !row.features_name.includes('fast-diff'); else totalProvisioned"
48 [ngbTooltip]=
"usageNotAvailableTooltipTpl"
51 <ng-template #totalProvisioned
52 i18n
>{{row.total_disk_usage | dimlessBinary}}
</ng-template>
55 <ng-template #parentTpl
57 <span *
ngIf=
"value">{{ value.pool_name }}
<span
58 *
ngIf=
"value.pool_namespace">/{{ value.pool_namespace }}
</span>/{{ value.image_name }}@{{ value.snap_name }}
</span>
59 <span *
ngIf=
"!value">-
</span>
62 <ng-template #mirroringTpl
65 <span *
ngIf=
"value.length === 3; else probb"
66 class=
"badge badge-info">{{ value[
0] }}
</span>
67 <span *
ngIf=
"value.length === 3"
68 class=
"badge badge-info"
69 [ngbTooltip]=
"'Next scheduled snapshot on' + ' ' + (value[2] | cdDate)">{{ value[
1] }}
</span>
70 <span *
ngIf=
"row.primary === true"
71 class=
"badge badge-info"
73 <span *
ngIf=
"row.primary === false"
74 class=
"badge badge-info"
77 <span class=
"badge badge-info">{{ value }}
</span>
81 <ng-template #flattenTpl
83 You are about to flatten
84 <strong>{{ value.child }}
</strong>.
86 <br> All blocks will be copied from parent
87 <strong>{{ value.parent }}
</strong> to child
88 <strong>{{ value.child }}
</strong>.
91 <ng-template #deleteTpl
92 let-hasSnapshots=
"hasSnapshots"
93 let-snapshots=
"snapshots">
94 <div class=
"alert alert-warning"
97 <span i18n
>Deleting this image will also delete all its snapshots.
</span>
99 <ng-container *
ngIf=
"snapshots.length > 0">
100 <span i18n
>The following snapshots are currently protected and will be removed:
</span>
102 <li *
ngFor=
"let snapshot of snapshots">{{ snapshot }}
</li>
108 <ng-template #removingStatTpl
113 <i [ngClass]=
"[icons.spinner, icons.spin]"
114 *
ngIf=
"row.cdExecuting"></i>
115 <span [ngClass]=
"column?.customTemplateConfig?.valueClass">
118 <span *
ngIf=
"row.cdExecuting"
119 [ngClass]=
"column?.customTemplateConfig?.executingClass ?
120 column.customTemplateConfig.executingClass :
121 'text-muted italic'">
122 ({{ row.cdExecuting }})
124 <i *
ngIf=
"row.source && row.source === 'REMOVING'"
126 title=
"RBD in status 'Removing'"
127 class=
"{{ icons.warning }} warn"></i>