diff --git a/pkg/harvester/components/settings/backup-target.vue b/pkg/harvester/components/settings/backup-target.vue index 5d051ca4..abb1bb6a 100644 --- a/pkg/harvester/components/settings/backup-target.vue +++ b/pkg/harvester/components/settings/backup-target.vue @@ -7,6 +7,8 @@ import { LabeledInput } from '@components/Form/LabeledInput'; import LabeledSelect from '@shell/components/form/LabeledSelect'; import { HCI_SETTING } from '../../config/settings'; +const DEFAULT_TYPE ='s3'; + export default { name: 'HarvesterEditBackupTarget', @@ -25,10 +27,14 @@ export default { parseDefaultValue = { type: '', endpoint: '' }; } + // set default type to s3 if (!parseDefaultValue.type) { - parseDefaultValue.type = 's3'; + parseDefaultValue.type = DEFAULT_TYPE; } + // set default virtualHostedStyle to false + parseDefaultValue.virtualHostedStyle = false; + return { parseDefaultValue, errors: [] @@ -41,12 +47,12 @@ export default { value: 'nfs', label: 'NFS' }, { - value: 's3', + value: DEFAULT_TYPE, label: 'S3' }]; }, - virtualHostedStyleType() { + virtualHostedStyleOptions() { return [{ value: true, label: 'True' @@ -57,7 +63,7 @@ export default { }, isS3() { - return this.parseDefaultValue.type === 's3'; + return this.parseDefaultValue.type === DEFAULT_TYPE; }, endpointPlaceholder() { @@ -102,29 +108,26 @@ export default { delete this.parseDefaultValue.cert; } - const value = JSON.stringify(this.parseDefaultValue); + if(this.isS3 && !this.parseDefaultValue.virtualHostedStyle) { + this.parseDefaultValue.virtualHostedStyle = false; + } if (!this.parseDefaultValue.type) { delete this.value['value']; } else { - this.value['value'] = value; + this.value['value'] = JSON.stringify(this.parseDefaultValue);; } }, useDefault() { - const parseDefaultValue = { type: '', endpoint: '' }; - - this['parseDefaultValue'] = parseDefaultValue; + this['parseDefaultValue'] = { type: '', endpoint: '' }; } } };