Skip to content

Commit

Permalink
Add refreshIntervalInSeconds in backup target edit page
Browse files Browse the repository at this point in the history
Signed-off-by: andy.lee <[email protected]>
(cherry picked from commit b11f7fa)
  • Loading branch information
a110605 committed Feb 27, 2025
1 parent a3faabd commit adb95fc
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 5 deletions.
31 changes: 26 additions & 5 deletions pkg/harvester/components/settings/backup-target.vue
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@ import MessageLink from '@shell/components/MessageLink';
import CreateEditView from '@shell/mixins/create-edit-view';
import { LabeledInput } from '@components/Form/LabeledInput';
import LabeledSelect from '@shell/components/form/LabeledSelect';
import UnitInput from '@shell/components/form/UnitInput';
export default {
name: 'HarvesterEditBackupTarget',
components: {
LabeledInput, LabeledSelect, Tip, Password, MessageLink
LabeledInput, LabeledSelect, Tip, Password, MessageLink, UnitInput
},
mixins: [CreateEditView],
Expand All @@ -22,7 +23,9 @@ export default {
try {
parseDefaultValue = JSON.parse(this.value.value);
} catch (error) {
parseDefaultValue = { type: '', endpoint: '' };
parseDefaultValue = {
type: '', endpoint: '', refreshIntervalInSeconds: 0
};
}
if (!parseDefaultValue.type) {
Expand Down Expand Up @@ -77,7 +80,9 @@ export default {
try {
parseDefaultValue = JSON.parse(neu.value);
} catch (err) {
parseDefaultValue = { type: '', endpoint: '' };
parseDefaultValue = {
type: '', endpoint: '', refreshIntervalInSeconds: 0
};
}
this.$set(this, 'parseDefaultValue', parseDefaultValue);
Expand Down Expand Up @@ -112,7 +117,9 @@ export default {
},
useDefault() {
const parseDefaultValue = { type: '', endpoint: '' };
const parseDefaultValue = {
type: '', endpoint: '', refreshIntervalInSeconds: 0
};
this.$set(this, 'parseDefaultValue', parseDefaultValue);
}
Expand All @@ -124,7 +131,21 @@ export default {
<div class="row" @input="update">
<div class="col span-12">
<LabeledSelect v-model="parseDefaultValue.type" class="mb-20" :label="t('harvester.fields.type')" :options="typeOption" @input="update" />

<UnitInput
v-model="parseDefaultValue.refreshIntervalInSeconds"
:suffix="parseDefaultValue.refreshIntervalInSeconds <= 1 ? 'Second' : 'Seconds'"
:label="t('harvester.backup.refreshInterval.label')"
:mode="mode"
:positive="true"
class="mb-5"
required
@input="update"
/>
<Tip
class="mb-20"
icon="icon icon-info"
:text="t('harvester.backup.refreshInterval.tip')"
/>
<LabeledInput v-model="parseDefaultValue.endpoint" class="mb-5" :placeholder="endpointPlaceholder" :mode="mode" label="Endpoint" />
<Tip class="mb-20" icon="icon icon-info" :text="t('harvester.backup.backupTargetTip')" />

Expand Down
3 changes: 3 additions & 0 deletions pkg/harvester/l10n/en-us.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -894,6 +894,9 @@ harvester:
label: Virtual Machine Backups
createText: Restore Backup
title: Restore Virtual Machine
refreshInterval:
label: Refresh Interval
tip: The interval for the backup target to sync data to harvester cluster. Set to 0 to disable refresh mechanism.
backupTargetTip: The endpoint used to access the backupstore. NFS and S3 are supported.
message:
noSetting:
Expand Down

0 comments on commit adb95fc

Please sign in to comment.