Vue3 migration - vue-migration.js launch + shell compatibility fixes

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
This commit is contained in:
Francesco Torchia
2024-10-23 17:00:51 +02:00
parent 9613ada5a7
commit aba9c167e0
150 changed files with 2297 additions and 2244 deletions
@@ -37,7 +37,7 @@ export default {
:weight="99"
>
<RadioGroup
v-model="value.spec.enabled"
v-model:value="value.spec.enabled"
class="mb-20"
name="model"
:mode="mode"
@@ -49,7 +49,7 @@ export default {
</template>
<style lang="scss" scoped>
::v-deep .radio-group {
:deep() .radio-group {
display: flex;
.radio-container {
margin-right: 30px;
@@ -37,7 +37,7 @@ export default {
:weight="99"
>
<RadioGroup
v-model="value.spec.enabled"
v-model:value="value.spec.enabled"
class="mb-20"
name="model"
:mode="mode"
@@ -49,7 +49,7 @@ export default {
</template>
<style lang="scss" scoped>
::v-deep .radio-group {
:deep() .radio-group {
display: flex;
.radio-container {
margin-right: 30px;
@@ -110,13 +110,13 @@ export default {
:mode="mode"
:options="[true,false]"
:labels="[t('generic.enabled'), t('generic.disabled')]"
@input="toggleEnable"
@update:value="toggleEnable"
/>
<div v-if="value.spec.enabled">
<div v-if="valuesContentJson.image" class="row mb-15">
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.image.repo"
v-model:value="valuesContentJson.image.repo"
:mode="mode"
:required="true"
label-key="harvester.addons.nvidiaDriverToolkit.image.repository"
@@ -124,7 +124,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.image.tag"
v-model:value="valuesContentJson.image.tag"
:mode="mode"
:required="true"
class="col span-6"
@@ -134,7 +134,7 @@ export default {
</div>
<div class="row mb-15">
<LabeledInput
v-model="valuesContentJson.driverLocation"
v-model:value="valuesContentJson.driverLocation"
:mode="mode"
:required="true"
label-key="harvester.addons.nvidiaDriverToolkit.driver.location"
@@ -147,7 +147,7 @@ export default {
</template>
<style lang="scss" scoped>
::v-deep .radio-group {
:deep() .radio-group {
display: flex;
.radio-container {
margin-right: 30px;
@@ -37,7 +37,7 @@ export default {
:weight="99"
>
<RadioGroup
v-model="value.spec.enabled"
v-model:value="value.spec.enabled"
class="mb-20"
name="model"
:mode="mode"
@@ -49,7 +49,7 @@ export default {
</template>
<style lang="scss" scoped>
::v-deep .radio-group {
:deep() .radio-group {
display: flex;
.radio-container {
margin-right: 30px;
@@ -94,7 +94,7 @@ export default {
:weight="99"
>
<RadioGroup
v-model="value.spec.enabled"
v-model:value="value.spec.enabled"
class="mb-20"
name="model"
:mode="mode"
@@ -106,7 +106,7 @@ export default {
<div class="row mt-20">
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.fluentbit.resources.requests.cpu"
v-model:value="valuesContentJson.fluentbit.resources.requests.cpu"
:label="t('monitoring.prometheus.config.requests.cpu')"
:required="true"
:mode="mode"
@@ -114,7 +114,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.fluentbit.resources.requests.memory"
v-model:value="valuesContentJson.fluentbit.resources.requests.memory"
:label="t('monitoring.prometheus.config.requests.memory')"
:required="true"
:mode="mode"
@@ -124,7 +124,7 @@ export default {
<div class="row mt-20">
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.fluentbit.resources.limits.cpu"
v-model:value="valuesContentJson.fluentbit.resources.limits.cpu"
:label="t('monitoring.prometheus.config.limits.cpu')"
:required="true"
:mode="mode"
@@ -132,7 +132,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.fluentbit.resources.limits.memory"
v-model:value="valuesContentJson.fluentbit.resources.limits.memory"
:label="t('monitoring.prometheus.config.limits.memory')"
:required="true"
:mode="mode"
@@ -144,7 +144,7 @@ export default {
<div class="row mt-20">
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.fluentd.resources.requests.cpu"
v-model:value="valuesContentJson.fluentd.resources.requests.cpu"
:label="t('monitoring.prometheus.config.requests.cpu')"
:required="true"
:mode="mode"
@@ -152,7 +152,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.fluentd.resources.requests.memory"
v-model:value="valuesContentJson.fluentd.resources.requests.memory"
:label="t('monitoring.prometheus.config.requests.memory')"
:required="true"
:mode="mode"
@@ -162,7 +162,7 @@ export default {
<div class="row mt-20">
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.fluentd.resources.limits.cpu"
v-model:value="valuesContentJson.fluentd.resources.limits.cpu"
:label="t('monitoring.prometheus.config.limits.cpu')"
:required="true"
:mode="mode"
@@ -170,7 +170,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.fluentd.resources.limits.memory"
v-model:value="valuesContentJson.fluentd.resources.limits.memory"
:label="t('monitoring.prometheus.config.limits.memory')"
:required="true"
:mode="mode"
@@ -182,7 +182,7 @@ export default {
</template>
<style lang="scss" scoped>
::v-deep .radio-group {
:deep() .radio-group {
display: flex;
.radio-container {
margin-right: 30px;
@@ -208,7 +208,7 @@ export default {
:weight="99"
>
<RadioGroup
v-model="value.spec.enabled"
v-model:value="value.spec.enabled"
class="mb-20"
name="model"
:mode="mode"
@@ -244,7 +244,7 @@ export default {
<div class="row">
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.prometheus.prometheusSpec.scrapeInterval"
v-model:value="valuesContentJson.prometheus.prometheusSpec.scrapeInterval"
:label="t('monitoring.prometheus.config.scrape')"
:tooltip="t('harvester.setting.harvesterMonitoring.tips.scrape')"
:required="true"
@@ -253,7 +253,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.prometheus.prometheusSpec.evaluationInterval"
v-model:value="valuesContentJson.prometheus.prometheusSpec.evaluationInterval"
:label="t('monitoring.prometheus.config.evaluation')"
:tooltip="t('harvester.setting.harvesterMonitoring.tips.evaluation')"
:required="true"
@@ -264,7 +264,7 @@ export default {
<div class="row mt-10">
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.prometheus.prometheusSpec.retention"
v-model:value="valuesContentJson.prometheus.prometheusSpec.retention"
:label="t('monitoring.prometheus.config.retention')"
:tooltip="t('harvester.setting.harvesterMonitoring.tips.retention')"
:required="true"
@@ -273,7 +273,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.prometheus.prometheusSpec.retentionSize"
v-model:value="valuesContentJson.prometheus.prometheusSpec.retentionSize"
:label="t('monitoring.prometheus.config.retentionSize')"
:tooltip="t('harvester.setting.harvesterMonitoring.tips.retentionSize')"
:required="true"
@@ -291,7 +291,7 @@ export default {
<div class="row mt-10">
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.prometheus.prometheusSpec.resources.requests.cpu"
v-model:value="valuesContentJson.prometheus.prometheusSpec.resources.requests.cpu"
:label="t('monitoring.prometheus.config.requests.cpu')"
:required="true"
:mode="mode"
@@ -299,7 +299,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.prometheus.prometheusSpec.resources.requests.memory"
v-model:value="valuesContentJson.prometheus.prometheusSpec.resources.requests.memory"
:label="t('monitoring.prometheus.config.requests.memory')"
:required="true"
:mode="mode"
@@ -309,7 +309,7 @@ export default {
<div class="row mt-10">
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.prometheus.prometheusSpec.resources.limits.cpu"
v-model:value="valuesContentJson.prometheus.prometheusSpec.resources.limits.cpu"
:label="t('monitoring.prometheus.config.limits.cpu')"
:required="true"
:mode="mode"
@@ -317,7 +317,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.prometheus.prometheusSpec.resources.limits.memory"
v-model:value="valuesContentJson.prometheus.prometheusSpec.resources.limits.memory"
:label="t('monitoring.prometheus.config.limits.memory')"
:required="true"
:mode="mode"
@@ -329,7 +329,7 @@ export default {
<div class="row mt-10">
<div class="col span-6">
<LabeledInput
v-model="prometheusNodeExporter.resources.limits.cpu"
v-model:value="prometheusNodeExporter.resources.limits.cpu"
:label="t('monitoring.prometheus.config.limits.cpu')"
:required="true"
:mode="mode"
@@ -337,7 +337,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="prometheusNodeExporter.resources.limits.memory"
v-model:value="prometheusNodeExporter.resources.limits.memory"
:label="t('monitoring.prometheus.config.limits.memory')"
:required="true"
:mode="mode"
@@ -347,7 +347,7 @@ export default {
<div class="row mt-10">
<div class="col span-6">
<LabeledInput
v-model="prometheusNodeExporter.resources.requests.cpu"
v-model:value="prometheusNodeExporter.resources.requests.cpu"
:label="t('monitoring.prometheus.config.requests.cpu')"
:required="true"
:mode="mode"
@@ -355,7 +355,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="prometheusNodeExporter.resources.requests.memory"
v-model:value="prometheusNodeExporter.resources.requests.memory"
:label="t('monitoring.prometheus.config.requests.memory')"
:required="true"
:mode="mode"
@@ -391,7 +391,7 @@ export default {
<div class="row mt-10">
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.grafana.resources.requests.cpu"
v-model:value="valuesContentJson.grafana.resources.requests.cpu"
:label="t('monitoring.prometheus.config.requests.cpu')"
:required="true"
:mode="mode"
@@ -399,7 +399,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.grafana.resources.requests.memory"
v-model:value="valuesContentJson.grafana.resources.requests.memory"
:label="t('monitoring.prometheus.config.requests.memory')"
:required="true"
:mode="mode"
@@ -409,7 +409,7 @@ export default {
<div class="row mt-10">
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.grafana.resources.limits.cpu"
v-model:value="valuesContentJson.grafana.resources.limits.cpu"
:label="t('monitoring.prometheus.config.limits.cpu')"
:required="true"
:mode="mode"
@@ -417,7 +417,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.grafana.resources.limits.memory"
v-model:value="valuesContentJson.grafana.resources.limits.memory"
:label="t('monitoring.prometheus.config.limits.memory')"
:required="true"
:mode="mode"
@@ -427,7 +427,7 @@ export default {
</Tab>
<Tab v-if="value.spec.enabled" name="alertmanager" :label="t('harvester.setting.harvesterMonitoring.section.alertmanager')" :weight="-4">
<RadioGroup
v-model="valuesContentJson.alertmanager.enabled"
v-model:value="valuesContentJson.alertmanager.enabled"
class="mb-20"
name="model"
:mode="mode"
@@ -465,7 +465,7 @@ export default {
<div class="row mt-10">
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.alertmanager.alertmanagerSpec.retention"
v-model:value="valuesContentJson.alertmanager.alertmanagerSpec.retention"
:label="t('monitoring.prometheus.config.retention')"
:required="true"
:mode="mode"
@@ -475,7 +475,7 @@ export default {
<div class="row mt-10">
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.alertmanager.alertmanagerSpec.resources.limits.cpu"
v-model:value="valuesContentJson.alertmanager.alertmanagerSpec.resources.limits.cpu"
:label="t('monitoring.prometheus.config.limits.cpu')"
:required="true"
:mode="mode"
@@ -483,7 +483,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.alertmanager.alertmanagerSpec.resources.limits.memory"
v-model:value="valuesContentJson.alertmanager.alertmanagerSpec.resources.limits.memory"
:label="t('monitoring.prometheus.config.limits.memory')"
:required="true"
:mode="mode"
@@ -493,7 +493,7 @@ export default {
<div class="row mt-10">
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.alertmanager.alertmanagerSpec.resources.requests.cpu"
v-model:value="valuesContentJson.alertmanager.alertmanagerSpec.resources.requests.cpu"
:label="t('monitoring.prometheus.config.requests.cpu')"
:required="true"
:mode="mode"
@@ -501,7 +501,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.alertmanager.alertmanagerSpec.resources.requests.memory"
v-model:value="valuesContentJson.alertmanager.alertmanagerSpec.resources.requests.memory"
:label="t('monitoring.prometheus.config.requests.memory')"
:required="true"
:mode="mode"
@@ -514,7 +514,7 @@ export default {
</template>
<style lang="scss" scoped>
::v-deep .radio-group {
:deep() .radio-group {
display: flex;
.radio-container {
margin-right: 30px;
@@ -94,7 +94,7 @@ export default {
<div class="row">
<div class="col span-12">
<RadioGroup
v-model="value.spec.enabled"
v-model:value="value.spec.enabled"
class="mb-20"
name="model"
:mode="mode"
@@ -108,7 +108,7 @@ export default {
<div class="row mb-20">
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.hostname"
v-model:value="valuesContentJson.hostname"
label-key="harvester.addons.rancherVcluster.hostname"
:required="true"
:mode="mode"
@@ -118,7 +118,7 @@ export default {
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.rancherVersion"
v-model:value="valuesContentJson.rancherVersion"
label-key="harvester.addons.rancherVcluster.rancherVersion"
:required="true"
:disabled="true"
@@ -129,7 +129,7 @@ export default {
<div class="row mt-20">
<div class="col span-6">
<LabeledInput
v-model="valuesContentJson.bootstrapPassword"
v-model:value="valuesContentJson.bootstrapPassword"
label-key="harvester.addons.rancherVcluster.password"
:mode="mode"
:required="true"
@@ -142,7 +142,7 @@ export default {
</template>
<style lang="scss" scoped>
::v-deep .radio-group {
:deep() .radio-group {
display: flex;
.radio-container {
margin-right: 30px;
@@ -132,7 +132,7 @@ export default {
:weight="99"
>
<RadioGroup
v-model="value.spec.enabled"
v-model:value="value.spec.enabled"
class="mb-20"
name="model"
:mode="mode"
@@ -144,40 +144,40 @@ export default {
<div class="row mt-10">
<div class="col span-6">
<LabeledInput
v-model="valuesContent.resources.limits.cpu"
v-model:value="valuesContent.resources.limits.cpu"
:label="t('monitoring.prometheus.config.limits.cpu')"
:required="true"
:mode="mode"
@input="update"
@update:value="update"
/>
</div>
<div class="col span-6">
<LabeledInput
v-model="valuesContent.resources.limits.memory"
v-model:value="valuesContent.resources.limits.memory"
:label="t('monitoring.prometheus.config.limits.memory')"
:required="true"
:mode="mode"
@input="update"
@update:value="update"
/>
</div>
</div>
<div class="row mt-10">
<div class="col span-6">
<LabeledInput
v-model="valuesContent.resources.requests.cpu"
v-model:value="valuesContent.resources.requests.cpu"
:label="t('monitoring.prometheus.config.requests.cpu')"
:required="true"
:mode="mode"
@input="update"
@update:value="update"
/>
</div>
<div class="col span-6">
<LabeledInput
v-model="valuesContent.resources.requests.memory"
v-model:value="valuesContent.resources.requests.memory"
:label="t('monitoring.prometheus.config.requests.memory')"
:required="true"
:mode="mode"
@input="update"
@update:value="update"
/>
</div>
</div>
@@ -186,34 +186,34 @@ export default {
<h2>{{ t('harvester.addons.vmImport.titles.pvc') }}</h2>
<div v-if="value.spec.enabled">
<RadioGroup
v-model="valuesContent.pvcClaim.enabled"
v-model:value="valuesContent.pvcClaim.enabled"
class="mb-20"
name="model"
:mode="mode"
:options="[true,false]"
:labels="[t('generic.enabled'), t('generic.disabled')]"
@input="update"
@update:value="update"
/>
<div v-if="valuesContent.pvcClaim.enabled">
<div class="row mt-10">
<div class="col span-6">
<LabeledInput
v-model="valuesContent.pvcClaim.size"
v-model:value="valuesContent.pvcClaim.size"
:label="t('harvester.volume.size')"
:required="true"
:mode="mode"
@input="update"
@update:value="update"
/>
</div>
<div class="col span-6">
<LabeledSelect
v-model="valuesContent.pvcClaim.storageClassName"
v-model:value="valuesContent.pvcClaim.storageClassName"
:options="storageClassOptions"
:label="t('harvester.storage.storageClass.label')"
:mode="mode"
class="mb-20"
@input="update"
@update:value="update"
/>
</div>
</div>
@@ -225,7 +225,7 @@ export default {
</template>
<style lang="scss" scoped>
::v-deep .radio-group {
:deep() .radio-group {
display: flex;
.radio-container {
margin-right: 30px;
@@ -78,7 +78,7 @@ export default {
@cancel="done"
>
<NameNsDescription
v-model="value"
v-model:value="value"
:mode="mode"
:namespaced="true"
/>
@@ -87,7 +87,7 @@ export default {
<Tab name="basics" :label="t('harvester.host.tabs.basics')" :weight="1">
<div class="mb-20">
<LabeledSelect
v-model="type"
v-model:value="type"
:label="t('harvester.cloudTemplate.templateType')"
:disabled="!isCreate"
:options="types"
@@ -97,7 +97,7 @@ export default {
<div class="resource-yaml">
<YamlEditor
ref="yamlUser"
v-model="config"
v-model:value="config"
class="yaml-editor"
:editor-mode="mode === 'view' ? 'VIEW_CODE' : 'EDIT_CODE'"
@onChanges="update"
@@ -111,7 +111,7 @@ export default {
<style lang="scss" scoped>
$yaml-height: 200px;
::v-deep .yaml-editor{
:deep() .yaml-editor{
flex: 1;
min-height: $yaml-height;
& .code-mirror .CodeMirror {
@@ -151,7 +151,7 @@ export default {
</script>
<template>
<div class="disk" @input="update">
<div class="disk" @update:value="update">
<div class="mt-10" />
<Banner
v-if="mountedMessage && isProvisioned"
@@ -172,7 +172,7 @@ export default {
<div class="row">
<div class="col span-12">
<DiskTags
v-model="value.tags"
v-model:value="value.tags"
:label="t('harvester.host.disk.tags.label')"
:add-label="t('harvester.host.disk.tags.addLabel')"
:mode="mode"
@@ -228,7 +228,7 @@ export default {
<div class="row mt-10">
<div class="col span-12">
<LabeledInput
v-model="value.displayName"
v-model:value="value.displayName"
:label="t('generic.name')"
:disabled="true"
/>
@@ -237,7 +237,7 @@ export default {
<div v-if="(value.isNew && !isFormatted) || isCorrupted" class="row mt-10">
<div class="col span-6">
<RadioGroup
v-model="value.forceFormatted"
v-model:value="value.forceFormatted"
:mode="mode"
name="forceFormatted"
label-key="harvester.host.disk.forceFormatted.label"
@@ -112,7 +112,7 @@ export default {
<template>
<div>
<LabeledSelect
v-model="spec.run"
v-model:value="spec.run"
:label="t('harvester.host.ksmtuned.run')"
:options="ksmtunedRunOption"
class="mb-20"
@@ -122,7 +122,7 @@ export default {
<template v-if="showKsmt">
<UnitInput
v-model="spec.thresCoef"
v-model:value="spec.thresCoef"
v-int-number
:label="t('harvester.host.ksmtuned.thresCoef')"
suffix="%"
@@ -132,13 +132,13 @@ export default {
class="mb-20"
/>
<Checkbox v-model="enableMergeAcrossNodes" :mode="mode" class="check mb-20" type="checkbox" :label="t('harvester.host.ksmtuned.enableMergeNodes')" />
<Checkbox v-model:value="enableMergeAcrossNodes" :mode="mode" class="check mb-20" type="checkbox" :label="t('harvester.host.ksmtuned.enableMergeNodes')" />
<h3>
<t k="harvester.host.ksmtuned.modeLink" :raw="true" />
</h3>
<RadioGroup
v-model="spec.mode"
v-model:value="spec.mode"
class="mb-20"
:name="t('harvester.host.ksmtuned.mode')"
:options="ksmtunedMode"
@@ -250,16 +250,14 @@ export default {
<div>
<div v-if="inventory.warningMessages.length > 0">
<Banner
v-for="msg in inventory.warningMessages"
:key="msg.text"
color="error"
v-for="(msg, i) in inventory.warningMessages" :key="i" color="error"
:label="msg.text"
/>
</div>
<div class="row">
<div class="col span-6">
<RadioGroup
v-model="enableInventory"
v-model:value="enableInventory"
:options="[
{ label: t('generic.enabled'), value: true },
{ label: t('generic.disabled'), value: false }
@@ -273,14 +271,14 @@ export default {
<div class="row mt-10">
<div class="col span-6">
<LabeledInput
v-model="value.spec.baseboardSpec.connection.host"
v-model:value="value.spec.baseboardSpec.connection.host"
:label="t('harvester.seeder.inventory.host.label')"
:placeholder="t('harvester.seeder.inventory.host.placeholder')"
:mode="mode"
required
/>
<Checkbox
v-model="value.spec.baseboardSpec.connection.insecureTLS"
v-model:value="value.spec.baseboardSpec.connection.insecureTLS"
class="mt-5"
:mode="mode"
:label="t('harvester.seeder.inventory.insecureTLS.label')"
@@ -299,7 +297,7 @@ export default {
<div class="row mt-20">
<div class="col span-6">
<LabeledSelect
v-model="selectedSecret"
v-model:value="selectedSecret"
:label="t('harvester.seeder.inventory.secret.label')"
:mode="mode"
:options="secretOption"
@@ -310,7 +308,7 @@ export default {
<div class="row mt-20">
<div class="col span-6">
<RadioGroup
v-model="value.spec.events.enabled"
v-model:value="value.spec.events.enabled"
name="enabled"
:options="[true, false]"
:label="t('harvester.seeder.inventory.event.label')"
@@ -323,7 +321,7 @@ export default {
class="col span-6"
>
<LabeledInput
v-model="value.spec.events.pollingInterval"
v-model:value="value.spec.events.pollingInterval"
:label="t('harvester.seeder.inventory.pollingInterval.label')"
:mode="mode"
/>
@@ -344,20 +342,20 @@ export default {
<template #content>
<NameNsDescription
v-model="secret"
v-model:value="secret"
:namespaced="true"
mode="create"
/>
<LabeledInput
v-model="username"
v-model:value="username"
:label="t('harvester.virtualMachine.input.username')"
class="mb-20"
required
/>
<LabeledInput
v-model="password"
v-model:value="password"
type="password"
:label="t('harvester.virtualMachine.input.password')"
class="mb-20"
@@ -522,14 +522,14 @@ export default {
<Tabbed ref="tabbed" class="mt-15" :side-tabs="true">
<Tab name="basics" :weight="100" :label="t('harvester.host.tabs.basics')">
<LabeledInput
v-model="customName"
v-model:value="customName"
:label="t('harvester.host.detail.customName')"
class="mb-20"
:mode="mode"
/>
<LabeledInput
v-model="consoleUrl"
v-model:value="consoleUrl"
:label="t('harvester.host.detail.consoleUrl')"
class="mb-20"
:mode="mode"
@@ -547,7 +547,7 @@ export default {
>
<div class="col span-12">
<DiskTags
v-model="longhornNode.spec.tags"
v-model:value="longhornNode.spec.tags"
:label="t('harvester.host.tags.label')"
:add-label="t('harvester.host.tags.addLabel')"
:mode="mode"
@@ -555,13 +555,13 @@ export default {
</div>
</div>
<ArrayListGrouped
v-model="newDisks"
v-model:value="newDisks"
:mode="mode"
:initial-empty-row="false"
>
<template #default="props">
<HarvesterDisk
v-model="props.row.value"
v-model:value="props.row.value"
class="mb-20"
:mode="mode"
:disks="disks"
@@ -652,7 +652,7 @@ export default {
:title="t('labels.labels.title')"
:read-allowed="false"
:value-can-be-empty="true"
@input="updateHostLabels"
@update:value="updateHostLabels"
/>
</Tab>
</Tabbed>
@@ -85,14 +85,14 @@ export default {
<NameNsDescription
ref="nd"
:key="randomString"
v-model="value"
v-model:value="value"
:mode="mode"
/>
<Tabbed v-bind="$attrs" class="mt-15" :side-tabs="true">
<Tab name="basic" :label="t('harvester.sshKey.tabs.basics')" :weight="1" class="bordered-table">
<LabeledInput
v-model="publicKey"
v-model:value="publicKey"
type="multiline"
:mode="mode"
:min-height="160"
@@ -186,7 +186,7 @@ export default {
<div class="row">
<div class="col span-6">
<LabeledSelect
v-model="loggingType"
v-model:value="loggingType"
class="mb-20"
:options="outputTypeOptions"
:disabled="!isCreate"
@@ -197,7 +197,7 @@ export default {
</div>
<div class="row">
<div class="col span-6">
<LabeledSelect v-model="selectedProvider" label="Output" :options="providers" :mode="mode" />
<LabeledSelect v-model:value="selectedProvider" label="Output" :options="providers" :mode="mode" />
</div>
</div>
<div class="spacer"></div>
@@ -206,7 +206,7 @@ export default {
<Tab name="buffer" :label="t('logging.output.buffer.label')" :weight="1">
<YamlEditor
ref="yaml"
v-model="bufferYaml"
v-model:value="bufferYaml"
:scrolling="false"
:initial-yaml-values="initialBufferYaml"
:editor-mode="isView ? EDITOR_MODES.VIEW_CODE : EDITOR_MODES.EDIT_CODE"
@@ -190,7 +190,7 @@ export default {
@cancel="done"
>
<NameNsDescription
v-model="value"
v-model:value="value"
:mode="mode"
:namespaced="isNamespaced"
/>
@@ -177,13 +177,13 @@ export default {
>
<NameNsDescription
ref="nd"
v-model="value"
v-model:value="value"
:mode="mode"
/>
<Tabbed v-bind="$attrs" class="mt-15" :side-tabs="true">
<Tab name="basics" :label="t('harvester.network.tabs.basics')" :weight="99" class="bordered-table">
<LabeledSelect
v-model="type"
v-model:value="type"
class="mb-20"
:options="networkType"
:mode="mode"
@@ -201,7 +201,7 @@ export default {
placeholder="e.g. 1-4094"
:label="t('tableHeaders.networkVlan')"
:mode="mode"
@input="input"
@update:value="input"
/>
<div class="row">
@@ -209,7 +209,7 @@ export default {
class="col span-12"
>
<LabeledSelect
v-model="config.bridge"
v-model:value="config.bridge"
class="mb-20"
:label="t('harvester.network.clusterNetwork.label')"
required
@@ -230,7 +230,7 @@ export default {
<div class="row mt-10">
<div class="col span-6">
<RadioGroup
v-model="layer3Network.mode"
v-model:value="layer3Network.mode"
name="layer3NetworkMode"
:label="t('harvester.network.layer3Network.mode.label')"
:mode="mode"
@@ -244,7 +244,7 @@ export default {
>
<div class="col span-6">
<LabeledInput
v-model="layer3Network.serverIPAddr"
v-model:value="layer3Network.serverIPAddr"
class="mb-20"
:label="t('harvester.network.layer3Network.serverIPAddr.label')"
:mode="mode"
@@ -257,7 +257,7 @@ export default {
>
<div class="col span-6">
<LabeledInput
v-model="layer3Network.cidr"
v-model:value="layer3Network.cidr"
class="mb-20"
:label="t('harvester.network.layer3Network.cidr.label')"
:placeholder="t('harvester.network.layer3Network.cidr.placeholder')"
@@ -267,7 +267,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="layer3Network.gateway"
v-model:value="layer3Network.gateway"
class="mb-20"
:label="t('harvester.network.layer3Network.gateway.label')"
:placeholder="t('harvester.network.layer3Network.gateway.placeholder')"
@@ -233,7 +233,7 @@ export default {
@error="e=>errors = e"
>
<NameNsDescription
v-model="value"
v-model:value="value"
:mode="mode"
:namespaced="!isCloud"
/>
@@ -271,7 +271,7 @@ export default {
:weight="-1"
>
<Labels
v-model="value"
v-model:value="value"
:mode="mode"
/>
</Tab>
@@ -201,14 +201,14 @@ export default {
:is="customComponent"
v-if="hasCustomComponent"
ref="settingComp"
v-model="value"
v-model:value="value"
:register-before-hook="registerBeforeHook"
:mode="mode"
/>
</div>
<div v-else-if="setting.kind === 'enum'">
<LabeledSelect
v-model="value.value"
v-model:value="value.value"
:label="t('advancedSettings.edit.value')"
:localized-label="true"
:mode="mode"
@@ -217,7 +217,7 @@ export default {
</div>
<div v-else-if="setting.kind === 'boolean'">
<RadioGroup
v-model="value.value"
v-model:value="value.value"
name="settings_value"
:labels="[
t('advancedSettings.edit.trueOption'),
@@ -227,11 +227,11 @@ export default {
/>
</div>
<div v-else-if="setting.kind === 'multiline' || setting.kind === 'json'">
<TextAreaAutoGrow v-model="value.value" :min-height="254" />
<TextAreaAutoGrow v-model:value="value.value" :min-height="254" />
</div>
<div v-else>
<LabeledInput
v-model="value.value"
v-model:value="value.value"
:label="t('advancedSettings.edit.value')"
/>
</div>
@@ -249,7 +249,7 @@ export default {
}
}
::v-deep .edit-help code {
:deep() .edit-help code {
padding: 1px 5px;
}
</style>
@@ -222,7 +222,7 @@ export default {
:searchable="true"
:taggable="true"
class="mb-20"
@input="updateProvisioner($event)"
@update:value="updateProvisioner($event)"
/>
<Tabbed :side-tabs="true">
<Tab name="parameters" :label="t('storageClass.parameters.label')" :weight="2">
@@ -238,7 +238,7 @@ export default {
<div class="row mt-20">
<div class="col span-6">
<RadioGroup
v-model="value.reclaimPolicy"
v-model:value="value.reclaimPolicy"
name="reclaimPolicy"
:label="t('storageClass.customize.reclaimPolicy.label')"
:mode="modeOverride"
@@ -247,7 +247,7 @@ export default {
</div>
<div class="col span-6">
<RadioGroup
v-model="value.allowVolumeExpansion"
v-model:value="value.allowVolumeExpansion"
name="allowVolumeExpansion"
:label="t('storageClass.customize.allowVolumeExpansion.label')"
:mode="modeOverride"
@@ -258,7 +258,7 @@ export default {
<div class="row mt-20">
<div class="col span-6">
<RadioGroup
v-model="value.volumeBindingMode"
v-model:value="value.volumeBindingMode"
name="volumeBindingMode"
:label="t('storageClass.customize.volumeBindingMode.label')"
:mode="modeOverride"
@@ -274,7 +274,7 @@ export default {
:tooltip="t('harvester.storage.allowedTopologies.tooltip')"
>
<ArrayList
v-model="allowedTopologies"
v-model:value="allowedTopologies"
:default-add-value="defaultAddValue"
:initial-empty-row="true"
:show-header="true"
@@ -297,14 +297,14 @@ export default {
<div class="row custom-headers">
<div class="col span-4 key">
<LabeledInput
v-model="scope.row.value.key"
v-model:value="scope.row.value.key"
:required="true"
:mode="modeOverride"
/>
</div>
<div class="col span-8 value">
<DiskTags
v-model="scope.row.value.values"
v-model:value="scope.row.value.values"
:add-label="t('generic.add')"
:mode="modeOverride"
/>
@@ -17,7 +17,7 @@ export default {
</script>
<template>
<KeyValue
v-model="value.parameters"
v-model:value="value.parameters"
:add-label="t('storageClass.custom.addLabel')"
:read-allowed="false"
:mode="mode"
@@ -168,7 +168,7 @@ export default {
<div class="row">
<div class="col span-6">
<LabeledInput
v-model="numberOfReplicas"
v-model:value="numberOfReplicas"
:label="t('harvester.storage.parameters.numberOfReplicas.label')"
:required="true"
:mode="mode"
@@ -179,7 +179,7 @@ export default {
</div>
<div class="col span-6">
<LabeledInput
v-model="value.parameters.staleReplicaTimeout"
v-model:value="value.parameters.staleReplicaTimeout"
:label="t('harvester.storage.parameters.staleReplicaTimeout.label')"
:required="true"
:mode="mode"
@@ -190,7 +190,7 @@ export default {
<div class="row mt-10">
<div class="col span-6">
<LabeledSelect
v-model="nodeSelector"
v-model:value="nodeSelector"
:label="t('harvester.storage.parameters.nodeSelector.label')"
:options="nodeTags"
:taggable="true"
@@ -206,7 +206,7 @@ export default {
</div>
<div class="col span-6">
<LabeledSelect
v-model="diskSelector"
v-model:value="diskSelector"
:label="t('harvester.storage.parameters.diskSelector.label')"
:options="diskTags"
:taggable="true"
@@ -224,7 +224,7 @@ export default {
<div class="row mt-10">
<div class="col span-6">
<RadioGroup
v-model="value.parameters.migratable"
v-model:value="value.parameters.migratable"
name="layer3NetworkMode"
:label="t('harvester.storage.parameters.migratable.label')"
:mode="mode"
@@ -233,7 +233,7 @@ export default {
</div>
</div>
<KeyValue
v-model="parameters"
v-model:value="parameters"
:add-label="t('storageClass.longhorn.addLabel')"
:read-allowed="false"
:mode="mode"
@@ -209,7 +209,7 @@ export default {
<div class="content">
<div class="mb-20">
<RadioGroup
v-model="restoreNewVm"
v-model:value="restoreNewVm"
name="model"
:options="[true,false]"
:labels="[t('harvester.backup.restore.createNew'), t('harvester.backup.restore.replaceExisting')]"
@@ -221,7 +221,7 @@ export default {
<div class="row">
<div class="col span-6">
<LabeledSelect
v-model="namespace"
v-model:value="namespace"
:disabled="!restoreNewVm"
:label="t('nameNsDescription.namespace.label')"
:options="namespaces"
@@ -230,7 +230,7 @@ export default {
<div class="col span-6">
<LabeledInput
v-model="name"
v-model:value="name"
:disabled="!restoreNewVm"
:label="t('harvester.backup.restore.virtualMachineName')"
:placeholder="t('nameNsDescription.name.placeholder')"
@@ -240,7 +240,7 @@ export default {
</div>
<LabeledSelect
v-model="backupName"
v-model:value="backupName"
class="mb-20"
:label="t('harvester.backup.restore.backup')"
:options="backupOption"
@@ -248,14 +248,14 @@ export default {
<Checkbox
v-if="restoreNewVm"
v-model="restoreResource.spec.keepMacAddress"
v-model:value="restoreResource.spec.keepMacAddress"
type="checkbox"
:label="t('harvester.backup.restore.keepMacAddress')"
/>
<LabeledSelect
v-if="!restoreNewVm"
v-model="deletionPolicy"
v-model:value="deletionPolicy"
:label="t('harvester.backup.restore.deletePreviousVolumes')"
:options="deletionPolicyOption"
/>
@@ -271,7 +271,7 @@ export default {
flex-grow: 1;
flex-direction: column;
::v-deep .radio-group {
:deep() .radio-group {
display: flex;
.radio-container {
margin-right: 30px;
@@ -291,7 +291,7 @@ export default {
margin-bottom: -$space-m;
padding: $space-s $space-m;
::v-deep .spacer-small {
:deep() .spacer-small {
padding: 0px;
}
}
@@ -280,7 +280,7 @@ export default {
>
<NameNsDescription
ref="nd"
v-model="value"
v-model:value="value"
:mode="mode"
:label="t('generic.name')"
name-key="spec.displayName"
@@ -295,7 +295,7 @@ export default {
>
<RadioGroup
v-if="isCreate"
v-model="value.spec.sourceType"
v-model:value="value.spec.sourceType"
name="model"
:options="[
'download',
@@ -311,7 +311,7 @@ export default {
<div class="col span-12">
<LabeledInput
v-if="!isCreate"
v-model="value.spec.sourceType"
v-model:value="value.spec.sourceType"
:mode="mode"
class="mb-20"
:disabled="isEdit"
@@ -320,7 +320,7 @@ export default {
<LabeledInput
v-if="value.spec.sourceType === 'download'"
v-model="value.spec.url"
v-model:value="value.spec.url"
:mode="mode"
:disabled="isEdit"
class="mb-20 labeled-input--tooltip"
@@ -332,7 +332,7 @@ export default {
<div v-else>
<LabeledInput
v-if="isView"
v-model="imageName"
v-model:value="imageName"
:mode="mode"
class="mt-20"
label-key="harvester.image.fileName"
@@ -368,7 +368,7 @@ export default {
<LabeledInput
v-if="value.spec.sourceType === 'download'"
v-model="value.spec.checksum"
v-model:value="value.spec.checksum"
:mode="mode"
:disabled="isEdit"
label-key="harvester.image.checksum"
@@ -387,7 +387,7 @@ export default {
<div class="row">
<div class="col span-6">
<LabeledSelect
v-model="storageClassName"
v-model:value="storageClassName"
:options="storageClassOptions"
:label="t('harvester.storage.storageClass.label')"
:mode="mode"
@@ -408,28 +408,28 @@ export default {
:pad-left="false"
:read-allowed="false"
@focusKey="focusKey"
@input="value.setLabels($event)"
@update:value="value.setLabels($event)"
>
<template #value="{row, keyName, valueName, queueUpdate}">
<Select
v-if="internalAnnotations(row)"
v-model="row[valueName]"
v-model:value="row[valueName]"
:mode="mode"
:searchable="true"
:clearable="false"
:options="calculateOptions(row[keyName])"
@input="queueUpdate"
@update:value="queueUpdate"
/>
<input
v-else
v-model="row[valueName]"
v-model:value="row[valueName]"
:disabled="isView"
:type="'text'"
:placeholder="t('keyValue.valuePlaceholder')"
autocorrect="off"
autocapitalize="off"
spellcheck="false"
@input="queueUpdate"
@update:value="queueUpdate"
/>
</template>
</KeyValue>
@@ -220,7 +220,7 @@ export default {
@finish="saveVMT"
>
<NameNsDescription
v-model="templateValue"
v-model:value="templateValue"
:mode="realTemplateMode"
name-label="harvester.vmTemplate.nameNsDescription.name"
:namespaced="true"
@@ -228,7 +228,7 @@ export default {
<Checkbox
v-if="templateId"
v-model="isDefaultVersion"
v-model:value="isDefaultVersion"
class="mb-20"
:label="t('tableHeaders.defaultVersion')"
type="checkbox"
@@ -241,7 +241,7 @@ export default {
<div class="mb-20">
<SSHKey
v-model="sshKey"
v-model:value="sshKey"
:create-namespace="true"
:namespace="templateValue.metadata.namespace"
:disable-create="isView"
@@ -252,11 +252,11 @@ export default {
</Tab>
<Tab name="Volume" :label="t('harvester.tab.volume')" :weight="-1">
<Volume v-model="diskRows" :mode="mode" :namespace="value.metadata.namespace" :existing-volume-disabled="true" />
<Volume v-model:value="diskRows" :mode="mode" :namespace="value.metadata.namespace" :existing-volume-disabled="true" />
</Tab>
<Tab name="Network" :label="t('harvester.tab.network')" :weight="-2">
<Network v-model="networkRows" :mode="mode" />
<Network v-model:value="networkRows" :mode="mode" />
</Tab>
<Tab
@@ -266,7 +266,6 @@ export default {
>
<template #default="{active}">
<NodeScheduling
:key="active"
:mode="mode"
:value="spec.template.spec"
:nodes="nodesIdOptions"
@@ -277,7 +276,6 @@ export default {
<Tab :label="t('harvester.tab.vmScheduling')" name="vmScheduling" :weight="-90">
<template #default="{active}">
<PodAffinity
:key="active"
:mode="mode"
:value="spec.template.spec"
:nodes="nodes"
@@ -292,7 +290,7 @@ export default {
<div class="row mb-20">
<div class="col span-6">
<LabeledSelect
v-model="runStrategy"
v-model:value="runStrategy"
label-key="harvester.virtualMachine.runStrategy"
:options="RunStrategys"
:mode="mode"
@@ -301,7 +299,7 @@ export default {
<div class="col span-6">
<LabeledSelect
v-model="osType"
v-model:value="osType"
label-key="harvester.virtualMachine.osType"
:mode="mode"
:options="OS"
@@ -325,7 +323,7 @@ export default {
</div>
<div class="col span-6">
<UnitInput
v-model="terminationGracePeriodSeconds"
v-model:value="terminationGracePeriodSeconds"
:suffix="terminationGracePeriodSeconds == 1 ? 'Second' : 'Seconds'"
:label="t('harvester.virtualMachine.terminationGracePeriodSeconds.label')"
:mode="mode"
@@ -347,7 +345,7 @@ export default {
<div class="spacer"></div>
<Checkbox
v-model="installUSBTablet"
v-model:value="installUSBTablet"
class="check"
type="checkbox"
:label="t('harvester.virtualMachine.enableUsb')"
@@ -355,7 +353,7 @@ export default {
/>
<Checkbox
v-model="installAgent"
v-model:value="installAgent"
class="check"
type="checkbox"
label-key="harvester.virtualMachine.installAgent"
@@ -363,7 +361,7 @@ export default {
/>
<Checkbox
v-model="tpmEnabled"
v-model:value="tpmEnabled"
class="check"
type="checkbox"
label-key="harvester.virtualMachine.advancedOptions.tpm"
@@ -371,7 +369,7 @@ export default {
/>
<Checkbox
v-model="efiEnabled"
v-model:value="efiEnabled"
class="check"
type="checkbox"
:label="t('harvester.virtualMachine.efiEnabled')"
@@ -380,7 +378,7 @@ export default {
<Checkbox
v-if="efiEnabled"
v-model="secureBoot"
v-model:value="secureBoot"
class="check"
type="checkbox"
:label="t('harvester.virtualMachine.secureBoot')"
@@ -411,7 +409,7 @@ export default {
:mode="mode"
:read-allowed="false"
:value-can-be-empty="true"
@input="value.setInstanceLabels($event)"
@update:value="value.setInstanceLabels($event)"
/>
</template>
</Labels>
@@ -206,7 +206,7 @@ export default {
<div class="content">
<div class="mb-20">
<RadioGroup
v-model="restoreNewVm"
v-model:value="restoreNewVm"
name="model"
:options="[true,false]"
:labels="[t('harvester.backup.restore.createNew'), t('harvester.backup.restore.replaceExisting')]"
@@ -218,7 +218,7 @@ export default {
<div class="row">
<div class="col span-6">
<LabeledSelect
v-model="namespace"
v-model:value="namespace"
:disabled="true"
:label="t('nameNsDescription.namespace.label')"
:options="namespaces"
@@ -227,7 +227,7 @@ export default {
<div class="col span-6">
<LabeledInput
v-model="name"
v-model:value="name"
:disabled="!restoreNewVm"
:label="t('harvester.backup.restore.virtualMachineName')"
:placeholder="t('nameNsDescription.name.placeholder')"
@@ -236,9 +236,9 @@ export default {
</div>
</div>
<LabeledSelect v-model="snapshotName" class="mb-20" :label="t('harvester.vmSnapshot.snapshot')" :options="snapshotOption" />
<LabeledSelect v-model:value="snapshotName" class="mb-20" :label="t('harvester.vmSnapshot.snapshot')" :options="snapshotOption" />
<LabeledSelect v-if="!restoreNewVm" v-model="deletionPolicy" :label="t('harvester.backup.restore.deletePreviousVolumes')" :options="deletionPolicyOption" />
<LabeledSelect v-if="!restoreNewVm" v-model:value="deletionPolicy" :label="t('harvester.backup.restore.deletePreviousVolumes')" :options="deletionPolicyOption" />
</div>
<Footer mode="create" class="footer" :errors="errors" @save="saveRestore" @done="done" />
@@ -251,7 +251,7 @@ export default {
flex-grow: 1;
flex-direction: column;
::v-deep .radio-group {
:deep() .radio-group {
display: flex;
.radio-container {
margin-right: 30px;
@@ -271,7 +271,7 @@ export default {
margin-bottom: -$space-m;
padding: $space-s $space-m;
::v-deep .spacer-small {
:deep() .spacer-small {
padding: 0px;
}
}
+20 -20
View File
@@ -272,7 +272,7 @@ export default {
<NameNsDescription :value="value" :namespaced="true" :mode="mode" />
<ResourceTabs
v-model="value"
v-model:value="value"
class="mt-15"
:need-conditions="false"
:need-related="false"
@@ -281,41 +281,41 @@ export default {
>
<Tab name="basic" :label="t('harvester.volume.tabs.basics')" :weight="3" class="bordered-table">
<LabeledSelect
v-model="source"
v-model:value="source"
:label="t('harvester.volume.source')"
:options="sourceOption"
:disabled="!isCreate"
required
:mode="mode"
class="mb-20"
@input="update"
@update:value="update"
/>
<LabeledSelect
v-if="isVMImage"
v-model="imageId"
v-model:value="imageId"
:label="t('harvester.volume.image')"
:options="imageOption"
:disabled="!isCreate"
required
:mode="mode"
class="mb-20"
@input="update"
@update:value="update"
/>
<LabeledSelect
v-if="source === 'blank'"
v-model="value.spec.storageClassName"
v-model:value="value.spec.storageClassName"
:options="storageClassOptions"
:label="t('harvester.storage.storageClass.label')"
:mode="mode"
class="mb-20"
:disabled="!isCreate"
@input="update"
@update:value="update"
/>
<UnitInput
v-model="storage"
v-model:value="storage"
v-int-number
:label="t('harvester.volume.size')"
:input-exponent="3"
@@ -324,15 +324,15 @@ export default {
:mode="mode"
required
class="mb-20"
@input="update"
@update:value="update"
/>
</Tab>
<Tab v-if="!isCreate" name="details" :label="t('harvester.volume.tabs.details')" :weight="2.5" class="bordered-table">
<LabeledInput v-model="frontendDisplay" class="mb-20" :mode="mode" :disabled="true" :label="t('harvester.volume.frontend')" />
<LabeledInput v-model="attachedNode" class="mb-20" :mode="mode" :disabled="true" :label="t('harvester.volume.attachedNode')" />
<LabeledInput v-model="endpoint" class="mb-20" :mode="mode" :disabled="true" :label="t('harvester.volume.endpoint')" />
<LabeledInput v-model:value="frontendDisplay" class="mb-20" :mode="mode" :disabled="true" :label="t('harvester.volume.frontend')" />
<LabeledInput v-model:value="attachedNode" class="mb-20" :mode="mode" :disabled="true" :label="t('harvester.volume.attachedNode')" />
<LabeledInput v-model:value="endpoint" class="mb-20" :mode="mode" :disabled="true" :label="t('harvester.volume.endpoint')" />
<LabeledSelect
v-model="diskTags"
v-model:value="diskTags"
:multiple="true"
:label="t('harvester.volume.diskTags')"
:options="[]"
@@ -341,7 +341,7 @@ export default {
class="mb-20"
/>
<LabeledSelect
v-model="nodeTags"
v-model:value="nodeTags"
:multiple="true"
:label="t('harvester.volume.nodeTags')"
:options="[]"
@@ -349,9 +349,9 @@ export default {
:mode="mode"
class="mb-20"
/>
<LabeledInput v-model="lastBackup" class="mb-20" :mode="mode" :disabled="true" :label="t('harvester.volume.lastBackup')" />
<LabeledInput v-model="lastBackupAt" class="mb-20" :mode="mode" :disabled="true" :label="t('harvester.volume.lastBackupAt')" />
<LabeledInput v-model="replicasNumber" class="mb-20" :mode="mode" :disabled="true" :label="t('harvester.volume.replicasNumber')" />
<LabeledInput v-model:value="lastBackup" class="mb-20" :mode="mode" :disabled="true" :label="t('harvester.volume.lastBackup')" />
<LabeledInput v-model:value="lastBackupAt" class="mb-20" :mode="mode" :disabled="true" :label="t('harvester.volume.lastBackupAt')" />
<LabeledInput v-model:value="replicasNumber" class="mb-20" :mode="mode" :disabled="true" :label="t('harvester.volume.replicasNumber')" />
</Tab>
<Tab v-if="!isCreate" name="instances" :label="t('harvester.volume.tabs.snapshots')" :weight="2" class="bordered-table">
<SortableTable
@@ -360,12 +360,12 @@ export default {
default-sort-by="age"
:rows="value.relatedVolumeSnapshotCounts"
key-field="_key"
v-on="$listeners"
/>
</Tab>
<Tab v-if="!isCreate && value.spec.dataSource" name="datasource" :label="t('harvester.volume.tabs.datasource')" :weight="1" class="bordered-table">
<LabeledInput v-model="dataSourceKind" class="mb-20" :mode="mode" :disabled="true" :label="t('harvester.volume.kind')" />
<LabeledInput v-model="value.spec.dataSource.name" :mode="mode" :disabled="true" :label="t('nameNsDescription.name.label')" />
<LabeledInput v-model:value="dataSourceKind" class="mb-20" :mode="mode" :disabled="true" :label="t('harvester.volume.kind')" />
<LabeledInput v-model:value="value.spec.dataSource.name" :mode="mode" :disabled="true" :label="t('nameNsDescription.name.label')" />
</Tab>
</ResourceTabs>
</CruResource>
@@ -62,7 +62,7 @@ export default {
>
<NameNsDescription :value="value" :namespaced="true" :mode="mode" />
<ResourceTabs
v-model="value"
v-model:value="value"
class="mt-15"
:need-conditions="false"
:need-related="false"
@@ -72,17 +72,17 @@ export default {
<Tab name="basics" :label="t('harvester.virtualMachine.detail.tabs.basics')" class="bordered-table">
<div class="row">
<div class="col span-12">
<LabeledInput v-model="size" :label="t('harvester.snapshot.size')" class="mt-20" :disabled="true" />
<LabeledInput v-model:value="size" :label="t('harvester.snapshot.size')" class="mt-20" :disabled="true" />
</div>
</div>
<div class="row">
<div class="col span-12">
<LabeledInput v-model="targetVolume" :label="t('harvester.snapshot.targetVolume')" class="mt-20" :disabled="true" />
<LabeledInput v-model:value="targetVolume" :label="t('harvester.snapshot.targetVolume')" class="mt-20" :disabled="true" />
</div>
</div>
<div v-if="isImageVolume" class="row">
<div class="col span-12">
<LabeledInput v-model="imageName" :label="t('harvester.snapshot.image')" class="mt-20" :disabled="true" />
<LabeledInput v-model:value="imageName" :label="t('harvester.snapshot.image')" class="mt-20" :disabled="true" />
</div>
</div>
</Tab>
@@ -141,7 +141,7 @@ export default {
<template>
<div class="vm__credentials-users">
<LabeledSelect
v-model="selectedUser"
v-model:value="selectedUser"
:options="userOptions"
:label="t('harvester.virtualMachine.accessCredentials.injectSSH.users')"
:taggable="multiple"
@@ -167,7 +167,7 @@ export default {
<template #content>
<LabeledInput
v-model="newUsername"
v-model:value="newUsername"
:label="t('harvester.virtualMachine.input.username')"
class="mb-20"
required
@@ -152,7 +152,7 @@ export default {
<div>
<Banner class="mb-20" color="info" :label="t('harvester.virtualMachine.accessCredentials.tips')" />
<div v-for="(row, i) in rows" :key="row.id">
<div v-for="(row, i) in rows" :key="i">
<InfoBox class="volume-source">
<button v-if="isEdit" type="button" class="role-link btn btn-sm remove-vol" @click="remove(row)">
<i class="icon icon-x" />
@@ -165,7 +165,7 @@ export default {
<div>
<component
:is="componentFor(row.source)"
v-model="rows[i]"
v-model:value="rows[i]"
:rows="rows"
:resource="resource"
:user-options="userOptions"
@@ -61,10 +61,10 @@ export default {
</script>
<template>
<div class="row" @input="update">
<div class="row" @update:value="update">
<div class="col span-6">
<AccessCredentialsUsers
v-model="value.username"
v-model:value="value.username"
:resource="resource"
:user-options="userOptions"
:multiple="false"
@@ -76,7 +76,7 @@ export default {
<div class="col span-6">
<Password
ref="password"
v-model="value.newPassword"
v-model:value="value.newPassword"
:mode="mode"
:disabled="mode !== 'edit'"
:label="t('harvester.virtualMachine.input.password')"
@@ -61,7 +61,7 @@ export default {
<div class="columns row">
<div class="col span-6">
<AccessCredentialsUsers
v-model="value.users"
v-model:value="value.users"
:resource="resource"
:user-options="userOptions"
:mode="mode"
@@ -72,7 +72,7 @@ export default {
</div>
<div class="col span-6">
<SSHKey
v-model="value.sshkeys"
v-model:value="value.sshkeys"
class="mb-20"
:namespace="resource.metadata.namespace"
:mode="mode"
@@ -117,7 +117,7 @@ export default {
<LabeledSelect
v-if="!isView"
v-model="id"
v-model:value="id"
class="mb-20"
:options="options"
:disabled="viewCode"
@@ -127,7 +127,7 @@ export default {
<div class="resource-yaml">
<YamlEditor
ref="yaml"
v-model="yamlScript"
v-model:value="yamlScript"
class="yaml-editor"
:editor-mode="editorMode"
/>
@@ -138,7 +138,7 @@ export default {
<style lang="scss" scoped>
$yaml-height: 200px;
::v-deep .resource-yaml {
:deep() .resource-yaml {
flex: 1;
display: flex;
flex-direction: column;
@@ -200,7 +200,7 @@ export default {
<div class="mb-20">
<DataTemplate
ref="userTemplate"
v-model="userScript"
v-model:value="userScript"
type="user"
:view-code="viewCode"
:mode="mode"
@@ -215,7 +215,7 @@ export default {
<div class="mb-20">
<DataTemplate
ref="networkTemplate"
v-model="networkScript"
v-model:value="networkScript"
type="network"
:view-code="viewCode"
:mode="mode"
@@ -240,7 +240,7 @@ export default {
<template #content>
<LabeledInput
v-model="cloudTemplateName"
v-model:value="cloudTemplateName"
:label="t('harvester.virtualMachine.input.name')"
class="mb-20"
required
@@ -251,7 +251,7 @@ export default {
<div class="resource-yaml">
<YamlEditor
ref="createTemplate"
v-model="cloudTemplate"
v-model:value="cloudTemplate"
class="yaml-editor"
:editor-mode="editorMode"
/>
@@ -270,7 +270,7 @@ $yaml-height: 350px;
overflow: auto;
}
::v-deep .resource-yaml {
:deep() .resource-yaml {
flex: 1;
display: flex;
flex-direction: column;
@@ -77,7 +77,7 @@ export default {
<div class="col span-6">
<InputOrDisplay name="CPU" :value="cupDisplay" :mode="mode" class="mb-10">
<UnitInput
v-model="localCpu"
v-model:value="localCpu"
v-int-number
label="CPU"
suffix="C"
@@ -86,7 +86,7 @@ export default {
:disabled="disabled"
:mode="mode"
class="mb-20"
@input="change"
@update:value="change"
/>
</InputOrDisplay>
</div>
@@ -94,7 +94,7 @@ export default {
<div class="col span-6">
<InputOrDisplay :name="t('harvester.virtualMachine.input.memory')" :value="memoryDisplay" :mode="mode" class="mb-10">
<UnitInput
v-model="localMemory"
v-model:value="localMemory"
v-int-number
:label="t('harvester.virtualMachine.input.memory')"
:mode="mode"
@@ -105,7 +105,7 @@ export default {
:disabled="disabled"
required
class="mb-20"
@input="change"
@update:value="change"
/>
</InputOrDisplay>
</div>
@@ -198,12 +198,12 @@ export default {
:mode="mode"
>
<LabeledInput
v-model="value.name"
v-model:value="value.name"
:label="t('harvester.fields.name')"
required
:mode="mode"
:disabled="isDisabled"
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -218,13 +218,13 @@ export default {
:mode="mode"
>
<LabeledSelect
v-model="value.model"
v-model:value="value.model"
:label="t('harvester.fields.model')"
:disabled="isDisabled"
:options="modelOption"
:mode="mode"
required
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -241,13 +241,13 @@ export default {
:mode="mode"
>
<LabeledSelect
v-model="value.networkName"
v-model:value="value.networkName"
:label="t('harvester.fields.network')"
:options="allNetworkOption"
:mode="mode"
required
:disabled="isDisabled"
@input="updateNetworkName"
@update:value="updateNetworkName"
/>
</InputOrDisplay>
</div>
@@ -262,12 +262,12 @@ export default {
:mode="mode"
>
<LabeledSelect
v-model="value.type"
v-model:value="value.type"
:label="t('harvester.fields.type')"
:options="typeOption"
:mode="mode"
required
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -292,11 +292,11 @@ export default {
:mode="mode"
>
<LabeledInput
v-model="value.macAddress"
v-model:value="value.macAddress"
label-key="harvester.fields.macAddress"
:mode="mode"
:tooltip="t('harvester.virtualMachine.volume.macTip')"
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -125,7 +125,7 @@ export default {
<template>
<div>
<InfoBox v-for="(row, i) in rows" :key="i" class="infoBox">
<InfoBox v-for="(row, i) in rows" :key="i">
<button v-if="!isView" type="button" class="role-link remove-vol" @click="remove(row)">
<i class="icon icon-x" />
</button>
@@ -133,8 +133,7 @@ export default {
<h3> {{ t('harvester.virtualMachine.network.title') }} </h3>
<Base
:key="rows[i].rowKeyId"
v-model="rows[i]"
v-model:value="rows[i]"
:rows="rows"
:mode="mode"
:is-single="isSingle"
@@ -82,18 +82,16 @@ export default {
</div>
<div>{{ t('harvester.pci.matrixHostName') }}</div>
</div>
<div v-for="nodeName in allNodeNames" :key="nodeName" class="node-label">
<div v-for="(nodeName, i) in allNodeNames" :key="i" >
<span> {{ nodeName }}</span>
</div>
</div>
<div v-for="deviceCRD in enabledDevices" :key="deviceCRD.metadata.name" class="device-col">
<div v-for="(deviceCRD, i) in enabledDevices" :key="i" >
<div v-clean-tooltip="deviceTooltip(deviceCRD)" class="compat-cell device-label" :class="{'text-muted': noneAvailable(deviceCRD)}">
{{ deviceCRD.metadata.name }}
</div>
<div
v-for="nodeName in allNodeNames"
:key="nodeName"
class="compat-cell"
v-for="(nodeName, i) in allNodeNames" :key="i" class="compat-cell"
:class="{'has-device': nodeHasDevice(nodeName, deviceCRD)}"
/>
</div>
@@ -226,7 +226,7 @@ export default {
<div class="row">
<div class="col span-6">
<LabeledSelect
v-model="selectedDevices"
v-model:value="selectedDevices"
label="Available PCI Devices"
searchable
multiple
@@ -244,7 +244,7 @@ export default {
<div class="col span-12 text-muted">
Compatible hosts:
<!-- eslint-disable-next-line vue/no-parsing-error -->
<span v-for="(node, idx) in compatibleNodes" :key="node">{{ node }}{{ idx < compatibleNodes.length-1 ? ', ' : '' }}</span>
<span v-for="(node, idx) in compatibleNodes" :key="idx">{{ node }}{{ idx < compatibleNodes.length-1 ? ', ' : '' }}</span>
</div>
</div>
<div v-else-if="selectedDevices.length" class="text-error">
@@ -38,13 +38,13 @@ export default {
<template>
<UnitInput
v-model="memory"
v-model:value="memory"
v-int-number
:label="t('harvester.virtualMachine.input.reservedMemory')"
:mode="mode"
:input-exponent="2"
:increment="1024"
:output-modifier="true"
@input="change"
@update:value="change"
/>
</template>
@@ -239,7 +239,7 @@ export default {
<template>
<div>
<LabeledSelect
v-model="checkedSsh"
v-model:value="checkedSsh"
:label="t('harvester.virtualMachine.input.sshKey')"
:taggable="true"
:mode="mode"
@@ -247,7 +247,7 @@ export default {
:searchable="searchable"
:disabled="disabled"
:options="sshOption"
@input="update"
@update:value="update"
/>
<ModalWithCard
@@ -264,7 +264,7 @@ export default {
<template #content>
<LabeledInput
v-model="sshName"
v-model:value="sshName"
:label="t('harvester.virtualMachine.input.name')"
class="mb-20"
required
@@ -272,7 +272,7 @@ export default {
/>
<LabeledInput
v-model="publicKey"
v-model:value="publicKey"
:label="t('harvester.virtualMachine.input.sshKeyValue')"
:min-height="160"
class="mb-20"
@@ -169,7 +169,7 @@ export default {
<div class="row">
<div class="col span-6">
<LabeledSelect
v-model="selectedDevices"
v-model:value="selectedDevices"
label="Available vGPU Devices"
searchable
multiple
@@ -187,7 +187,7 @@ export default {
<div class="col span-12 text-muted">
Compatible hosts:
<!-- eslint-disable-next-line vue/no-parsing-error -->
<span v-for="(node, idx) in compatibleNodes" :key="node">{{ node }}{{ idx < compatibleNodes.length-1 ? ', ' : '' }}</span>
<span v-for="(node, idx) in compatibleNodes" :key="idx">{{ node }}{{ idx < compatibleNodes.length-1 ? ', ' : '' }}</span>
</div>
</div>
<div v-else-if="selectedDevices.length" class="text-error">
@@ -267,15 +267,13 @@ export default {
label-key="harvester.virtualMachine.volume.dragTip"
/>
<draggable
v-model="rows"
v-model:value="rows"
:disabled="isView"
@end="update"
>
<transition-group>
<div
v-for="(volume, i) in rows"
:key="volume.id"
>
v-for="(volume, i) in rows" :key="i">
<InfoBox class="box">
<button
v-if="!isView"
@@ -328,7 +326,7 @@ export default {
<div>
<component
:is="componentFor(volume.source)"
v-model="rows[i]"
v-model:value="rows[i]"
:rows="rows"
:namespace="namespace"
:is-create="isCreate"
@@ -59,11 +59,11 @@ export default {
:mode="mode"
>
<LabeledInput
v-model="value.name"
v-model:value="value.name"
:label="t('harvester.fields.name')"
required
:mode="mode"
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -78,12 +78,12 @@ export default {
:mode="mode"
>
<LabeledSelect
v-model="value.type"
v-model:value="value.type"
:label="t('harvester.fields.type')"
:options="VOLUME_TYPE"
:mode="mode"
required
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -100,11 +100,11 @@ export default {
:mode="mode"
>
<LabeledInput
v-model="value.container"
v-model:value="value.container"
:label="t('harvester.virtualMachine.volume.dockerImage')"
:mode="mode"
required
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -119,11 +119,11 @@ export default {
:mode="mode"
>
<LabeledSelect
v-model="value.bus"
v-model:value="value.bus"
:label="t('harvester.virtualMachine.volume.bus')"
:options="InterfaceOption"
:mode="mode"
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -177,11 +177,11 @@ export default {
:mode="mode"
>
<LabeledInput
v-model="value.name"
v-model:value="value.name"
:label="t('harvester.fields.name')"
:mode="mode"
required
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -196,12 +196,12 @@ export default {
:mode="mode"
>
<LabeledSelect
v-model="value.type"
v-model:value="value.type"
:label="t('harvester.fields.type')"
:mode="mode"
:options="VOLUME_TYPE"
required
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -218,13 +218,13 @@ export default {
:mode="mode"
>
<LabeledSelect
v-model="value.volumeName"
v-model:value="value.volumeName"
:disabled="isDisabled"
:label="t('harvester.fields.volume')"
:mode="mode"
:options="volumeOption"
required
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -239,14 +239,14 @@ export default {
:mode="mode"
>
<UnitInput
v-model="value.size"
v-model:value="value.size"
:output-modifier="true"
:increment="1024"
:input-exponent="3"
:label="t('harvester.fields.size')"
:mode="mode"
:disabled="true"
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -264,11 +264,11 @@ export default {
:mode="mode"
>
<LabeledInput
v-model="image"
v-model:value="image"
:label="t('harvester.fields.image')"
:mode="mode"
:disabled="true"
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -283,13 +283,13 @@ export default {
:mode="mode"
>
<LabeledSelect
v-model="value.bus"
v-model:value="value.bus"
:label="t('harvester.virtualMachine.volume.bus')"
:mode="mode"
:options="InterfaceOption"
:disabled="true"
required
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -181,11 +181,11 @@ export default {
>
<InputOrDisplay :name="t('harvester.fields.name')" :value="value.name" :mode="mode">
<LabeledInput
v-model="value.name"
v-model:value="value.name"
:label="t('harvester.fields.name')"
required
:mode="mode"
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -200,11 +200,11 @@ export default {
:mode="mode"
>
<LabeledSelect
v-model="value.type"
v-model:value="value.type"
:label="t('harvester.fields.type')"
:options="VOLUME_TYPE"
:mode="mode"
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -221,14 +221,14 @@ export default {
:mode="mode"
>
<LabeledSelect
v-model="value.image"
v-model:value="value.image"
:disabled="idx === 0 && !isCreate && !value.newCreateId && isVirtualType"
:label="t('harvester.fields.image')"
:options="imagesOption"
:mode="mode"
:searchable="true"
:required="validateRequired"
@input="onImageChange"
@update:value="onImageChange"
/>
</InputOrDisplay>
</div>
@@ -243,7 +243,7 @@ export default {
:mode="mode"
>
<UnitInput
v-model="value.size"
v-model:value="value.size"
v-int-number
:output-modifier="true"
:increment="1024"
@@ -252,7 +252,7 @@ export default {
:mode="mode"
:required="validateRequired"
suffix="GiB"
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -269,11 +269,11 @@ export default {
:mode="mode"
>
<LabeledSelect
v-model="value.bus"
v-model:value="value.bus"
:label="t('harvester.virtualMachine.volume.bus')"
:mode="mode"
:options="InterfaceOption"
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -134,11 +134,11 @@ export default {
:mode="mode"
>
<LabeledInput
v-model="value.name"
v-model:value="value.name"
:label="t('harvester.fields.name')"
:mode="mode"
required
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -153,12 +153,12 @@ export default {
:mode="mode"
>
<LabeledSelect
v-model="value.type"
v-model:value="value.type"
:label="t('harvester.fields.type')"
:options="VOLUME_TYPE"
required
:mode="mode"
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -175,13 +175,13 @@ export default {
:mode="mode"
>
<LabeledSelect
v-model="value.storageClassName"
v-model:value="value.storageClassName"
:options="storageClassOptions"
:label="t('harvester.storage.storageClass.label')"
:mode="mode"
:disabled="isDisabled"
:required="validateRequired"
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -195,7 +195,7 @@ export default {
:mode="mode"
>
<UnitInput
v-model="value.size"
v-model:value="value.size"
v-int-number
:output-modifier="true"
:increment="1024"
@@ -203,7 +203,7 @@ export default {
:mode="mode"
:required="validateRequired"
:label="t('harvester.fields.size')"
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -216,12 +216,12 @@ export default {
>
<InputOrDisplay :name="t('harvester.virtualMachine.volume.bus')" :value="value.bus" :mode="mode">
<LabeledSelect
v-model="value.bus"
v-model:value="value.bus"
:label="t('harvester.virtualMachine.volume.bus')"
:mode="mode"
:options="InterfaceOption"
required
@input="update"
@update:value="update"
/>
</InputOrDisplay>
</div>
@@ -446,7 +446,7 @@ export default {
>
<RadioGroup
v-if="isCreate"
v-model="isSingle"
v-model:value="isSingle"
class="mb-20 vm-radio-group"
name="createInstanceMode"
:options="[true,false]"
@@ -454,7 +454,7 @@ export default {
/>
<NameNsDescription
v-model="value"
v-model:value="value"
:mode="mode"
:has-extra="!isSingle"
:name-label="nameLabel"
@@ -471,14 +471,14 @@ export default {
type="number"
:label="t('harvester.virtualMachine.instance.multiple.count')"
required
@input="validateCount"
@update:value="validateCount"
/>
</template>
</NameNsDescription>
<Checkbox
v-if="isCreate"
v-model="useTemplate"
v-model:value="useTemplate"
class="check mb-20"
type="checkbox"
label-key="harvester.virtualMachine.useTemplate.label"
@@ -490,16 +490,16 @@ export default {
>
<div class="col span-6">
<LabeledSelect
v-model="templateId"
v-model:value="templateId"
label-key="harvester.virtualMachine.useTemplate.template.label"
:options="templateOptions"
@input="updateTemplateId"
@update:value="updateTemplateId"
/>
</div>
<div class="col span-6">
<LabeledSelect
v-model="templateVersionId"
v-model:value="templateVersionId"
label-key="harvester.virtualMachine.useTemplate.version.label"
:options="versionOptions"
/>
@@ -522,7 +522,7 @@ export default {
/>
<SSHKey
v-model="sshKey"
v-model:value="sshKey"
class="mb-20"
:create-namespace="true"
:namespace="value.metadata.namespace"
@@ -539,7 +539,7 @@ export default {
:weight="-1"
>
<Volume
v-model="diskRows"
v-model:value="diskRows"
:mode="mode"
:custom-volume-mode="customVolumeMode"
:namespace="value.metadata.namespace"
@@ -555,7 +555,7 @@ export default {
:weight="-2"
>
<Network
v-model="networkRows"
v-model:value="networkRows"
:mode="mode"
:is-single="isSingle"
/>
@@ -568,7 +568,6 @@ export default {
>
<template #default="{active}">
<NodeScheduling
:key="active"
:mode="mode"
:value="spec.template.spec"
:nodes="nodesIdOptions"
@@ -583,7 +582,6 @@ export default {
>
<template #default="{active}">
<PodAffinity
:key="active"
:mode="mode"
:value="spec.template.spec"
:nodes="nodes"
@@ -627,7 +625,7 @@ export default {
:weight="-7"
>
<AccessCredentials
v-model="accessCredentials"
v-model:value="accessCredentials"
:mode="mode"
:resource="value"
:is-qemu-installed="isQemuInstalled"
@@ -642,7 +640,7 @@ export default {
<div class="row mb-20">
<div class="col span-6">
<LabeledSelect
v-model="runStrategy"
v-model:value="runStrategy"
label-key="harvester.virtualMachine.runStrategy"
:options="RunStrategys"
:mode="mode"
@@ -651,7 +649,7 @@ export default {
<div class="col span-6">
<LabeledSelect
v-model="osType"
v-model:value="osType"
label-key="harvester.virtualMachine.osType"
:options="OS"
:disabled="!isCreate"
@@ -681,7 +679,7 @@ export default {
<div class="row mb-20">
<div class="col span-6">
<LabeledInput
v-model="hostname"
v-model:value="hostname"
:label-key="hostnameLabel"
:placeholder="hostPlaceholder"
:mode="mode"
@@ -690,7 +688,7 @@ export default {
<div class="col span-6">
<LabeledSelect
v-model="machineType"
v-model:value="machineType"
label-key="harvester.virtualMachine.input.MachineType"
:options="machineTypeOptions"
:mode="mode"
@@ -708,12 +706,12 @@ export default {
</div>
<div class="col span-6">
<UnitInput
v-model="terminationGracePeriodSeconds"
v-model:value="terminationGracePeriodSeconds"
:suffix="terminationGracePeriodSeconds == 1 ? 'Second' : 'Seconds'"
:label="t('harvester.virtualMachine.terminationGracePeriodSeconds.label')"
:mode="mode"
positive
@input="updateTerminationGracePeriodSeconds"
@update:value="updateTerminationGracePeriodSeconds"
/>
</div>
</div>
@@ -732,7 +730,7 @@ export default {
/>
<Checkbox
v-model="installUSBTablet"
v-model:value="installUSBTablet"
class="check mt-20"
type="checkbox"
tooltip-key="harvester.virtualMachine.usbTip"
@@ -741,17 +739,17 @@ export default {
/>
<Checkbox
v-model="installAgent"
v-model:value="installAgent"
class="check"
type="checkbox"
:disabled="isWindows"
label-key="harvester.virtualMachine.installAgent"
:mode="mode"
@input="updateAgent"
@update:value="updateAgent"
/>
<Checkbox
v-model="tpmEnabled"
v-model:value="tpmEnabled"
class="check"
type="checkbox"
label-key="harvester.virtualMachine.advancedOptions.tpm"
@@ -759,7 +757,7 @@ export default {
/>
<Checkbox
v-model="efiEnabled"
v-model:value="efiEnabled"
class="check"
type="checkbox"
:label="t('harvester.virtualMachine.efiEnabled')"
@@ -768,7 +766,7 @@ export default {
<Checkbox
v-if="efiEnabled"
v-model="secureBoot"
v-model:value="secureBoot"
class="check"
type="checkbox"
:label="t('harvester.virtualMachine.secureBoot')"
@@ -799,7 +797,7 @@ export default {
:mode="mode"
:read-allowed="false"
:value-can-be-empty="true"
@input="value.setInstanceLabels($event)"
@update:value="value.setInstanceLabels($event)"
/>
</template>
</Labels>
@@ -815,7 +813,7 @@ export default {
<style lang="scss" scoped>
#vm {
::v-deep .vm-radio-group .radio-group {
:deep() .vm-radio-group .radio-group {
display: flex;
.radio-container {
margin-right: 30px;
@@ -120,15 +120,13 @@ export default {
/>
</div>
<div
v-for="(row, idx) in rows"
:key="idx"
>
v-for="(row, idx) in rows" :key="idx">
<PriorityRow
:row="row"
:mode="mode"
:rows="rows"
:idx="idx"
@input="queueUpdate"
@update:value="queueUpdate"
@remove="remove(idx)"
/>
</div>
@@ -187,9 +187,9 @@ export default {
</span>
<Select
v-else
v-model="row.project"
v-model:value="row.project"
:options="projectOptions"
@input="update"
@update:value="update"
/>
</div>
<div class="pool-namespace">
@@ -198,9 +198,9 @@ export default {
</span>
<Select
v-else
v-model="row.namespace"
v-model:value="row.namespace"
:options="namespaceOptions"
@input="update"
@update:value="update"
/>
</div>
<div
@@ -212,9 +212,9 @@ export default {
</span>
<Select
v-else
v-model="row.guestCluster"
v-model:value="row.guestCluster"
:options="guestClusterOptions"
@input="update"
@update:value="update"
/>
</div>
<div v-if="showRemove" class="remove">
@@ -101,9 +101,7 @@ export default {
<div>
<div v-if="rows.length">
<div
v-for="(row, idx) in rows"
:key="idx"
>
v-for="(row, idx) in rows" :key="idx">
<div
class="pool-headers"
:class="{
@@ -150,7 +148,7 @@ export default {
</span>
<input
v-else
v-model="row.subnet"
v-model:value="row.subnet"
type="text"
@input="queueUpdate"
/>
@@ -163,7 +161,7 @@ export default {
</span>
<input
v-else
v-model="row.gateway"
v-model:value="row.gateway"
type="text"
@input="queueUpdate"
/>
@@ -177,7 +175,7 @@ export default {
</span>
<input
v-else
v-model="row.rangeStart"
v-model:value="row.rangeStart"
type="text"
@input="queueUpdate"
/>
@@ -191,7 +189,7 @@ export default {
</span>
<input
v-else
v-model="row.rangeEnd"
v-model:value="row.rangeEnd"
type="text"
@input="queueUpdate"
/>
@@ -73,11 +73,11 @@ export default {
<div class="row mb-20">
<div class="col span-6">
<LabeledSelect
v-model="selector.network"
v-model:value="selector.network"
:label="t('harvester.ipPool.network.label')"
:options="networkOptions"
:mode="mode"
@input="queueUpdate"
@update:value="queueUpdate"
/>
</div>
<div class="col span-6">
@@ -87,15 +87,15 @@ export default {
:mode="mode"
type="number"
min="0"
@input="update"
@update:value="update"
/>
</div>
</div>
<Priority
v-model="selector.scope"
v-model:value="selector.scope"
class="col span-12"
:mode="mode"
@input="update"
@update:value="update"
/>
</div>
</template>
@@ -98,7 +98,7 @@ export default {
class="bordered-table"
>
<Range
v-model="value.spec.ranges"
v-model:value="value.spec.ranges"
class="col span-12"
:mode="mode"
/>
@@ -110,7 +110,7 @@ export default {
class="bordered-table"
>
<Selector
v-model="value.spec.selector"
v-model:value="value.spec.selector"
:mode="mode"
/>
</Tab>
@@ -57,7 +57,7 @@ export default {
<div class="row">
<div class="col span-6">
<RadioGroup
v-model="healthCheckEnabled"
v-model:value="healthCheckEnabled"
:mode="mode"
name="healthCheckEnabled"
:labels="[t('generic.disabled'),t('generic.enabled')]"
@@ -71,7 +71,7 @@ export default {
<div class="row mt-10">
<div v-if="healthCheckEnabled" class="col span-6">
<LabeledSelect
v-model="value.port"
v-model:value="value.port"
:mode="mode"
:options="portOptions"
required
@@ -127,9 +127,7 @@ export default {
/>
</div>
<div
v-for="(row, idx) in rows"
:key="idx"
class="listener-row"
v-for="(row, idx) in rows" :key="idx"class="listener-row"
>
<div class="port-name">
<span v-if="isView">
@@ -150,7 +148,7 @@ export default {
</span>
<Select
v-else
v-model="row.protocol"
v-model:value="row.protocol"
:options="protocolOptions"
@input="queueUpdate"
/>
@@ -254,7 +254,7 @@ export default {
<div class="row">
<div class="col span-6">
<LabeledSelect
v-model="value.spec.ipam"
v-model:value="value.spec.ipam"
:label="t('harvester.loadBalancer.ipam.label')"
:options="ipamOption"
:mode="mode"
@@ -265,11 +265,11 @@ export default {
class="col span-6"
>
<LabeledSelect
v-model="value.spec.ipPool"
v-model:value="value.spec.ipPool"
:label="t('harvester.loadBalancer.ipPool.label')"
:options="ipPoolOptions"
:mode="mode"
@input="update"
@update:value="update"
/>
</div>
</div>
@@ -288,7 +288,7 @@ export default {
<span v-clean-html="healthCheckPortInUseWarning" />
</Banner>
<Listeners
v-model="value.spec.listeners"
v-model:value="value.spec.listeners"
class="col span-12"
:mode="mode"
/>
@@ -308,7 +308,7 @@ export default {
</div>
</div>
<KeyValue
v-model="backendServerSelector"
v-model:value="backendServerSelector"
:mode="mode"
:read-allowed="false"
:initial-empty-row="true"
@@ -322,7 +322,7 @@ export default {
class="bordered-table"
>
<HealthCheck
v-model="value.spec.healthCheck"
v-model:value="value.spec.healthCheck"
:mode="mode"
:model="value"
@enabled="healthCheckEnabled"
@@ -378,7 +378,7 @@ export default {
height: 100%;
}
.port-protocol ::v-deep {
.port-protocol :deep() {
.unlabeled-select {
.v-select.inline {
margin-top: 2px;
@@ -213,7 +213,7 @@ export default {
@cancel="done"
>
<NameNsDescription
v-model="value"
v-model:value="value"
:name-editable="true"
:mode="mode"
:namespaced="false"
@@ -227,7 +227,7 @@ export default {
<div class="col span-3">
<LabeledSelect
v-if="pspOptions"
v-model="value.spec.podSecurityPolicyTemplateId"
v-model:value="value.spec.podSecurityPolicyTemplateId"
class="psp"
:mode="mode"
:options="pspOptions"
@@ -261,7 +261,7 @@ export default {
:weight="9"
>
<ResourceQuota
v-model="value"
v-model:value="value"
:mode="canEditTabElements"
:types="isStandaloneHarvester ? HARVESTER_TYPES : RANCHER_TYPES"
@remove="removeQuota"
@@ -273,7 +273,7 @@ export default {
:weight="8"
>
<ContainerResourceLimit
v-model="value.spec.containerDefaultResourceLimit"
v-model:value="value.spec.containerDefaultResourceLimit"
:mode="canEditTabElements"
:show-tip="false"
:register-before-hook="registerBeforeHook"
@@ -70,7 +70,7 @@ export default {
:namespaced="false"
/>
<ResourceTabs
v-model="value"
v-model:value="value"
:mode="mode"
:side-tabs="true"
>
@@ -134,37 +134,37 @@ export default {
<div>
<div class="row">
<RadioGroup
v-model="selectNode"
v-model:value="selectNode"
name="selectNode"
:options="selectNodeOptions"
:mode="mode"
@input="update"
@update:value="update"
/>
</div>
<template v-if="selectNode === 'nodeSelector'">
<div class="row mb-10">
<div class="col span-6">
<LabeledSelect
v-model="nodeName"
v-model:value="nodeName"
:label="t('workload.scheduling.affinity.nodeName')"
:options="nodes || []"
:mode="mode"
:multiple="false"
@input="update"
@update:value="update"
/>
</div>
</div>
</template>
<template v-else-if="selectNode === 'custom'">
<KeyValue
v-model="nodeSelector"
v-model:value="nodeSelector"
:key-label="t('generic.key')"
:mode="mode"
:add-label="t('workload.scheduling.affinity.addNodeSelector')"
:read-allowed="false"
:value-label="t('generic.value')"
:initial-empty-row="true"
@input="update"
@update:value="update"
/>
</template>
</div>
@@ -434,13 +434,11 @@ export default {
<div class="row mt-20">
<div class="col span-12">
<Banner
v-for="(err, i) in nicErrors"
:key="i"
color="warning"
v-for="(err, i) in nicErrors" :key="i"color="warning"
:label="err"
/>
<ArrayListSelect
v-model="value.spec.uplink.nics"
v-model:value="value.spec.uplink.nics"
:mode="mode"
:options="nicOptions"
:array-list-props="{
@@ -463,7 +461,7 @@ export default {
<div class="row">
<div class="col span-6">
<LabeledSelect
v-model="bondOptionMode"
v-model:value="bondOptionMode"
:label="t('harvester.vlanConfig.uplink.bondOptions.mode.label')"
:mode="mode"
:options="bondOptions"