]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/blob
4e3bb68014829027a6f3e96ffd233ebda7572b61
[ceph-ci.git] /
1 <cd-modal [modalRef]="activeModal">
2   <ng-container i18n="form title"
3                 class="modal-title">{{ action | titlecase }} {{ resource | upperFirst }}</ng-container>
4
5   <ng-container class="modal-content">
6     <form name="subvolumeForm"
7           #formDir="ngForm"
8           [formGroup]="subvolumeForm"
9           novalidate>
10       <div class="modal-body">
11         <div class="form-group row">
12           <label class="cd-col-form-label required"
13                  for="subvolumeName"
14                  i18n>Name</label>
15           <div class="cd-col-form-input">
16             <input class="form-control"
17                    type="text"
18                    placeholder="Subvolume name..."
19                    id="subvolumeName"
20                    name="subvolumeName"
21                    formControlName="subvolumeName"
22                    autofocus>
23             <span class="invalid-feedback"
24                   *ngIf="subvolumeForm.showError('subvolumeName', formDir, 'required')"
25                   i18n>This field is required.</span>
26             <span class="invalid-feedback"
27                   *ngIf="subvolumeForm.showError('subvolumeName', formDir, 'notUnique')"
28                   i18n>The subvolume already exists.</span>
29           </div>
30         </div>
31
32         <!-- Volume name -->
33         <div class="form-group row">
34           <label class="cd-col-form-label"
35                  for="volumeName"
36                  i18n>Volume name</label>
37           <div class="cd-col-form-input">
38             <input class="form-control"
39                    id="volumeName"
40                    name="volumeName"
41                    formControlName="volumeName">
42           </div>
43         </div>
44
45         <!-- Size -->
46         <div class="form-group row">
47           <label class="cd-col-form-label"
48                  for="size"
49                  i18n>Size
50           <cd-helper>The size of the subvolume is specified by setting a quota on it</cd-helper>
51           </label>
52           <div class="cd-col-form-input">
53             <input class="form-control"
54                    type="text"
55                    id="size"
56                    name="size"
57                    formControlName="size"
58                    i18n-placeholder
59                    placeholder="e.g., 10GiB"
60                    defaultUnit="GiB"
61                    cdDimlessBinary>
62           </div>
63         </div>
64
65         <!-- CephFS Pools -->
66         <div class="form-group row">
67           <label class="cd-col-form-label"
68                  for="pool"
69                  i18n>Pool
70             <cd-helper>By default, the data_pool_layout of the parent directory is selected.</cd-helper>
71           </label>
72           <div class="cd-col-form-input">
73             <select class="form-select"
74                     id="pool"
75                     name="pool"
76                     formControlName="pool">
77               <option *ngFor="let pool of dataPools"
78                       [value]="pool.pool">{{ pool.pool }}</option>
79             </select>
80           </div>
81         </div>
82
83         <!-- UID -->
84         <div class="form-group row">
85           <label class="cd-col-form-label"
86                  for="uid"
87                  i18n>UID</label>
88           <div class="cd-col-form-input">
89             <input class="form-control"
90                    type="number"
91                    placeholder="Subvolume UID..."
92                    id="uid"
93                    name="uid"
94                    formControlName="uid">
95           </div>
96         </div>
97
98         <!-- GID -->
99         <div class="form-group row">
100           <label class="cd-col-form-label"
101                  for="gid"
102                  i18n>GID</label>
103           <div class="cd-col-form-input">
104             <input class="form-control"
105                    type="number"
106                    placeholder="Subvolume GID..."
107                    id="gid"
108                    name="gid"
109                    formControlName="gid">
110           </div>
111         </div>
112
113         <!-- Mode -->
114         <div class="form-group row">
115           <label class="cd-col-form-label"
116                  for="mode"
117                  i18n>Mode
118             <cd-helper>Permissions for the directory. Default mode is 755 which is rwxr-xr-x</cd-helper>
119           </label>
120           <div class="cd-col-form-input">
121             <cd-checked-table-form [data]="scopePermissions"
122                                    [columns]="columns"
123                                    [form]="subvolumeForm"
124                                    inputField="mode"
125                                    [isTableForOctalMode]="true"
126                                    [scopes]="scopes"></cd-checked-table-form>
127           </div>
128           </div>
129
130         <!-- Is namespace-isolated -->
131         <div class="form-group row">
132           <div class="cd-col-form-offset">
133             <div class="custom-control custom-checkbox">
134               <input class="custom-control-input"
135                      type="checkbox"
136                      id="isolatedNamespace"
137                      name="isolatedNamespace"
138                      formControlName="isolatedNamespace">
139               <label class="custom-control-label"
140                      for="isolatedNamespace"
141                      i18n>Isolated Namespace
142                 <cd-helper>To create subvolume in a separate RADOS namespace.</cd-helper>
143               </label>
144             </div>
145           </div>
146         </div>
147       </div>
148
149       <div class="modal-footer">
150         <cd-form-button-panel (submitActionEvent)="submit()"
151                               [form]="subvolumeForm"
152                               [submitText]="(action | titlecase) + ' ' + (resource | upperFirst)"></cd-form-button-panel>
153       </div>
154     </form>
155   </ng-container>
156 </cd-modal>