1 <cd-modal [modalRef]="modalRef">
3 class="modal-title">Create Bootstrap Token</ng-container>
5 <ng-container class="modal-content">
6 <form name="createBootstrapForm"
9 [formGroup]="createBootstrapForm"
11 <div class="modal-body">
13 <ng-container i18n>To create a bootstrap token which can be imported
14 by a peer site cluster, provide the local site's name, select
15 which pools will have mirroring enabled, and click
16 <kbd>Generate</kbd>.</ng-container>
19 <div class="form-group">
20 <label class="col-form-label required"
22 i18n>Site Name</label>
23 <input class="form-control"
29 formControlName="siteName"
31 <span *ngIf="createBootstrapForm.showError('siteName', formDir, 'required')"
32 class="invalid-feedback"
33 i18n>This field is required.</span>
36 <div class="form-group"
37 formGroupName="pools">
38 <label class="col-form-label required"
41 <div class="custom-control custom-checkbox"
42 *ngFor="let pool of pools">
43 <input type="checkbox"
44 class="custom-control-input"
46 name="{{ pool.name }}"
47 formControlName="{{ pool.name }}">
48 <label class="custom-control-label"
49 for="{{ pool.name }}">{{ pool.name }}</label>
51 <span *ngIf="createBootstrapForm.showError('pools', formDir, 'requirePool')"
52 class="invalid-feedback"
53 i18n>At least one pool is required.</span>
56 <div class="button-group text-right">
57 <cd-submit-button i18n
58 [form]="createBootstrapForm"
59 (submitAction)="generate()">Generate</cd-submit-button>
62 <div class="form-group">
63 <label class="col-form-label"
65 <span i18n>Token</span>
67 <textarea class="form-control resize-vertical"
68 placeholder="Generated token..."
71 formControlName="token"
77 <div class="modal-footer">
78 <div class="button-group text-right">
79 <cd-back-button [back]="modalRef.hide"