mirror of
https://github.com/harvester/harvester-ui-extension.git
synced 2026-10-01 03:36:04 +08:00
Vue3 migration - vue-migration.js launch + shell compatibility fixes
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
-2
@@ -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"
|
||||
|
||||
+3
-3
@@ -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')"
|
||||
|
||||
+2
-2
@@ -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"
|
||||
|
||||
+3
-3
@@ -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"
|
||||
|
||||
+3
-5
@@ -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"
|
||||
|
||||
+8
-8
@@ -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>
|
||||
|
||||
+12
-12
@@ -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>
|
||||
|
||||
+10
-10
@@ -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>
|
||||
|
||||
+10
-10
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user