1 <cd-modal [modalRef]="activeModal">
2 <ng-container i18n="form title"
3 class="modal-title">{{ action | titlecase }} {{ resource | upperFirst }}</ng-container>
5 <ng-container class="modal-content"
6 *cdFormLoading="loading">
7 <form name="subvolumeForm"
9 [formGroup]="subvolumeForm"
11 <div class="modal-body">
12 <div class="form-group row">
13 <label class="cd-col-form-label required"
16 <div class="cd-col-form-input">
17 <input class="form-control"
19 placeholder="Subvolume name..."
22 formControlName="subvolumeName"
24 <span class="invalid-feedback"
25 *ngIf="subvolumeForm.showError('subvolumeName', formDir, 'required')"
26 i18n>This field is required.</span>
27 <span class="invalid-feedback"
28 *ngIf="subvolumeForm.showError('subvolumeName', formDir, 'notUnique')"
29 i18n>The subvolume already exists.</span>
34 <div class="form-group row">
35 <label class="cd-col-form-label"
37 i18n>Volume name</label>
38 <div class="cd-col-form-input">
39 <input class="form-control"
42 formControlName="volumeName">
46 <!--Subvolume Group name -->
47 <div class="form-group row">
48 <label class="cd-col-form-label"
49 for="subvolumeGroupName"
52 <div class="cd-col-form-input">
53 <select class="form-select"
54 id="subvolumeGroupName"
55 name="subvolumeGroupName"
56 formControlName="subvolumeGroupName"
57 *ngIf="subVolumeGroups$ | async as subvolumeGroups">
60 <option *ngFor="let subvolumegroup of subvolumeGroups"
61 [value]="subvolumegroup.name">{{ subvolumegroup.name }}</option>
67 <div class="form-group row">
68 <label class="cd-col-form-label"
71 <cd-helper>The size of the subvolume is specified by setting a quota on it.
72 If left blank or put 0, then quota will be infinite</cd-helper>
74 <div class="cd-col-form-input">
75 <input class="form-control"
79 formControlName="size"
81 placeholder="e.g., 10GiB"
84 <span *ngIf="subvolumeForm.showError('size', formDir, 'pattern')"
85 class="invalid-feedback"
86 i18n>Size must be a number or in a valid format. eg: 5 GiB</span>
91 <div class="form-group row">
92 <label class="cd-col-form-label"
95 <cd-helper>By default, the data_pool_layout of the parent directory is selected.</cd-helper>
97 <div class="cd-col-form-input">
98 <select class="form-select"
101 formControlName="pool">
102 <option *ngFor="let pool of dataPools"
103 [value]="pool.pool">{{ pool.pool }}</option>
109 <div class="form-group row">
110 <label class="cd-col-form-label"
113 <div class="cd-col-form-input">
114 <input class="form-control"
116 placeholder="Subvolume UID..."
119 formControlName="uid">
124 <div class="form-group row">
125 <label class="cd-col-form-label"
128 <div class="cd-col-form-input">
129 <input class="form-control"
131 placeholder="Subvolume GID..."
134 formControlName="gid">
139 <div class="form-group row">
140 <label class="cd-col-form-label"
143 <cd-helper>Permissions for the directory. Default mode is 755 which is rwxr-xr-x</cd-helper>
145 <div class="cd-col-form-input">
146 <cd-checked-table-form [data]="scopePermissions"
148 [form]="subvolumeForm"
150 [isTableForOctalMode]="true"
151 [initialValue]="initialMode"
153 [isDisabled]="isEdit"></cd-checked-table-form>
157 <!-- Is namespace-isolated -->
158 <div class="form-group row">
159 <div class="cd-col-form-offset">
160 <div class="custom-control custom-checkbox">
161 <input class="custom-control-input"
163 id="isolatedNamespace"
164 name="isolatedNamespace"
165 formControlName="isolatedNamespace">
166 <label class="custom-control-label"
167 for="isolatedNamespace"
168 i18n>Isolated Namespace
169 <cd-helper>To create subvolume in a separate RADOS namespace.</cd-helper>
176 <div class="modal-footer">
177 <cd-form-button-panel (submitActionEvent)="submit()"
178 [form]="subvolumeForm"
179 [submitText]="(action | titlecase) + ' ' + (resource | upperFirst)"></cd-form-button-panel>