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">
9 <div class="modal-body">
10 <div class="form-group row">
12 class="cd-col-form-label">
13 <ng-container i18n>Name</ng-container>
14 <span class="required"></span>
16 <div class="cd-col-form-input">
22 formControlName="name"
24 <span class="invalid-feedback"
25 *ngIf="form.showError('name', frm, 'required')"
26 i18n>This field is required!</span>
27 <span class="invalid-feedback"
28 *ngIf="form.showError('name', frm, 'pattern')"
29 i18n>The name can only consist of alphanumeric characters, dashes and underscores.</span>
30 <span class="invalid-feedback"
31 *ngIf="form.showError('name', frm, 'uniqueName')"
32 i18n>The chosen erasure code profile name is already in use.</span>
37 <div class="form-group row">
39 class="cd-col-form-label">
40 <ng-container i18n>Root</ng-container>
41 <cd-helper [html]="tooltips.root">
43 <span class="required"></span>
45 <div class="cd-col-form-input">
46 <select class="form-select"
49 formControlName="root">
50 <option *ngIf="!buckets"
52 i18n>Loading...</option>
53 <option *ngFor="let bucket of buckets"
58 <span class="invalid-feedback"
59 *ngIf="form.showError('root', frm, 'required')"
60 i18n>This field is required!</span>
64 <!-- Failure Domain Type -->
65 <div class="form-group row">
66 <label for="failure_domain"
67 class="cd-col-form-label">
68 <ng-container i18n>Failure domain type</ng-container>
69 <cd-helper [html]="tooltips.failure_domain">
71 <span class="required"></span>
73 <div class="cd-col-form-input">
74 <select class="form-select"
77 formControlName="failure_domain">
78 <option *ngIf="!failureDomains"
80 i18n>Loading...</option>
81 <option *ngFor="let domain of failureDomainKeys"
83 {{ domain }} ( {{failureDomains[domain].length}} )
86 <span class="invalid-feedback"
87 *ngIf="form.showError('failure_domain', frm, 'required')"
88 i18n>This field is required!</span>
93 <div class="form-group row">
94 <label for="device_class"
95 class="cd-col-form-label">
96 <ng-container i18n>Device class</ng-container>
97 <cd-helper [html]="tooltips.device_class">
100 <div class="cd-col-form-input">
101 <select class="form-select"
104 formControlName="device_class">
106 i18n>Let Ceph decide</option>
107 <option *ngFor="let deviceClass of devices"
108 [ngValue]="deviceClass">
116 <div class="modal-footer">
117 <cd-form-button-panel (submitActionEvent)="onSubmit()"
119 [submitText]="(action | titlecase) + ' ' + (resource | upperFirst)"></cd-form-button-panel>