diff --git a/src/app/interfaces/api/api-job-directory.interface.ts b/src/app/interfaces/api/api-job-directory.interface.ts index e453bdb743a..689bc5902f1 100644 --- a/src/app/interfaces/api/api-job-directory.interface.ts +++ b/src/app/interfaces/api/api-job-directory.interface.ts @@ -200,7 +200,7 @@ export interface ApiJobDirectory { // Virt 'virt.instance.create': { params: [CreateVirtualizationInstance]; response: VirtualizationInstance }; - 'virt.instance.delete ': { params: [instanceId: string]; response: boolean }; + 'virt.instance.delete': { params: [instanceId: string]; response: boolean }; 'virt.instance.restart': { params: VirtualizationStopParams; response: boolean }; 'virt.instance.start': { params: [instanceId: string]; response: boolean }; 'virt.instance.stop': { params: VirtualizationStopParams; response: boolean }; diff --git a/src/app/pages/virtualization/components/all-instances/instance-details/instance-general-info/instance-general-info.component.html b/src/app/pages/virtualization/components/all-instances/instance-details/instance-general-info/instance-general-info.component.html index d30bfec53da..b95da28ce58 100644 --- a/src/app/pages/virtualization/components/all-instances/instance-details/instance-general-info/instance-general-info.component.html +++ b/src/app/pages/virtualization/components/all-instances/instance-details/instance-general-info/instance-general-info.component.html @@ -3,6 +3,14 @@

{{ 'General Info' | translate }}

+ + @@ -15,5 +23,16 @@

{{ 'Memory' | translate }}: {{ formatter.memorySizeFormatting(instance.memory) || '-' }}

} + + + + diff --git a/src/app/pages/virtualization/components/all-instances/instance-details/instance-general-info/instance-general-info.component.spec.ts b/src/app/pages/virtualization/components/all-instances/instance-details/instance-general-info/instance-general-info.component.spec.ts index c708c09bab9..48e7cb57cc1 100644 --- a/src/app/pages/virtualization/components/all-instances/instance-details/instance-general-info/instance-general-info.component.spec.ts +++ b/src/app/pages/virtualization/components/all-instances/instance-details/instance-general-info/instance-general-info.component.spec.ts @@ -1,6 +1,17 @@ -import { createComponentFactory, Spectator } from '@ngneat/spectator/jest'; +import { HarnessLoader } from '@angular/cdk/testing'; +import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed'; +import { MatButtonHarness } from '@angular/material/button/testing'; +import { createComponentFactory, mockProvider, Spectator } from '@ngneat/spectator/jest'; +import { of } from 'rxjs'; +import { mockAuth } from 'app/core/testing/utils/mock-auth.utils'; +import { mockJob, mockWebSocket } from 'app/core/testing/utils/mock-websocket.utils'; import { VirtualizationInstance } from 'app/interfaces/virtualization.interface'; +import { DialogService } from 'app/modules/dialog/dialog.service'; import { InstanceGeneralInfoComponent } from 'app/pages/virtualization/components/all-instances/instance-details/instance-general-info/instance-general-info.component'; +import { InstanceEditFormComponent } from 'app/pages/virtualization/components/instance-edit-form/instance-edit-form.component'; +import { VirtualizationInstancesStore } from 'app/pages/virtualization/stores/virtualization-instances.store'; +import { SlideInService } from 'app/services/slide-in.service'; +import { WebSocketService } from 'app/services/ws.service'; const demoInstance = { id: 'demo', @@ -20,9 +31,30 @@ const demoInstance = { describe('InstanceGeneralInfoComponent', () => { let spectator: Spectator; + let loader: HarnessLoader; const createComponent = createComponentFactory({ component: InstanceGeneralInfoComponent, + providers: [ + mockAuth(), + mockProvider(DialogService, { + jobDialog: jest.fn(() => { + return { + afterClosed: jest.fn(() => of()), + }; + }), + confirm: () => of(true), + }), + mockProvider(SlideInService, { + open: jest.fn(), + }), + mockWebSocket([ + mockJob('virt.instance.delete'), + ]), + mockProvider(VirtualizationInstancesStore, { + selectedInstance: jest.fn(), + }), + ], }); beforeEach(() => { @@ -31,6 +63,8 @@ describe('InstanceGeneralInfoComponent', () => { instance: demoInstance, }, }); + + loader = TestbedHarnessEnvironment.loader(spectator.fixture); }); it('checks card title', () => { @@ -48,4 +82,21 @@ describe('InstanceGeneralInfoComponent', () => { expect(chartExtra[4]).toHaveText('CPU: 525'); expect(chartExtra[5]).toHaveText('Memory: 125 MiB'); }); + + it('deletes instance when "Delete" button is pressed', async () => { + const deleteButton = await loader.getHarness(MatButtonHarness.with({ text: 'Delete' })); + await deleteButton.click(); + + expect(spectator.inject(DialogService).jobDialog).toHaveBeenCalled(); + expect(spectator.inject(WebSocketService).job).toHaveBeenLastCalledWith('virt.instance.delete', ['demo']); + }); + + it('navigates to app edit page when Edit button is pressed', async () => { + const editButton = await loader.getHarness(MatButtonHarness.with({ text: 'Edit' })); + await editButton.click(); + + expect(spectator.inject(SlideInService).open).toHaveBeenCalledWith(InstanceEditFormComponent, { + data: demoInstance, + }); + }); }); diff --git a/src/app/pages/virtualization/components/all-instances/instance-details/instance-general-info/instance-general-info.component.ts b/src/app/pages/virtualization/components/all-instances/instance-details/instance-general-info/instance-general-info.component.ts index 9bf0fb25bcf..5726a3a26c0 100644 --- a/src/app/pages/virtualization/components/all-instances/instance-details/instance-general-info/instance-general-info.component.ts +++ b/src/app/pages/virtualization/components/all-instances/instance-details/instance-general-info/instance-general-info.component.ts @@ -2,14 +2,26 @@ import { TitleCasePipe } from '@angular/common'; import { ChangeDetectionStrategy, Component, input } from '@angular/core'; import { MatButton } from '@angular/material/button'; import { - MatCard, MatCardContent, MatCardHeader, + MatCard, MatCardActions, MatCardContent, MatCardHeader, MatCardTitle, } from '@angular/material/card'; -import { TranslateModule } from '@ngx-translate/core'; +import { Router, RouterLink } from '@angular/router'; +import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy'; +import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { filter, switchMap } from 'rxjs'; +import { RequiresRolesDirective } from 'app/directives/requires-roles/requires-roles.directive'; +import { Role } from 'app/enums/role.enum'; import { VirtualizationInstance } from 'app/interfaces/virtualization.interface'; +import { DialogService } from 'app/modules/dialog/dialog.service'; import { IxFormatterService } from 'app/modules/forms/ix-forms/services/ix-formatter.service'; import { YesNoPipe } from 'app/modules/pipes/yes-no/yes-no.pipe'; +import { InstanceEditFormComponent } from 'app/pages/virtualization/components/instance-edit-form/instance-edit-form.component'; +import { VirtualizationInstancesStore } from 'app/pages/virtualization/stores/virtualization-instances.store'; +import { ErrorHandlerService } from 'app/services/error-handler.service'; +import { SlideInService } from 'app/services/slide-in.service'; +import { WebSocketService } from 'app/services/ws.service'; +@UntilDestroy() @Component({ selector: 'ix-instance-general-info', templateUrl: './instance-general-info.component.html', @@ -21,16 +33,51 @@ import { YesNoPipe } from 'app/modules/pipes/yes-no/yes-no.pipe'; MatCard, MatCardTitle, MatCardHeader, + MatCardActions, TranslateModule, MatCardContent, YesNoPipe, TitleCasePipe, + RouterLink, + RequiresRolesDirective, ], }) export class InstanceGeneralInfoComponent { instance = input.required(); + protected readonly Role = Role; + constructor( protected formatter: IxFormatterService, + private dialogService: DialogService, + private translate: TranslateService, + private ws: WebSocketService, + private errorHandler: ErrorHandlerService, + private router: Router, + private slideInService: SlideInService, + private instancesStore: VirtualizationInstancesStore, ) {} + + editInstance(): void { + this.slideInService.open(InstanceEditFormComponent, { data: this.instance() }); + } + + deleteInstance(): void { + this.dialogService.confirm({ + title: this.translate.instant('Delete'), + message: this.translate.instant('Delete {name}?', { name: this.instance().name }), + }).pipe( + filter(Boolean), + switchMap(() => { + return this.dialogService.jobDialog( + this.ws.job('virt.instance.delete', [this.instance().id]), + ).afterClosed(); + }), + this.errorHandler.catchError(), + untilDestroyed(this), + ).subscribe(() => { + this.instancesStore.selectInstance(null); + this.router.navigate(['/virtualization'], { state: { hideMobileDetails: true } }); + }); + } } diff --git a/src/app/pages/virtualization/components/all-instances/instance-list/instance-list.component.html b/src/app/pages/virtualization/components/all-instances/instance-list/instance-list.component.html index 38682dce99a..b66d4956c39 100644 --- a/src/app/pages/virtualization/components/all-instances/instance-list/instance-list.component.html +++ b/src/app/pages/virtualization/components/all-instances/instance-list/instance-list.component.html @@ -36,14 +36,14 @@ } @else { } - + @for (instance of filteredInstances(); track instance.id) { (''); protected readonly showMobileDetails = signal(false); @@ -81,6 +82,20 @@ export class InstanceListComponent implements AfterViewInit { }; }); + protected selectInstanceDetails = effect(() => { + const instanceId = this.activatedRoute.snapshot.paramMap.get('id'); + + if (this.isLoading() || !this.instances()?.length) { + return; + } + + if (instanceId) { + this.selectForDetails(instanceId); + } else { + this.navigateToDetails(this.instances()[0]); + } + }, { allowSignalWrites: true }); + constructor( private store: VirtualizationInstancesStore, private router: Router, @@ -91,14 +106,6 @@ export class InstanceListComponent implements AfterViewInit { private errorHandler: ErrorHandlerService, ) {} - ngAfterViewInit(): void { - this.activatedRoute.paramMap.pipe( - untilDestroyed(this), - ).subscribe((params) => { - this.selectForDetails(params.get('id')); - }); - } - onSearch(query: string): void { this.searchQuery.set(query); } @@ -111,7 +118,7 @@ export class InstanceListComponent implements AfterViewInit { } } - viewDetails(instance: VirtualizationInstance): void { + navigateToDetails(instance: VirtualizationInstance): void { this.selectForDetails(instance.id); this.router.navigate(['/virtualization', 'view', instance.id]); @@ -123,28 +130,6 @@ export class InstanceListComponent implements AfterViewInit { } } - private selectForDetails(instanceId: string): void { - if (!this.instances()?.length) { - return; - } - - const selected = instanceId && this.instances().find((instance) => instance.id === instanceId); - if (selected) { - this.store.selectInstance(selected.id); - return; - } - - this.selectFirstInstance(); - } - - private selectFirstInstance(): void { - const [first] = this.instances(); - - if (first) { - this.store.selectInstance(first.id); - } - } - closeMobileDetails(): void { this.showMobileDetails.set(false); } @@ -178,4 +163,15 @@ export class InstanceListComponent implements AfterViewInit { .pipe(this.errorHandler.catchError(), untilDestroyed(this)) .subscribe(); } + + private selectForDetails(instanceId: string): void { + if (!this.instances()?.length) { + return; + } + + const selected = instanceId && this.instances().find((instance) => instance.id === instanceId); + if (selected) { + this.store.selectInstance(selected.id); + } + } } diff --git a/src/app/pages/virtualization/components/instance-edit-form/instance-edit-form.component.html b/src/app/pages/virtualization/components/instance-edit-form/instance-edit-form.component.html new file mode 100644 index 00000000000..70e5b5d4d56 --- /dev/null +++ b/src/app/pages/virtualization/components/instance-edit-form/instance-edit-form.component.html @@ -0,0 +1,40 @@ + + +
+
+ + + + + + + + + + +
+ +
+
+
diff --git a/src/app/pages/virtualization/components/instance-edit-form/instance-edit-form.component.scss b/src/app/pages/virtualization/components/instance-edit-form/instance-edit-form.component.scss new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/app/pages/virtualization/components/instance-edit-form/instance-edit-form.component.spec.ts b/src/app/pages/virtualization/components/instance-edit-form/instance-edit-form.component.spec.ts new file mode 100644 index 00000000000..edc919c16d2 --- /dev/null +++ b/src/app/pages/virtualization/components/instance-edit-form/instance-edit-form.component.spec.ts @@ -0,0 +1,96 @@ +import { HarnessLoader } from '@angular/cdk/testing'; +import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed'; +import { MatButtonHarness } from '@angular/material/button/testing'; +import { + createComponentFactory, + mockProvider, + Spectator, +} from '@ngneat/spectator/jest'; +import { MockComponent } from 'ng-mocks'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; +import { GiB } from 'app/constants/bytes.constant'; +import { fakeSuccessfulJob } from 'app/core/testing/utils/fake-job.utils'; +import { mockAuth } from 'app/core/testing/utils/mock-auth.utils'; +import { mockJob, mockWebSocket } from 'app/core/testing/utils/mock-websocket.utils'; +import { Job } from 'app/interfaces/job.interface'; +import { VirtualizationInstance } from 'app/interfaces/virtualization.interface'; +import { DialogService } from 'app/modules/dialog/dialog.service'; +import { IxFormHarness } from 'app/modules/forms/ix-forms/testing/ix-form.harness'; +import { ModalHeaderComponent } from 'app/modules/slide-ins/components/modal-header/modal-header.component'; +import { SlideInRef } from 'app/modules/slide-ins/slide-in-ref'; +import { SLIDE_IN_DATA } from 'app/modules/slide-ins/slide-in.token'; +import { SnackbarService } from 'app/modules/snackbar/services/snackbar.service'; +import { InstanceEditFormComponent } from 'app/pages/virtualization/components/instance-edit-form/instance-edit-form.component'; +import { WebSocketService } from 'app/services/ws.service'; + +describe('InstanceEditFormComponent', () => { + let spectator: Spectator; + let loader: HarnessLoader; + let form: IxFormHarness; + + const mockInstance = { + id: 'test', + name: 'test', + autostart: false, + cpu: '1-3', + memory: 2 * GiB, + } as VirtualizationInstance; + + const createComponent = createComponentFactory({ + component: InstanceEditFormComponent, + declarations: [ + MockComponent(ModalHeaderComponent), + ], + providers: [ + { provide: SLIDE_IN_DATA, useValue: mockInstance }, + mockAuth(), + mockProvider(SlideInRef), + mockWebSocket([ + mockJob('virt.instance.update', fakeSuccessfulJob({ id: 'test' } as VirtualizationInstance)), + ]), + mockProvider(SnackbarService), + mockProvider(DialogService, { + jobDialog: jest.fn((request$: Observable) => ({ + afterClosed: () => request$.pipe( + map((job) => job.result), + ), + })), + }), + ], + }); + + beforeEach(async () => { + spectator = createComponent(); + loader = TestbedHarnessEnvironment.loader(spectator.fixture); + form = await loader.getHarness(IxFormHarness); + }); + + it('loads instance data in edit mode and populates the form', async () => { + expect(await form.getValues()).toMatchObject({ + Autostart: false, + 'CPU Configuration': '1-3', + 'Memory Size': '2 GiB', + }); + }); + + it('updates an instance when form is submitted', async () => { + await form.fillForm({ + Autostart: true, + 'CPU Configuration': '2-5', + 'Memory Size': '1 GiB', + }); + + const saveButton = await loader.getHarness(MatButtonHarness.with({ text: 'Save' })); + await saveButton.click(); + + expect(spectator.inject(WebSocketService).job).toHaveBeenCalledWith('virt.instance.update', ['test', { + autostart: true, + cpu: '2-5', + memory: GiB, + environment: null, + }]); + expect(spectator.inject(DialogService).jobDialog).toHaveBeenCalled(); + expect(spectator.inject(SnackbarService).success).toHaveBeenCalled(); + }); +}); diff --git a/src/app/pages/virtualization/components/instance-edit-form/instance-edit-form.component.ts b/src/app/pages/virtualization/components/instance-edit-form/instance-edit-form.component.ts new file mode 100644 index 00000000000..2196b513b74 --- /dev/null +++ b/src/app/pages/virtualization/components/instance-edit-form/instance-edit-form.component.ts @@ -0,0 +1,115 @@ +import { AsyncPipe } from '@angular/common'; +import { + ChangeDetectionStrategy, Component, Inject, signal, +} from '@angular/core'; +import { + FormBuilder, ReactiveFormsModule, Validators, +} from '@angular/forms'; +import { MatButton } from '@angular/material/button'; +import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy'; +import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { RequiresRolesDirective } from 'app/directives/requires-roles/requires-roles.directive'; +import { Role } from 'app/enums/role.enum'; +import { + UpdateVirtualizationInstance, + VirtualizationInstance, +} from 'app/interfaces/virtualization.interface'; +import { DialogService } from 'app/modules/dialog/dialog.service'; +import { IxCheckboxComponent } from 'app/modules/forms/ix-forms/components/ix-checkbox/ix-checkbox.component'; +import { IxFieldsetComponent } from 'app/modules/forms/ix-forms/components/ix-fieldset/ix-fieldset.component'; +import { IxInputComponent } from 'app/modules/forms/ix-forms/components/ix-input/ix-input.component'; +import { ReadOnlyComponent } from 'app/modules/forms/ix-forms/components/readonly-badge/readonly-badge.component'; +import { FormErrorHandlerService } from 'app/modules/forms/ix-forms/services/form-error-handler.service'; +import { IxFormatterService } from 'app/modules/forms/ix-forms/services/ix-formatter.service'; +import { cpuValidator } from 'app/modules/forms/ix-forms/validators/cpu-validation/cpu-validation'; +import { ModalHeaderComponent } from 'app/modules/slide-ins/components/modal-header/modal-header.component'; +import { SlideInRef } from 'app/modules/slide-ins/slide-in-ref'; +import { SLIDE_IN_DATA } from 'app/modules/slide-ins/slide-in.token'; +import { SnackbarService } from 'app/modules/snackbar/services/snackbar.service'; +import { TestDirective } from 'app/modules/test-id/test.directive'; +import { WebSocketService } from 'app/services/ws.service'; + +@UntilDestroy() +@Component({ + selector: 'ix-instance-edit-form', + standalone: true, + imports: [ + ModalHeaderComponent, + IxInputComponent, + ReactiveFormsModule, + TranslateModule, + IxCheckboxComponent, + MatButton, + RequiresRolesDirective, + TestDirective, + IxFieldsetComponent, + ReadOnlyComponent, + AsyncPipe, + ], + templateUrl: './instance-edit-form.component.html', + styleUrls: ['./instance-edit-form.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class InstanceEditFormComponent { + protected readonly isLoading = signal(false); + protected readonly requiredRoles = [Role.VirtGlobalWrite]; + + title = this.translate.instant('Edit Instance: {name}', { name: this.instance.name }); + editingInstanceId = this.instance.id; + + protected readonly form = this.formBuilder.nonNullable.group({ + cpu: ['', [Validators.required, cpuValidator()]], + autostart: [false], + memory: [null as number, Validators.required], + }); + + constructor( + private ws: WebSocketService, + private formBuilder: FormBuilder, + private formErrorHandler: FormErrorHandlerService, + private translate: TranslateService, + private snackbar: SnackbarService, + private dialogService: DialogService, + protected formatter: IxFormatterService, + private slideInRef: SlideInRef, + @Inject(SLIDE_IN_DATA) private instance: VirtualizationInstance, + ) { + this.form.patchValue({ + cpu: instance.cpu, + autostart: instance.autostart, + memory: instance.memory, + }); + } + + protected onSubmit(): void { + const payload = this.getSubmissionPayload(); + + const job$ = this.ws.job('virt.instance.update', [this.editingInstanceId, payload]); + + this.dialogService.jobDialog(job$, { + title: this.translate.instant('Updating Instance'), + }) + .afterClosed() + .pipe(untilDestroyed(this)) + .subscribe({ + next: () => { + this.snackbar.success(this.translate.instant('Instance updated')); + this.slideInRef.close(true); + }, + error: (error) => { + this.formErrorHandler.handleWsFormError(error, this.form); + }, + }); + } + + private getSubmissionPayload(): UpdateVirtualizationInstance { + const values = this.form.value; + + return { + environment: null, + autostart: values.autostart, + cpu: values.cpu, + memory: values.memory, + } as UpdateVirtualizationInstance; + } +} diff --git a/src/app/pages/virtualization/components/create-instance-form/create-instance-form.component.html b/src/app/pages/virtualization/components/instance-wizard/instance-wizard.component.html similarity index 92% rename from src/app/pages/virtualization/components/create-instance-form/create-instance-form.component.html rename to src/app/pages/virtualization/components/instance-wizard/instance-wizard.component.html index 2df4edb9163..6b952e37b25 100644 --- a/src/app/pages/virtualization/components/create-instance-form/create-instance-form.component.html +++ b/src/app/pages/virtualization/components/instance-wizard/instance-wizard.component.html @@ -1,8 +1,13 @@ - + + @if (!(hasRequiredRoles | async)) { + + } +
+ - {{ 'Save Instance' | translate }} + {{ 'Save' | translate }}
diff --git a/src/app/pages/virtualization/components/create-instance-form/create-instance-form.component.scss b/src/app/pages/virtualization/components/instance-wizard/instance-wizard.component.scss similarity index 100% rename from src/app/pages/virtualization/components/create-instance-form/create-instance-form.component.scss rename to src/app/pages/virtualization/components/instance-wizard/instance-wizard.component.scss diff --git a/src/app/pages/virtualization/components/create-instance-form/create-instance-form.component.spec.ts b/src/app/pages/virtualization/components/instance-wizard/instance-wizard.component.spec.ts similarity index 88% rename from src/app/pages/virtualization/components/create-instance-form/create-instance-form.component.spec.ts rename to src/app/pages/virtualization/components/instance-wizard/instance-wizard.component.spec.ts index cabc107a227..b1ed0e5d720 100644 --- a/src/app/pages/virtualization/components/create-instance-form/create-instance-form.component.spec.ts +++ b/src/app/pages/virtualization/components/instance-wizard/instance-wizard.component.spec.ts @@ -22,23 +22,24 @@ import { IxCheckboxHarness } from 'app/modules/forms/ix-forms/components/ix-chec import { IxFormHarness } from 'app/modules/forms/ix-forms/testing/ix-form.harness'; import { PageHeaderComponent } from 'app/modules/page-header/page-title-header/page-header.component'; import { SnackbarService } from 'app/modules/snackbar/services/snackbar.service'; -import { CreateInstanceFormComponent } from 'app/pages/virtualization/components/create-instance-form/create-instance-form.component'; -import { - VirtualizationImageWithId, -} from 'app/pages/virtualization/components/create-instance-form/select-image-dialog/select-image-dialog.component'; +import { InstanceWizardComponent } from 'app/pages/virtualization/components/instance-wizard/instance-wizard.component'; +import { VirtualizationImageWithId } from 'app/pages/virtualization/components/instance-wizard/select-image-dialog/select-image-dialog.component'; +import { AuthService } from 'app/services/auth/auth.service'; import { WebSocketService } from 'app/services/ws.service'; -describe('InstanceFormComponent', () => { - let spectator: SpectatorRouting; +describe('InstanceWizardComponent', () => { + let spectator: SpectatorRouting; let loader: HarnessLoader; let form: IxFormHarness; const createComponent = createRoutingFactory({ - component: CreateInstanceFormComponent, + component: InstanceWizardComponent, declarations: [ MockComponent(PageHeaderComponent), ], providers: [ + mockProvider(AuthService, { hasRole: () => of(true) }), + mockProvider(Router), mockWebSocket([ mockCall('virt.instance.query', [{ id: 'test', @@ -67,7 +68,6 @@ describe('InstanceFormComponent', () => { }, }), mockJob('virt.instance.create', fakeSuccessfulJob({ id: 'new' } as VirtualizationInstance)), - mockJob('virt.instance.update', fakeSuccessfulJob({ id: 'test' } as VirtualizationInstance)), ]), mockProvider(SnackbarService), mockProvider(DialogService, { @@ -121,7 +121,7 @@ describe('InstanceFormComponent', () => { const gpuDeviceCheckbox = await loader.getHarness(IxCheckboxHarness.with({ label: 'NVIDIA GeForce GTX 1080' })); await gpuDeviceCheckbox.setValue(true); - const saveButton = await loader.getHarness(MatButtonHarness.with({ text: 'Save Instance' })); + const saveButton = await loader.getHarness(MatButtonHarness.with({ text: 'Save' })); await saveButton.click(); expect(spectator.inject(WebSocketService).job).toHaveBeenCalledWith('virt.instance.create', [{ @@ -137,6 +137,5 @@ describe('InstanceFormComponent', () => { }]); expect(spectator.inject(DialogService).jobDialog).toHaveBeenCalled(); expect(spectator.inject(SnackbarService).success).toHaveBeenCalled(); - expect(spectator.inject(Router).navigate).toHaveBeenCalledWith(['/virtualization/view', 'new']); }); }); diff --git a/src/app/pages/virtualization/components/create-instance-form/create-instance-form.component.ts b/src/app/pages/virtualization/components/instance-wizard/instance-wizard.component.ts similarity index 87% rename from src/app/pages/virtualization/components/create-instance-form/create-instance-form.component.ts rename to src/app/pages/virtualization/components/instance-wizard/instance-wizard.component.ts index a228b060f38..0e1f2a781b1 100644 --- a/src/app/pages/virtualization/components/create-instance-form/create-instance-form.component.ts +++ b/src/app/pages/virtualization/components/instance-wizard/instance-wizard.component.ts @@ -1,6 +1,6 @@ import { AsyncPipe } from '@angular/common'; import { - ChangeDetectionStrategy, Component, OnInit, signal, + ChangeDetectionStrategy, Component, signal, OnInit, } from '@angular/core'; import { FormBuilder, FormControl, ReactiveFormsModule, Validators, @@ -12,6 +12,7 @@ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy'; import { TranslateModule, TranslateService } from '@ngx-translate/core'; import { map, Observable } from 'rxjs'; import { RequiresRolesDirective } from 'app/directives/requires-roles/requires-roles.directive'; +import { Role } from 'app/enums/role.enum'; import { VirtualizationDeviceType, VirtualizationGpuType, VirtualizationRemote, VirtualizationType, @@ -27,6 +28,7 @@ import { DialogService } from 'app/modules/dialog/dialog.service'; import { IxCheckboxComponent } from 'app/modules/forms/ix-forms/components/ix-checkbox/ix-checkbox.component'; import { IxFieldsetComponent } from 'app/modules/forms/ix-forms/components/ix-fieldset/ix-fieldset.component'; import { IxInputComponent } from 'app/modules/forms/ix-forms/components/ix-input/ix-input.component'; +import { ReadOnlyComponent } from 'app/modules/forms/ix-forms/components/readonly-badge/readonly-badge.component'; import { FormErrorHandlerService } from 'app/modules/forms/ix-forms/services/form-error-handler.service'; import { IxFormatterService } from 'app/modules/forms/ix-forms/services/ix-formatter.service'; import { cpuValidator } from 'app/modules/forms/ix-forms/validators/cpu-validation/cpu-validation'; @@ -35,12 +37,13 @@ import { SnackbarService } from 'app/modules/snackbar/services/snackbar.service' import { TestDirective } from 'app/modules/test-id/test.directive'; import { SelectImageDialogComponent, VirtualizationImageWithId, -} from 'app/pages/virtualization/components/create-instance-form/select-image-dialog/select-image-dialog.component'; +} from 'app/pages/virtualization/components/instance-wizard/select-image-dialog/select-image-dialog.component'; +import { AuthService } from 'app/services/auth/auth.service'; import { WebSocketService } from 'app/services/ws.service'; @UntilDestroy() @Component({ - selector: 'ix-create-instance-form', + selector: 'ix-instance-wizard', standalone: true, imports: [ PageHeaderComponent, @@ -52,14 +55,16 @@ import { WebSocketService } from 'app/services/ws.service'; RequiresRolesDirective, TestDirective, IxFieldsetComponent, + ReadOnlyComponent, AsyncPipe, ], - templateUrl: './create-instance-form.component.html', - styleUrls: ['./create-instance-form.component.scss'], + templateUrl: './instance-wizard.component.html', + styleUrls: ['./instance-wizard.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, }) -export class CreateInstanceFormComponent implements OnInit { +export class InstanceWizardComponent implements OnInit { protected readonly isLoading = signal(false); + protected readonly requiredRoles = [Role.VirtGlobalWrite]; usbDevices$ = this.ws.call('virt.device.usb_choices').pipe( map((choices: Record) => Object.values(choices).map((choice) => ({ @@ -93,6 +98,10 @@ export class CreateInstanceFormComponent implements OnInit { protected readonly visibleImageName = new FormControl(''); + get hasRequiredRoles(): Observable { + return this.authService.hasRole(this.requiredRoles); + } + constructor( private ws: WebSocketService, private formBuilder: FormBuilder, @@ -103,6 +112,7 @@ export class CreateInstanceFormComponent implements OnInit { private snackbar: SnackbarService, private dialogService: DialogService, protected formatter: IxFormatterService, + private authService: AuthService, ) {} ngOnInit(): void { @@ -139,9 +149,9 @@ export class CreateInstanceFormComponent implements OnInit { .afterClosed() .pipe(untilDestroyed(this)) .subscribe({ - next: (newInstance) => { + next: ({ result }) => { this.snackbar.success(this.translate.instant('Instance saved')); - this.router.navigate(['/virtualization/view', newInstance.id]); + this.router.navigate(['/virtualization/view', result?.id]); }, error: (error) => { this.formErrorHandler.handleWsFormError(error, this.form); diff --git a/src/app/pages/virtualization/components/create-instance-form/select-image-dialog/select-image-dialog.component.html b/src/app/pages/virtualization/components/instance-wizard/select-image-dialog/select-image-dialog.component.html similarity index 100% rename from src/app/pages/virtualization/components/create-instance-form/select-image-dialog/select-image-dialog.component.html rename to src/app/pages/virtualization/components/instance-wizard/select-image-dialog/select-image-dialog.component.html diff --git a/src/app/pages/virtualization/components/create-instance-form/select-image-dialog/select-image-dialog.component.scss b/src/app/pages/virtualization/components/instance-wizard/select-image-dialog/select-image-dialog.component.scss similarity index 100% rename from src/app/pages/virtualization/components/create-instance-form/select-image-dialog/select-image-dialog.component.scss rename to src/app/pages/virtualization/components/instance-wizard/select-image-dialog/select-image-dialog.component.scss diff --git a/src/app/pages/virtualization/components/create-instance-form/select-image-dialog/select-image-dialog.component.spec.ts b/src/app/pages/virtualization/components/instance-wizard/select-image-dialog/select-image-dialog.component.spec.ts similarity index 98% rename from src/app/pages/virtualization/components/create-instance-form/select-image-dialog/select-image-dialog.component.spec.ts rename to src/app/pages/virtualization/components/instance-wizard/select-image-dialog/select-image-dialog.component.spec.ts index 935d4502fc0..9661658194b 100644 --- a/src/app/pages/virtualization/components/create-instance-form/select-image-dialog/select-image-dialog.component.spec.ts +++ b/src/app/pages/virtualization/components/instance-wizard/select-image-dialog/select-image-dialog.component.spec.ts @@ -15,7 +15,7 @@ import { import { VirtualizationRemote } from 'app/enums/virtualization.enum'; import { VirtualizationImage } from 'app/interfaces/virtualization.interface'; import { IxFormHarness } from 'app/modules/forms/ix-forms/testing/ix-form.harness'; -import { SelectImageDialogComponent } from 'app/pages/virtualization/components/create-instance-form/select-image-dialog/select-image-dialog.component'; +import { SelectImageDialogComponent } from 'app/pages/virtualization/components/instance-wizard/select-image-dialog/select-image-dialog.component'; import { WebSocketService } from 'app/services/ws.service'; const imageChoices: Record = { diff --git a/src/app/pages/virtualization/components/create-instance-form/select-image-dialog/select-image-dialog.component.ts b/src/app/pages/virtualization/components/instance-wizard/select-image-dialog/select-image-dialog.component.ts similarity index 96% rename from src/app/pages/virtualization/components/create-instance-form/select-image-dialog/select-image-dialog.component.ts rename to src/app/pages/virtualization/components/instance-wizard/select-image-dialog/select-image-dialog.component.ts index 23e101d428a..64184ad2867 100644 --- a/src/app/pages/virtualization/components/create-instance-form/select-image-dialog/select-image-dialog.component.ts +++ b/src/app/pages/virtualization/components/instance-wizard/select-image-dialog/select-image-dialog.component.ts @@ -21,7 +21,6 @@ import { IxInputComponent } from 'app/modules/forms/ix-forms/components/ix-input import { IxSelectComponent } from 'app/modules/forms/ix-forms/components/ix-select/ix-select.component'; import { IxIconComponent } from 'app/modules/ix-icon/ix-icon.component'; import { TestDirective } from 'app/modules/test-id/test.directive'; -import { CreateInstanceFormComponent } from 'app/pages/virtualization/components/create-instance-form/create-instance-form.component'; import { ErrorHandlerService } from 'app/services/error-handler.service'; import { WebSocketService } from 'app/services/ws.service'; @@ -75,7 +74,7 @@ export class SelectImageDialogComponent implements OnInit { constructor( private ws: WebSocketService, - private dialogRef: MatDialogRef, + private dialogRef: MatDialogRef, private fb: FormBuilder, private translate: TranslateService, private errorHandler: ErrorHandlerService, diff --git a/src/app/pages/virtualization/stores/virtualization-instances.store.ts b/src/app/pages/virtualization/stores/virtualization-instances.store.ts index 2f5efd8274f..7033ef9eb56 100644 --- a/src/app/pages/virtualization/stores/virtualization-instances.store.ts +++ b/src/app/pages/virtualization/stores/virtualization-instances.store.ts @@ -45,6 +45,8 @@ export class VirtualizationInstancesStore extends ComponentStore [ 'virt.instance.start', 'virt.instance.stop', + 'virt.instance.delete', + 'virt.instance.update', ].includes(event.fields.method) && !!event.fields.result), tap(() => this.patchState({ isLoading: true })), ), @@ -65,7 +67,12 @@ export class VirtualizationInstancesStore extends ComponentStore instance.id === instanceId); if (selectedInstance) { this.patchState({ selectedInstance }); diff --git a/src/app/pages/virtualization/virtualization.routes.ts b/src/app/pages/virtualization/virtualization.routes.ts index 894607ae271..a59a663551b 100644 --- a/src/app/pages/virtualization/virtualization.routes.ts +++ b/src/app/pages/virtualization/virtualization.routes.ts @@ -1,7 +1,7 @@ import { Routes } from '@angular/router'; import { marker as T } from '@biesbjerg/ngx-translate-extract-marker'; import { AllInstancesComponent } from 'app/pages/virtualization/components/all-instances/all-instances.component'; -import { CreateInstanceFormComponent } from 'app/pages/virtualization/components/create-instance-form/create-instance-form.component'; +import { InstanceWizardComponent } from 'app/pages/virtualization/components/instance-wizard/instance-wizard.component'; import { VirtualizationConfigStore } from 'app/pages/virtualization/stores/virtualization-config.store'; import { VirtualizationInstancesStore } from 'app/pages/virtualization/stores/virtualization-instances.store'; @@ -19,7 +19,7 @@ export const virtualizationRoutes: Routes = [{ }, { path: 'new', - component: CreateInstanceFormComponent, + component: InstanceWizardComponent, }, { path: 'view/:id', diff --git a/src/assets/i18n/af.json b/src/assets/i18n/af.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/af.json +++ b/src/assets/i18n/af.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/ar.json b/src/assets/i18n/ar.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/ar.json +++ b/src/assets/i18n/ar.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/ast.json b/src/assets/i18n/ast.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/ast.json +++ b/src/assets/i18n/ast.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/az.json b/src/assets/i18n/az.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/az.json +++ b/src/assets/i18n/az.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/be.json b/src/assets/i18n/be.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/be.json +++ b/src/assets/i18n/be.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/bg.json b/src/assets/i18n/bg.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/bg.json +++ b/src/assets/i18n/bg.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/bn.json b/src/assets/i18n/bn.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/bn.json +++ b/src/assets/i18n/bn.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/br.json b/src/assets/i18n/br.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/br.json +++ b/src/assets/i18n/br.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/bs.json b/src/assets/i18n/bs.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/bs.json +++ b/src/assets/i18n/bs.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/ca.json b/src/assets/i18n/ca.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/ca.json +++ b/src/assets/i18n/ca.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/cs.json b/src/assets/i18n/cs.json index c1b027035c7..a07d95f2b33 100644 --- a/src/assets/i18n/cs.json +++ b/src/assets/i18n/cs.json @@ -1123,6 +1123,7 @@ "Edit Group Quota": "", "Edit ISCSI Target": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -1781,6 +1782,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3030,7 +3032,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4004,6 +4005,7 @@ "Unset to disable this service without deleting it.": "", "Update Members": "", "Update successful. Please restart for the update to take effect. Restart now?": "", + "Updating Instance": "", "Updating custom app": "", "Updating settings": "", "Use compressed WRITE records to make the stream more efficient. The destination system must also support compressed WRITE records. See zfs(8).": "", diff --git a/src/assets/i18n/cy.json b/src/assets/i18n/cy.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/cy.json +++ b/src/assets/i18n/cy.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/da.json b/src/assets/i18n/da.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/da.json +++ b/src/assets/i18n/da.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 71c82216e1c..bee170e8e91 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -1070,6 +1070,7 @@ "Edit Group Quota": "", "Edit ISCSI Target": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", "Edit Label": "", @@ -1613,6 +1614,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface changes reverted.": "", @@ -2622,7 +2624,6 @@ "Save And Go To Review": "", "Save As Preset": "", "Save Config": "", - "Save Instance": "", "Save Selection": "", "Save current ACL entries as a preset for future use.": "", "Save the 'Require Kerberos for NFSv4' value before adding SMP": "", @@ -3432,6 +3433,7 @@ "Updates available": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/dsb.json b/src/assets/i18n/dsb.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/dsb.json +++ b/src/assets/i18n/dsb.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/el.json b/src/assets/i18n/el.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/el.json +++ b/src/assets/i18n/el.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/en-au.json b/src/assets/i18n/en-au.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/en-au.json +++ b/src/assets/i18n/en-au.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/en-gb.json b/src/assets/i18n/en-gb.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/en-gb.json +++ b/src/assets/i18n/en-gb.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/eo.json b/src/assets/i18n/eo.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/eo.json +++ b/src/assets/i18n/eo.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/es-ar.json b/src/assets/i18n/es-ar.json index 4933025edfd..f683adf7c97 100644 --- a/src/assets/i18n/es-ar.json +++ b/src/assets/i18n/es-ar.json @@ -344,6 +344,7 @@ "Edit Auto TRIM": "", "Edit Expansion Shelf": "", "Edit Global Configuration": "", + "Edit Instance: {name}": "", "Edit Reporting Exporter": "", "Edit Trim": "", "Edit TrueCloud Backup Task": "", @@ -553,6 +554,7 @@ "Inquiry": "", "Insensitive": "", "Installer image file": "", + "Instance updated": "", "Internal CA": "", "Invalid cron expression": "", "Invalid format or character": "", @@ -1280,6 +1282,7 @@ "Update successful. Please restart for the update to take effect. Restart now?": "", "Updated 'Use as Home Share'": "", "Updated Date": "", + "Updating Instance": "", "Updating key type": "", "Updating settings": "", "Upgrade Release Notes": "", @@ -4252,7 +4255,6 @@ "Save Config": "Guardar config", "Save Configuration": "Guardar configuración", "Save Debug": "Guardar depuración", - "Save Instance": "Guardar instancia", "Save Pending Snapshots": "Guardar instantáneas pendientes", "Save Selection": "Guardar selección", "Save Without Restarting": "Guardar sin reiniciar", diff --git a/src/assets/i18n/es-co.json b/src/assets/i18n/es-co.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/es-co.json +++ b/src/assets/i18n/es-co.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/es-mx.json b/src/assets/i18n/es-mx.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/es-mx.json +++ b/src/assets/i18n/es-mx.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/es-ni.json b/src/assets/i18n/es-ni.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/es-ni.json +++ b/src/assets/i18n/es-ni.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/es-ve.json b/src/assets/i18n/es-ve.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/es-ve.json +++ b/src/assets/i18n/es-ve.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/es.json b/src/assets/i18n/es.json index 0e0f6dca620..b18d69e743a 100644 --- a/src/assets/i18n/es.json +++ b/src/assets/i18n/es.json @@ -1344,6 +1344,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2086,6 +2087,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface changes reverted.": "", @@ -3344,7 +3346,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4345,6 +4346,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/et.json b/src/assets/i18n/et.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/et.json +++ b/src/assets/i18n/et.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/eu.json b/src/assets/i18n/eu.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/eu.json +++ b/src/assets/i18n/eu.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/fa.json b/src/assets/i18n/fa.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/fa.json +++ b/src/assets/i18n/fa.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/fi.json b/src/assets/i18n/fi.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/fi.json +++ b/src/assets/i18n/fi.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json index aa74aa5dd5c..7d1218b4ee9 100644 --- a/src/assets/i18n/fr.json +++ b/src/assets/i18n/fr.json @@ -210,6 +210,7 @@ "Dry run completed.": "", "Edit Custom App": "", "Edit Expansion Shelf": "", + "Edit Instance: {name}": "", "Edit Label": "", "Edit Trim": "", "Empty drive cage": "", @@ -344,6 +345,7 @@ "Install via YAML": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Invisible": "", "Ipmi": "", "Isolated GPU PCI Ids": "", @@ -655,7 +657,6 @@ "SSH Keyscan": "", "SSSD Compat": "", "Samba": "", - "Save Instance": "", "Saving Instance": "", "Schema": "", "Schema Mode": "", @@ -870,6 +871,7 @@ "Update Interval": "", "Update Members": "", "Update successful. Please restart for the update to take effect. Restart now?": "", + "Updating Instance": "", "Updating custom app": "", "Updating settings": "", "Usage Collection": "", diff --git a/src/assets/i18n/fy.json b/src/assets/i18n/fy.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/fy.json +++ b/src/assets/i18n/fy.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/ga.json b/src/assets/i18n/ga.json index 9122deac070..56edc116b8a 100644 --- a/src/assets/i18n/ga.json +++ b/src/assets/i18n/ga.json @@ -73,6 +73,7 @@ "Device «{name}» was successfully attached.": "", "Docker Write": "", "Edit Custom App": "", + "Edit Instance: {name}": "", "Enable NFS over RDMA": "", "Enable server support for NFSv3 or NFSv4 or both NFSv3 and NFSv4 clients.": "", "Enclosure Unavailable": "", @@ -106,6 +107,7 @@ "Install via YAML": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Invalid CPU configuration.": "", "Invalid Date": "", @@ -171,7 +173,6 @@ "Restore default widgets": "", "Restoring backup": "", "Running Jobs": "", - "Save Instance": "", "Saving Instance": "", "Search Images": "", "Select": "", @@ -208,6 +209,7 @@ "Unsaved Changes": "", "Update Members": "", "Update successful. Please restart for the update to take effect. Restart now?": "", + "Updating Instance": "", "Updating custom app": "", "Updating settings": "", "User API Keys": "", diff --git a/src/assets/i18n/gd.json b/src/assets/i18n/gd.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/gd.json +++ b/src/assets/i18n/gd.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/gl.json b/src/assets/i18n/gl.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/gl.json +++ b/src/assets/i18n/gl.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/he.json b/src/assets/i18n/he.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/he.json +++ b/src/assets/i18n/he.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/hi.json b/src/assets/i18n/hi.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/hi.json +++ b/src/assets/i18n/hi.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/hr.json b/src/assets/i18n/hr.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/hr.json +++ b/src/assets/i18n/hr.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/hsb.json b/src/assets/i18n/hsb.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/hsb.json +++ b/src/assets/i18n/hsb.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/hu.json b/src/assets/i18n/hu.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/hu.json +++ b/src/assets/i18n/hu.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/ia.json b/src/assets/i18n/ia.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/ia.json +++ b/src/assets/i18n/ia.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/id.json b/src/assets/i18n/id.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/id.json +++ b/src/assets/i18n/id.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/io.json b/src/assets/i18n/io.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/io.json +++ b/src/assets/i18n/io.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/is.json b/src/assets/i18n/is.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/is.json +++ b/src/assets/i18n/is.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/it.json b/src/assets/i18n/it.json index f9e54b968fc..a8280561929 100644 --- a/src/assets/i18n/it.json +++ b/src/assets/i18n/it.json @@ -1311,6 +1311,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2094,6 +2095,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3445,7 +3447,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -3696,6 +3697,7 @@ "Unsaved Changes": "", "Update Members": "", "Update successful. Please restart for the update to take effect. Restart now?": "", + "Updating Instance": "", "Updating custom app": "", "Updating settings": "", "Use Custom ACME Server Directory URI": "", diff --git a/src/assets/i18n/ja.json b/src/assets/i18n/ja.json index 2d59959ed3e..8a0a7a76bff 100644 --- a/src/assets/i18n/ja.json +++ b/src/assets/i18n/ja.json @@ -1278,6 +1278,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -1992,6 +1993,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface Settings": "", @@ -3265,7 +3267,6 @@ "Save As Preset": "", "Save Config": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4232,6 +4233,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/ka.json b/src/assets/i18n/ka.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/ka.json +++ b/src/assets/i18n/ka.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/kk.json b/src/assets/i18n/kk.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/kk.json +++ b/src/assets/i18n/kk.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/km.json b/src/assets/i18n/km.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/km.json +++ b/src/assets/i18n/km.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/kn.json b/src/assets/i18n/kn.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/kn.json +++ b/src/assets/i18n/kn.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/ko.json b/src/assets/i18n/ko.json index 9baaa02effe..a48c355fbe2 100644 --- a/src/assets/i18n/ko.json +++ b/src/assets/i18n/ko.json @@ -1069,6 +1069,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -1863,6 +1864,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3214,7 +3216,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4283,6 +4284,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/lb.json b/src/assets/i18n/lb.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/lb.json +++ b/src/assets/i18n/lb.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/lt.json b/src/assets/i18n/lt.json index 5930216c3e3..6af4882ec76 100644 --- a/src/assets/i18n/lt.json +++ b/src/assets/i18n/lt.json @@ -1481,6 +1481,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2275,6 +2276,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3626,7 +3628,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4695,6 +4696,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/lv.json b/src/assets/i18n/lv.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/lv.json +++ b/src/assets/i18n/lv.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/mk.json b/src/assets/i18n/mk.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/mk.json +++ b/src/assets/i18n/mk.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/ml.json b/src/assets/i18n/ml.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/ml.json +++ b/src/assets/i18n/ml.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/mn.json b/src/assets/i18n/mn.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/mn.json +++ b/src/assets/i18n/mn.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/mr.json b/src/assets/i18n/mr.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/mr.json +++ b/src/assets/i18n/mr.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/my.json b/src/assets/i18n/my.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/my.json +++ b/src/assets/i18n/my.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/nb.json b/src/assets/i18n/nb.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/nb.json +++ b/src/assets/i18n/nb.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/ne.json b/src/assets/i18n/ne.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/ne.json +++ b/src/assets/i18n/ne.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/nl.json b/src/assets/i18n/nl.json index 16c9262e59d..20d5ee37d2c 100644 --- a/src/assets/i18n/nl.json +++ b/src/assets/i18n/nl.json @@ -412,6 +412,7 @@ "Edit Custom App": "", "Edit Disk(s)": "", "Edit Expansion Shelf": "", + "Edit Instance: {name}": "", "Edit Label": "", "Edit Trim": "", "Edit TrueCloud Backup Task": "", @@ -581,6 +582,7 @@ "Install via YAML": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Internal": "", @@ -983,7 +985,6 @@ "Samba": "", "Save Access Control List": "", "Save Config": "", - "Save Instance": "", "Save the 'Require Kerberos for NFSv4' value before adding SMP": "", "Saving Instance": "", "Saving settings": "", @@ -1244,6 +1245,7 @@ "Update System": "", "Update successful. Please restart for the update to take effect. Restart now?": "", "Updates available": "", + "Updating Instance": "", "Updating custom app": "", "Updating settings": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/nn.json b/src/assets/i18n/nn.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/nn.json +++ b/src/assets/i18n/nn.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/os.json b/src/assets/i18n/os.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/os.json +++ b/src/assets/i18n/os.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/pa.json b/src/assets/i18n/pa.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/pa.json +++ b/src/assets/i18n/pa.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/pl.json b/src/assets/i18n/pl.json index 74b19ca4983..19f5fe11084 100644 --- a/src/assets/i18n/pl.json +++ b/src/assets/i18n/pl.json @@ -1435,6 +1435,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2228,6 +2229,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3557,7 +3559,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4625,6 +4626,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/pt-br.json b/src/assets/i18n/pt-br.json index c1c766cc233..536bae9f68d 100644 --- a/src/assets/i18n/pt-br.json +++ b/src/assets/i18n/pt-br.json @@ -1429,6 +1429,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2222,6 +2223,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3573,7 +3575,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4642,6 +4643,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/pt.json b/src/assets/i18n/pt.json index c842c2b632f..61b79b92de8 100644 --- a/src/assets/i18n/pt.json +++ b/src/assets/i18n/pt.json @@ -692,6 +692,7 @@ "EXPIRES TODAY": "", "Edit Custom App": "", "Edit Disk(s)": "", + "Edit Instance: {name}": "", "Edit Trim": "", "Editing interface will result in default gateway being removed, which may result in TrueNAS being inaccessible. You can provide new default gateway now:": "", "Editing interfaces while HA is enabled is not allowed.": "", @@ -1232,6 +1233,7 @@ "Install via YAML": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -2166,7 +2168,6 @@ "Save And Go To Review": "", "Save Config": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save configuration settings from this machine before updating?": "", "Save current ACL entries as a preset for future use.": "", @@ -2958,6 +2959,7 @@ "Update successful. Please restart for the update to take effect. Restart now?": "", "Updated 'Use as Home Share'": "", "Updates available": "", + "Updating Instance": "", "Updating custom app": "", "Updating settings": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/ro.json b/src/assets/i18n/ro.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/ro.json +++ b/src/assets/i18n/ro.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/ru.json b/src/assets/i18n/ru.json index 6fd3f03b70b..033200e2b49 100644 --- a/src/assets/i18n/ru.json +++ b/src/assets/i18n/ru.json @@ -928,6 +928,7 @@ "Edit Group Quota": "", "Edit ISCSI Target": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -1360,6 +1361,7 @@ "Installer image file": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Intermediate CA": "", @@ -2348,7 +2350,6 @@ "Save And Go To Review": "", "Save As Preset": "", "Save Config": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save current ACL entries as a preset for future use.": "", @@ -3063,6 +3064,7 @@ "Updated 'Use as Home Share'": "", "Updated Date": "", "Updates available": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/sk.json b/src/assets/i18n/sk.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/sk.json +++ b/src/assets/i18n/sk.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/sl.json b/src/assets/i18n/sl.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/sl.json +++ b/src/assets/i18n/sl.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/sq.json b/src/assets/i18n/sq.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/sq.json +++ b/src/assets/i18n/sq.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/sr-latn.json b/src/assets/i18n/sr-latn.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/sr-latn.json +++ b/src/assets/i18n/sr-latn.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/sr.json b/src/assets/i18n/sr.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/sr.json +++ b/src/assets/i18n/sr.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/strings.json b/src/assets/i18n/strings.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/strings.json +++ b/src/assets/i18n/strings.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/sv.json b/src/assets/i18n/sv.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/sv.json +++ b/src/assets/i18n/sv.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/sw.json b/src/assets/i18n/sw.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/sw.json +++ b/src/assets/i18n/sw.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/ta.json b/src/assets/i18n/ta.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/ta.json +++ b/src/assets/i18n/ta.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/te.json b/src/assets/i18n/te.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/te.json +++ b/src/assets/i18n/te.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/th.json b/src/assets/i18n/th.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/th.json +++ b/src/assets/i18n/th.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/tr.json b/src/assets/i18n/tr.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/tr.json +++ b/src/assets/i18n/tr.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/tt.json b/src/assets/i18n/tt.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/tt.json +++ b/src/assets/i18n/tt.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/udm.json b/src/assets/i18n/udm.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/udm.json +++ b/src/assets/i18n/udm.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/uk.json b/src/assets/i18n/uk.json index 1d870681642..b4c0e4fd86d 100644 --- a/src/assets/i18n/uk.json +++ b/src/assets/i18n/uk.json @@ -602,6 +602,7 @@ "Edit Custom App": "", "Edit Disk(s)": "", "Edit Expansion Shelf": "", + "Edit Instance: {name}": "", "Edit Label": "", "Edit Manual Disk Selection": "", "Edit Permissions": "", @@ -857,6 +858,7 @@ "Install via YAML": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Internal": "", @@ -1427,7 +1429,6 @@ "Save Access Control List": "", "Save And Go To Review": "", "Save Config": "", - "Save Instance": "", "Save the 'Require Kerberos for NFSv4' value before adding SMP": "", "Saving Instance": "", "Saving settings": "", @@ -1818,6 +1819,7 @@ "Update System": "", "Update successful. Please restart for the update to take effect. Restart now?": "", "Updates available": "", + "Updating Instance": "", "Updating custom app": "", "Updating settings": "", "Upgrade All Selected": "", diff --git a/src/assets/i18n/vi.json b/src/assets/i18n/vi.json index 82df32784e2..8f0461b3304 100644 --- a/src/assets/i18n/vi.json +++ b/src/assets/i18n/vi.json @@ -1487,6 +1487,7 @@ "Edit ISCSI Target": "", "Edit Idmap": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Interface": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", @@ -2281,6 +2282,7 @@ "Installing": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface": "", @@ -3632,7 +3634,6 @@ "Save Config": "", "Save Configuration": "", "Save Debug": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save Without Restarting": "", @@ -4701,6 +4702,7 @@ "Updates successfully downloaded": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "", diff --git a/src/assets/i18n/zh-hans.json b/src/assets/i18n/zh-hans.json index 20d5fdc6f37..e7d7c44a07a 100644 --- a/src/assets/i18n/zh-hans.json +++ b/src/assets/i18n/zh-hans.json @@ -5,9 +5,11 @@ "Archs": "", "Current status: {status}": "", "Device Type": "", + "Edit Instance: {name}": "", "Error Installing": "", "GPU Devices": "", "Host ports are listed on the left and associated container ports are on the right. 0.0.0.0 on the host side represents binding to any IP address on the host.": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "No instances": "", "Not Installed": "", @@ -20,6 +22,7 @@ "Stopping...": "", "StorJ is an S3 compatible, fault tolerant, globally distributed cloud storage platform with a security first approach to backup and recovery - delivering extreme resilience and performance both sustainably and economically. TrueNAS and Storj have partnered to streamline delivery of Hybrid Cloud solutions globally.": "", "USB Devices": "", + "Updating Instance": "", "\n It looks like your session has been inactive for more than {lifetime} seconds.
\n For security reasons we will log you out at {time}.\n ": "\n您的会话似乎已超过 {lifetime} 秒处于非活动状态。
\n 出于安全原因,我们将在 {time} 后注销您的会话。\n", " Est. Usable Raw Capacity": "估计可用原始容量", " When the UPS Mode is set to slave. Enter the open network port number of the UPS Master system. The default port is 3493.": "当 UPS 模式 设置为 附属 时。输入 UPS 系统的开放端口号。默认端口为 3493。", @@ -3658,7 +3661,6 @@ "Save Config": "保存配置", "Save Configuration": "保存配置", "Save Debug": "保存调试", - "Save Instance": "保存实例", "Save Pending Snapshots": "保存待处理的快照", "Save Selection": "保存选择", "Save Without Restarting": "保存而不重启", diff --git a/src/assets/i18n/zh-hant.json b/src/assets/i18n/zh-hant.json index 5571b1aaef5..26cbbc10eae 100644 --- a/src/assets/i18n/zh-hant.json +++ b/src/assets/i18n/zh-hant.json @@ -1229,6 +1229,7 @@ "Edit Global Configuration": "", "Edit ISCSI Target": "", "Edit Init/Shutdown Script": "", + "Edit Instance: {name}": "", "Edit Kerberos Keytab": "", "Edit Kerberos Realm": "", "Edit Label": "", @@ -1885,6 +1886,7 @@ "Installer image file": "", "Instance Configuration": "", "Instance saved": "", + "Instance updated": "", "Instances you created will automatically appear here.": "", "Integrate Snapshots with VMware": "", "Interface changes reverted.": "", @@ -3040,7 +3042,6 @@ "Save As Preset": "", "Save Changes": "", "Save Config": "", - "Save Instance": "", "Save Pending Snapshots": "", "Save Selection": "", "Save current ACL entries as a preset for future use.": "", @@ -3981,6 +3982,7 @@ "Updates available": "", "Updating": "", "Updating ACL": "", + "Updating Instance": "", "Updating custom app": "", "Updating key type": "", "Updating settings": "",