mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
config: fix translation key usage for API actions and elsewhere (#407)
- Adds API messages - Fixes English strings to use keys - Fixes/adds missing keys to en.json - Fixes locale load/store issue across logout/login FIxes #410 Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com> Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
parent
1edfce8786
commit
a9bc272403
@ -27,9 +27,9 @@
|
|||||||
<a-spin :spinning="loading">
|
<a-spin :spinning="loading">
|
||||||
<a-list style="min-width: 200px; max-width: 300px">
|
<a-list style="min-width: 200px; max-width: 300px">
|
||||||
<a-list-item>
|
<a-list-item>
|
||||||
<a-list-item-meta title="Notifications">
|
<a-list-item-meta :title="$t('label.notifications')">
|
||||||
<a-avatar :style="{backgroundColor: '#6887d0', verticalAlign: 'middle'}" icon="notification" slot="avatar"/>
|
<a-avatar :style="{backgroundColor: '#6887d0', verticalAlign: 'middle'}" icon="notification" slot="avatar"/>
|
||||||
<a-button size="small" slot="description" @click="clearJobs">Clear All</a-button>
|
<a-button size="small" slot="description" @click="clearJobs">{{ $t('label.clear.list') }}</a-button>
|
||||||
</a-list-item-meta>
|
</a-list-item-meta>
|
||||||
</a-list-item>
|
</a-list-item>
|
||||||
<a-list-item v-for="(job, index) in jobs" :key="index">
|
<a-list-item v-for="(job, index) in jobs" :key="index">
|
||||||
|
|||||||
@ -93,6 +93,10 @@ export default {
|
|||||||
hi
|
hi
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
mounted () {
|
||||||
|
this.language = Vue.ls.get('LOCALE') || 'en'
|
||||||
|
this.setLocale(this.language)
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
moment,
|
moment,
|
||||||
onClick (e) {
|
onClick (e) {
|
||||||
@ -107,7 +111,7 @@ export default {
|
|||||||
this.$i18n.locale = localeValue
|
this.$i18n.locale = localeValue
|
||||||
this.language = localeValue
|
this.language = localeValue
|
||||||
moment.locale(localeValue)
|
moment.locale(localeValue)
|
||||||
Vue.ls.set('current_locale', localeValue)
|
Vue.ls.set('LOCALE', localeValue)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,20 +29,20 @@
|
|||||||
<a-menu-item class="user-menu-item" key="0">
|
<a-menu-item class="user-menu-item" key="0">
|
||||||
<router-link :to="{ path: '/accountuser/' + $store.getters.userInfo.id }">
|
<router-link :to="{ path: '/accountuser/' + $store.getters.userInfo.id }">
|
||||||
<a-icon class="user-menu-item-icon" type="user"/>
|
<a-icon class="user-menu-item-icon" type="user"/>
|
||||||
<span class="user-menu-item-name">Profile</span>
|
<span class="user-menu-item-name">{{ $t('label.profilename') }}</span>
|
||||||
</router-link>
|
</router-link>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item class="user-menu-item" key="1" disabled>
|
<a-menu-item class="user-menu-item" key="1" disabled>
|
||||||
<a :href="docBase" target="_blank">
|
<a :href="docBase" target="_blank">
|
||||||
<a-icon class="user-menu-item-icon" type="question-circle-o"></a-icon>
|
<a-icon class="user-menu-item-icon" type="question-circle-o"></a-icon>
|
||||||
<span class="user-menu-item-name">Help</span>
|
<span class="user-menu-item-name">{{ $t('label.help') }}</span>
|
||||||
</a>
|
</a>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-divider/>
|
<a-menu-divider/>
|
||||||
<a-menu-item class="user-menu-item" key="2">
|
<a-menu-item class="user-menu-item" key="2">
|
||||||
<a href="javascript:;" @click="handleLogout">
|
<a href="javascript:;" @click="handleLogout">
|
||||||
<a-icon class="user-menu-item-icon" type="logout"/>
|
<a-icon class="user-menu-item-icon" type="logout"/>
|
||||||
<span class="user-menu-item-name">Logout</span>
|
<span class="user-menu-item-name">{{ $t('label.logout') }}</span>
|
||||||
</a>
|
</a>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
</a-menu>
|
</a-menu>
|
||||||
|
|||||||
@ -169,12 +169,12 @@ export default {
|
|||||||
}).then(response => {
|
}).then(response => {
|
||||||
this.$pollJob({
|
this.$pollJob({
|
||||||
jobId: response.releasededicatedzoneresponse.jobid,
|
jobId: response.releasededicatedzoneresponse.jobid,
|
||||||
successMessage: `Successfully released dedicated zone`,
|
successMessage: this.$t('message.dedicated.zone.released'),
|
||||||
successMethod: () => {
|
successMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
this.dedicatedDomainId = null
|
this.dedicatedDomainId = null
|
||||||
this.$store.dispatch('AddAsyncJob', {
|
this.$store.dispatch('AddAsyncJob', {
|
||||||
title: 'Successfully released dedicated zone',
|
title: this.$t('message.dedicated.zone.released'),
|
||||||
jobid: response.releasededicatedzoneresponse.jobid,
|
jobid: response.releasededicatedzoneresponse.jobid,
|
||||||
status: 'progress'
|
status: 'progress'
|
||||||
})
|
})
|
||||||
@ -183,7 +183,7 @@ export default {
|
|||||||
errorMethod: () => {
|
errorMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
},
|
},
|
||||||
loadingMessage: `Releasing dedicated zone...`,
|
loadingMessage: this.$t('message.releasing.dedicated.zone'),
|
||||||
catchMessage: 'Error encountered while fetching async job result',
|
catchMessage: 'Error encountered while fetching async job result',
|
||||||
catchMethod: () => {
|
catchMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
@ -199,12 +199,12 @@ export default {
|
|||||||
}).then(response => {
|
}).then(response => {
|
||||||
this.$pollJob({
|
this.$pollJob({
|
||||||
jobId: response.releasededicatedpodresponse.jobid,
|
jobId: response.releasededicatedpodresponse.jobid,
|
||||||
successMessage: `Successfully released dedicated pod`,
|
successMessage: this.$t('message.pod.dedication.released'),
|
||||||
successMethod: () => {
|
successMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
this.dedicatedDomainId = null
|
this.dedicatedDomainId = null
|
||||||
this.$store.dispatch('AddAsyncJob', {
|
this.$store.dispatch('AddAsyncJob', {
|
||||||
title: 'Successfully released dedicated pod',
|
title: this.$t('message.pod.dedication.released'),
|
||||||
jobid: response.releasededicatedpodresponse.jobid,
|
jobid: response.releasededicatedpodresponse.jobid,
|
||||||
status: 'progress'
|
status: 'progress'
|
||||||
})
|
})
|
||||||
@ -213,7 +213,7 @@ export default {
|
|||||||
errorMethod: () => {
|
errorMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
},
|
},
|
||||||
loadingMessage: `Releasing dedicated pod...`,
|
loadingMessage: this.$t('message.releasing.dedicated.pod'),
|
||||||
catchMessage: 'Error encountered while fetching async job result',
|
catchMessage: 'Error encountered while fetching async job result',
|
||||||
catchMethod: () => {
|
catchMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
@ -229,12 +229,12 @@ export default {
|
|||||||
}).then(response => {
|
}).then(response => {
|
||||||
this.$pollJob({
|
this.$pollJob({
|
||||||
jobId: response.releasededicatedclusterresponse.jobid,
|
jobId: response.releasededicatedclusterresponse.jobid,
|
||||||
successMessage: `Successfully released dedicated cluster`,
|
successMessage: this.$t('message.cluster.dedication.released'),
|
||||||
successMethod: () => {
|
successMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
this.dedicatedDomainId = null
|
this.dedicatedDomainId = null
|
||||||
this.$store.dispatch('AddAsyncJob', {
|
this.$store.dispatch('AddAsyncJob', {
|
||||||
title: 'Successfully released dedicated cluster',
|
title: this.$t('message.cluster.dedication.released'),
|
||||||
jobid: response.releasededicatedclusterresponse.jobid,
|
jobid: response.releasededicatedclusterresponse.jobid,
|
||||||
status: 'progress'
|
status: 'progress'
|
||||||
})
|
})
|
||||||
@ -243,7 +243,7 @@ export default {
|
|||||||
errorMethod: () => {
|
errorMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
},
|
},
|
||||||
loadingMessage: `Releasing dedicated cluster...`,
|
loadingMessage: this.$t('message.releasing.dedicated.cluster'),
|
||||||
catchMessage: 'Error encountered while fetching async job result',
|
catchMessage: 'Error encountered while fetching async job result',
|
||||||
catchMethod: () => {
|
catchMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
@ -259,12 +259,12 @@ export default {
|
|||||||
}).then(response => {
|
}).then(response => {
|
||||||
this.$pollJob({
|
this.$pollJob({
|
||||||
jobId: response.releasededicatedhostresponse.jobid,
|
jobId: response.releasededicatedhostresponse.jobid,
|
||||||
successMessage: `Successfully released dedicated host`,
|
successMessage: this.$t('message.host.dedication.released'),
|
||||||
successMethod: () => {
|
successMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
this.dedicatedDomainId = null
|
this.dedicatedDomainId = null
|
||||||
this.$store.dispatch('AddAsyncJob', {
|
this.$store.dispatch('AddAsyncJob', {
|
||||||
title: 'Successfully released dedicated host',
|
title: this.$t('message.host.dedication.released'),
|
||||||
jobid: response.releasededicatedhostresponse.jobid,
|
jobid: response.releasededicatedhostresponse.jobid,
|
||||||
status: 'progress'
|
status: 'progress'
|
||||||
})
|
})
|
||||||
@ -273,7 +273,7 @@ export default {
|
|||||||
errorMethod: () => {
|
errorMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
},
|
},
|
||||||
loadingMessage: `Releasing dedicated host...`,
|
loadingMessage: this.$t('message.releasing.dedicated.host'),
|
||||||
catchMessage: 'Error encountered while fetching async job result',
|
catchMessage: 'Error encountered while fetching async job result',
|
||||||
catchMethod: () => {
|
catchMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
|
|||||||
@ -90,14 +90,14 @@ export default {
|
|||||||
}).then(response => {
|
}).then(response => {
|
||||||
this.$pollJob({
|
this.$pollJob({
|
||||||
jobId: response.dedicatezoneresponse.jobid,
|
jobId: response.dedicatezoneresponse.jobid,
|
||||||
successMessage: `Successfully dedicated zone`,
|
successMessage: this.$t('label.zone.dedicated'),
|
||||||
successMethod: () => {
|
successMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
this.fetchParentData()
|
this.fetchParentData()
|
||||||
this.dedicatedDomainId = this.domainId
|
this.dedicatedDomainId = this.domainId
|
||||||
this.dedicatedDomainModal = false
|
this.dedicatedDomainModal = false
|
||||||
this.$store.dispatch('AddAsyncJob', {
|
this.$store.dispatch('AddAsyncJob', {
|
||||||
title: 'Successfully dedicated zone',
|
title: this.$t('label.zone.dedicated'),
|
||||||
jobid: response.dedicatezoneresponse.jobid,
|
jobid: response.dedicatezoneresponse.jobid,
|
||||||
description: `Domain ID: ${this.dedicatedDomainId}`,
|
description: `Domain ID: ${this.dedicatedDomainId}`,
|
||||||
status: 'progress'
|
status: 'progress'
|
||||||
@ -109,7 +109,7 @@ export default {
|
|||||||
this.fetchParentData()
|
this.fetchParentData()
|
||||||
this.dedicatedDomainModal = false
|
this.dedicatedDomainModal = false
|
||||||
},
|
},
|
||||||
loadingMessage: `Dedicating zone...`,
|
loadingMessage: this.$t('message.dedicating.zone'),
|
||||||
catchMessage: 'Error encountered while fetching async job result',
|
catchMessage: 'Error encountered while fetching async job result',
|
||||||
catchMethod: () => {
|
catchMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
@ -134,14 +134,14 @@ export default {
|
|||||||
}).then(response => {
|
}).then(response => {
|
||||||
this.$pollJob({
|
this.$pollJob({
|
||||||
jobId: response.dedicatepodresponse.jobid,
|
jobId: response.dedicatepodresponse.jobid,
|
||||||
successMessage: `Successfully dedicated pod`,
|
successMessage: this.$t('label.pod.dedicated'),
|
||||||
successMethod: () => {
|
successMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
this.fetchParentData()
|
this.fetchParentData()
|
||||||
this.dedicatedDomainId = this.domainId
|
this.dedicatedDomainId = this.domainId
|
||||||
this.dedicatedDomainModal = false
|
this.dedicatedDomainModal = false
|
||||||
this.$store.dispatch('AddAsyncJob', {
|
this.$store.dispatch('AddAsyncJob', {
|
||||||
title: 'Successfully dedicated pod',
|
title: this.$t('label.pod.dedicated'),
|
||||||
jobid: response.dedicatepodresponse.jobid,
|
jobid: response.dedicatepodresponse.jobid,
|
||||||
description: `Domain ID: ${this.dedicatedDomainId}`,
|
description: `Domain ID: ${this.dedicatedDomainId}`,
|
||||||
status: 'progress'
|
status: 'progress'
|
||||||
@ -153,7 +153,7 @@ export default {
|
|||||||
this.fetchParentData()
|
this.fetchParentData()
|
||||||
this.dedicatedDomainModal = false
|
this.dedicatedDomainModal = false
|
||||||
},
|
},
|
||||||
loadingMessage: `Dedicating pod...`,
|
loadingMessage: this.$t('message.dedicating.pod'),
|
||||||
catchMessage: 'Error encountered while fetching async job result',
|
catchMessage: 'Error encountered while fetching async job result',
|
||||||
catchMethod: () => {
|
catchMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
@ -178,14 +178,14 @@ export default {
|
|||||||
}).then(response => {
|
}).then(response => {
|
||||||
this.$pollJob({
|
this.$pollJob({
|
||||||
jobId: response.dedicateclusterresponse.jobid,
|
jobId: response.dedicateclusterresponse.jobid,
|
||||||
successMessage: `Successfully dedicated cluster`,
|
successMessage: this.$t('message.cluster.dedicated'),
|
||||||
successMethod: () => {
|
successMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
this.fetchParentData()
|
this.fetchParentData()
|
||||||
this.dedicatedDomainId = this.domainId
|
this.dedicatedDomainId = this.domainId
|
||||||
this.dedicatedDomainModal = false
|
this.dedicatedDomainModal = false
|
||||||
this.$store.dispatch('AddAsyncJob', {
|
this.$store.dispatch('AddAsyncJob', {
|
||||||
title: 'Successfully dedicated cluster',
|
title: this.$t('message.cluster.dedicated'),
|
||||||
jobid: response.dedicateclusterresponse.jobid,
|
jobid: response.dedicateclusterresponse.jobid,
|
||||||
description: `Domain ID: ${this.dedicatedDomainId}`,
|
description: `Domain ID: ${this.dedicatedDomainId}`,
|
||||||
status: 'progress'
|
status: 'progress'
|
||||||
@ -197,7 +197,7 @@ export default {
|
|||||||
this.fetchParentData()
|
this.fetchParentData()
|
||||||
this.dedicatedDomainModal = false
|
this.dedicatedDomainModal = false
|
||||||
},
|
},
|
||||||
loadingMessage: `Dedicating cluster...`,
|
loadingMessage: this.$t('message.dedicating.cluster'),
|
||||||
catchMessage: 'Error encountered while fetching async job result',
|
catchMessage: 'Error encountered while fetching async job result',
|
||||||
catchMethod: () => {
|
catchMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
@ -222,14 +222,14 @@ export default {
|
|||||||
}).then(response => {
|
}).then(response => {
|
||||||
this.$pollJob({
|
this.$pollJob({
|
||||||
jobId: response.dedicatehostresponse.jobid,
|
jobId: response.dedicatehostresponse.jobid,
|
||||||
successMessage: `Successfully dedicated host`,
|
successMessage: this.$t('message.host.dedicated'),
|
||||||
successMethod: () => {
|
successMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
this.fetchParentData()
|
this.fetchParentData()
|
||||||
this.dedicatedDomainId = this.domainId
|
this.dedicatedDomainId = this.domainId
|
||||||
this.dedicatedDomainModal = false
|
this.dedicatedDomainModal = false
|
||||||
this.$store.dispatch('AddAsyncJob', {
|
this.$store.dispatch('AddAsyncJob', {
|
||||||
title: 'Successfully dedicated host',
|
title: this.$t('message.host.dedicated'),
|
||||||
jobid: response.dedicatehostresponse.jobid,
|
jobid: response.dedicatehostresponse.jobid,
|
||||||
description: `Domain ID: ${this.dedicatedDomainId}`,
|
description: `Domain ID: ${this.dedicatedDomainId}`,
|
||||||
status: 'progress'
|
status: 'progress'
|
||||||
@ -241,7 +241,7 @@ export default {
|
|||||||
this.fetchParentData()
|
this.fetchParentData()
|
||||||
this.dedicatedDomainModal = false
|
this.dedicatedDomainModal = false
|
||||||
},
|
},
|
||||||
loadingMessage: `Dedicating host...`,
|
loadingMessage: this.$t('message.dedicating.host'),
|
||||||
catchMessage: 'Error encountered while fetching async job result',
|
catchMessage: 'Error encountered while fetching async job result',
|
||||||
catchMethod: () => {
|
catchMethod: () => {
|
||||||
this.parentFetchData()
|
this.parentFetchData()
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<a-alert
|
<a-alert
|
||||||
v-if="disableSettings"
|
v-if="disableSettings"
|
||||||
banner
|
banner
|
||||||
message="Please stop the virtual machine to access settings" />
|
:message="$t('message.action.settings.warning.vm.running')" />
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<div v-show="!showAddDetail">
|
<div v-show="!showAddDetail">
|
||||||
<a-button type="dashed" style="width: 100%" icon="plus" @click="showAddDetail = true">{{ $t('label.add.setting') }}</a-button>
|
<a-button type="dashed" style="width: 100%" icon="plus" @click="showAddDetail = true">{{ $t('label.add.setting') }}</a-button>
|
||||||
@ -31,14 +31,14 @@
|
|||||||
:filterOption="filterOption"
|
:filterOption="filterOption"
|
||||||
:value="newKey"
|
:value="newKey"
|
||||||
:dataSource="Object.keys(detailOptions)"
|
:dataSource="Object.keys(detailOptions)"
|
||||||
placeholder="Name"
|
:placeholder="$t('label.name')"
|
||||||
@change="e => onAddInputChange(e, 'newKey')" />
|
@change="e => onAddInputChange(e, 'newKey')" />
|
||||||
<a-auto-complete
|
<a-auto-complete
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:filterOption="filterOption"
|
:filterOption="filterOption"
|
||||||
:value="newValue"
|
:value="newValue"
|
||||||
:dataSource="detailOptions[newKey]"
|
:dataSource="detailOptions[newKey]"
|
||||||
placeholder="Value"
|
:placeholder="$t('label.value')"
|
||||||
@change="e => onAddInputChange(e, 'newValue')" />
|
@change="e => onAddInputChange(e, 'newValue')" />
|
||||||
<a-button type="primary" style="width: 25%" icon="plus" @click="addDetail">{{ $t('label.add.setting') }}</a-button>
|
<a-button type="primary" style="width: 25%" icon="plus" @click="addDetail">{{ $t('label.add.setting') }}</a-button>
|
||||||
<a-button type="dashed" style="width: 25%" icon="close" @click="showAddDetail = false">{{ $t('label.cancel') }}</a-button>
|
<a-button type="dashed" style="width: 25%" icon="close" @click="showAddDetail = false">{{ $t('label.cancel') }}</a-button>
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
:dataSource="$route.meta.details">
|
:dataSource="$route.meta.details">
|
||||||
<a-list-item slot="renderItem" slot-scope="item" v-if="item in resource">
|
<a-list-item slot="renderItem" slot-scope="item" v-if="item in resource">
|
||||||
<div>
|
<div>
|
||||||
<strong>{{ item === 'service' ? $t('label.supportedservices') : $t('label.' + item) }}</strong>
|
<strong>{{ item === 'service' ? $t('label.supportedservices') : $t('label.' + String(item).toLowerCase()) }}</strong>
|
||||||
<br/>
|
<br/>
|
||||||
<div v-if="Array.isArray(resource[item]) && item === 'service'">
|
<div v-if="Array.isArray(resource[item]) && item === 'service'">
|
||||||
<div v-for="(service, idx) in resource[item]" :key="idx">
|
<div v-for="(service, idx) in resource[item]" :key="idx">
|
||||||
|
|||||||
@ -41,7 +41,7 @@
|
|||||||
<span v-if="field.type==='boolean'">
|
<span v-if="field.type==='boolean'">
|
||||||
<a-switch
|
<a-switch
|
||||||
v-decorator="[field.name, {
|
v-decorator="[field.name, {
|
||||||
rules: [{ required: field.required, message: 'Please provide input' }]
|
rules: [{ required: field.required, message: `${this.$t('message.error.required.input')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="field.description"
|
:placeholder="field.description"
|
||||||
/>
|
/>
|
||||||
@ -50,7 +50,7 @@
|
|||||||
<a-select
|
<a-select
|
||||||
:loading="field.loading"
|
:loading="field.loading"
|
||||||
v-decorator="[field.name, {
|
v-decorator="[field.name, {
|
||||||
rules: [{ required: field.required, message: 'Please select option' }]
|
rules: [{ required: field.required, message: `${this.$t('message.error.select')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="field.description"
|
:placeholder="field.description"
|
||||||
|
|
||||||
@ -63,7 +63,7 @@
|
|||||||
<span v-else-if="field.type==='long'">
|
<span v-else-if="field.type==='long'">
|
||||||
<a-input-number
|
<a-input-number
|
||||||
v-decorator="[field.name, {
|
v-decorator="[field.name, {
|
||||||
rules: [{ required: field.required, message: 'Please enter a number' }]
|
rules: [{ required: field.required, message: `${this.$t('message.validate.number')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="field.description"
|
:placeholder="field.description"
|
||||||
/>
|
/>
|
||||||
@ -71,15 +71,15 @@
|
|||||||
<span v-else-if="field.name==='password'">
|
<span v-else-if="field.name==='password'">
|
||||||
<a-input-password
|
<a-input-password
|
||||||
v-decorator="[field.name, {
|
v-decorator="[field.name, {
|
||||||
rules: [{ required: field.required, message: 'Please enter input' }]
|
rules: [{ required: field.required, message: `${this.$t('message.error.required.input')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="field.description"
|
:placeholder="field.description"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
<span v-else">
|
<span v-else>
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="[field.name, {
|
v-decorator="[field.name, {
|
||||||
rules: [{ required: field.required, message: 'Please enter input' }]
|
rules: [{ required: field.required, message: `${this.$t('message.error.required.input')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="field.description"
|
:placeholder="field.description"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -105,6 +105,7 @@
|
|||||||
icon="barcode"
|
icon="barcode"
|
||||||
type="dashed"
|
type="dashed"
|
||||||
size="small"
|
size="small"
|
||||||
|
@click="$message.success('Copied to clipboard')"
|
||||||
v-clipboard:copy="resource.id" />
|
v-clipboard:copy="resource.id" />
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
<span style="margin-left: 10px;">{{ resource.id }}</span>
|
<span style="margin-left: 10px;">{{ resource.id }}</span>
|
||||||
@ -498,13 +499,13 @@
|
|||||||
<template slot="title">
|
<template slot="title">
|
||||||
<span>Copy {{ $t('label.apikey') }}</span>
|
<span>Copy {{ $t('label.apikey') }}</span>
|
||||||
</template>
|
</template>
|
||||||
<a-button shape="circle" type="dashed" size="small" v-clipboard:copy="resource.apikey">
|
<a-button shape="circle" type="dashed" size="small" @click="$message.success('Copied to clipboard')" v-clipboard:copy="resource.apikey">
|
||||||
<a-icon type="copy"/>
|
<a-icon type="copy"/>
|
||||||
</a-button>
|
</a-button>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</strong>
|
</strong>
|
||||||
<div>
|
<div>
|
||||||
{{ resource.apikey }}
|
{{ resource.apikey.substring(0, 20) }}...
|
||||||
</div>
|
</div>
|
||||||
</div> <br/>
|
</div> <br/>
|
||||||
<div class="user-keys">
|
<div class="user-keys">
|
||||||
@ -515,13 +516,13 @@
|
|||||||
<template slot="title">
|
<template slot="title">
|
||||||
<span>Copy {{ $t('label.secretkey') }}</span>
|
<span>Copy {{ $t('label.secretkey') }}</span>
|
||||||
</template>
|
</template>
|
||||||
<a-button shape="circle" type="dashed" size="small" v-clipboard:copy="resource.secretkey">
|
<a-button shape="circle" type="dashed" size="small" @click="$message.success('Copied to clipboard')" v-clipboard:copy="resource.secretkey">
|
||||||
<a-icon type="copy"/>
|
<a-icon type="copy"/>
|
||||||
</a-button>
|
</a-button>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</strong>
|
</strong>
|
||||||
<div>
|
<div>
|
||||||
{{ resource.secretkey }}
|
{{ resource.secretkey.substring(0, 20) }}...
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -60,17 +60,21 @@
|
|||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<a slot="name" slot-scope="text, record" href="javascript:;">
|
<span slot="name" slot-scope="text, record">
|
||||||
<div style="min-width: 120px">
|
<div style="min-width: 120px">
|
||||||
<span v-if="$route.path.startsWith('/project')" style="margin-right: 5px">
|
<span v-if="$route.path.startsWith('/project')" style="margin-right: 5px">
|
||||||
<a-button type="dashed" size="small" shape="circle" icon="login" @click="changeProject(record)" />
|
<a-button type="dashed" size="small" shape="circle" icon="login" @click="changeProject(record)" />
|
||||||
</span>
|
</span>
|
||||||
<os-logo v-if="record.ostypename" :osName="record.ostypename" size="1x" style="margin-right: 5px" />
|
<os-logo v-if="record.ostypename" :osName="record.ostypename" size="1x" style="margin-right: 5px" />
|
||||||
<console :resource="record" size="small" style="margin-right: 5px" />
|
<console :resource="record" size="small" style="margin-right: 5px" />
|
||||||
<router-link :to="{ path: $route.path + '/' + record.id }" v-if="record.id">{{ text }}</router-link>
|
|
||||||
<router-link :to="{ path: $route.path + '/' + record.name }" v-else>{{ text }}</router-link>
|
<span v-if="$route.name === 'globalsetting'">{{ text }}</span>
|
||||||
|
<span v-else>
|
||||||
|
<router-link :to="{ path: $route.path + '/' + record.id }" v-if="record.id">{{ text }}</router-link>
|
||||||
|
<router-link :to="{ path: $route.path + '/' + record.name }" v-else>{{ text }}</router-link>
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</span>
|
||||||
<a slot="displayname" slot-scope="text, record" href="javascript:;">
|
<a slot="displayname" slot-scope="text, record" href="javascript:;">
|
||||||
<router-link :to="{ path: $route.path + '/' + record.id }">{{ text }}</router-link>
|
<router-link :to="{ path: $route.path + '/' + record.id }">{{ text }}</router-link>
|
||||||
</a>
|
</a>
|
||||||
@ -93,6 +97,12 @@
|
|||||||
<a slot="vmname" slot-scope="text, record" href="javascript:;">
|
<a slot="vmname" slot-scope="text, record" href="javascript:;">
|
||||||
<router-link :to="{ path: '/vm/' + record.virtualmachineid }">{{ text }}</router-link>
|
<router-link :to="{ path: '/vm/' + record.virtualmachineid }">{{ text }}</router-link>
|
||||||
</a>
|
</a>
|
||||||
|
<span slot="hypervisor" slot-scope="text, record">
|
||||||
|
<span v-if="$route.name === 'hypervisorcapability'">
|
||||||
|
<router-link :to="{ path: $route.path + '/' + record.id }">{{ text }}</router-link>
|
||||||
|
</span>
|
||||||
|
<span v-else>{{ text }}</span>
|
||||||
|
</span>
|
||||||
<template slot="state" slot-scope="text">
|
<template slot="state" slot-scope="text">
|
||||||
<status :text="text ? text : ''" displayText />
|
<status :text="text ? text : ''" displayText />
|
||||||
</template>
|
</template>
|
||||||
@ -286,8 +296,8 @@ export default {
|
|||||||
!json.updateconfigurationresponse.configuration.isdynamic &&
|
!json.updateconfigurationresponse.configuration.isdynamic &&
|
||||||
['Admin'].includes(this.$store.getters.userInfo.roletype)) {
|
['Admin'].includes(this.$store.getters.userInfo.roletype)) {
|
||||||
this.$notification.warning({
|
this.$notification.warning({
|
||||||
message: 'Status',
|
message: this.$t('label.status'),
|
||||||
description: 'Please restart your management server(s) for your new settings to take effect.'
|
description: this.$t('message.restart.mgmt.server')
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
|
|||||||
@ -131,7 +131,7 @@ export default {
|
|||||||
console.error(error)
|
console.error(error)
|
||||||
this.$message.error('There was an error saving this setting.')
|
this.$message.error('There was an error saving this setting.')
|
||||||
this.$notification.error({
|
this.$notification.error({
|
||||||
message: 'Error',
|
message: this.$t('label.error'),
|
||||||
description: 'There was an error saving this setting. Please try again later.'
|
description: 'There was an error saving this setting. Please try again later.'
|
||||||
})
|
})
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<a-card :bordered="false">
|
<a-card :bordered="false">
|
||||||
<a-input-search
|
<a-input-search
|
||||||
size="default"
|
size="default"
|
||||||
placeholder="Search"
|
:placeholder="$t('label.search')"
|
||||||
v-model="searchQuery"
|
v-model="searchQuery"
|
||||||
@search="onSearch"
|
@search="onSearch"
|
||||||
>
|
>
|
||||||
|
|||||||
@ -85,6 +85,7 @@ export default {
|
|||||||
api: 'updateResourceCount',
|
api: 'updateResourceCount',
|
||||||
icon: 'sync',
|
icon: 'sync',
|
||||||
label: 'label.action.update.resource.count',
|
label: 'label.action.update.resource.count',
|
||||||
|
message: 'message.update.resource.count',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['account', 'domainid'],
|
args: ['account', 'domainid'],
|
||||||
mapping: {
|
mapping: {
|
||||||
@ -100,6 +101,7 @@ export default {
|
|||||||
api: 'enableAccount',
|
api: 'enableAccount',
|
||||||
icon: 'play-circle',
|
icon: 'play-circle',
|
||||||
label: 'label.action.enable.account',
|
label: 'label.action.enable.account',
|
||||||
|
message: 'message.enable.account',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.state === 'disabled' || record.state === 'locked' },
|
show: (record) => { return record.state === 'disabled' || record.state === 'locked' },
|
||||||
params: { lock: 'false' }
|
params: { lock: 'false' }
|
||||||
@ -108,6 +110,7 @@ export default {
|
|||||||
api: 'disableAccount',
|
api: 'disableAccount',
|
||||||
icon: 'pause-circle',
|
icon: 'pause-circle',
|
||||||
label: 'label.action.disable.account',
|
label: 'label.action.disable.account',
|
||||||
|
message: 'message.disable.account',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.state === 'enabled' },
|
show: (record) => { return record.state === 'enabled' },
|
||||||
args: ['lock'],
|
args: ['lock'],
|
||||||
@ -121,6 +124,7 @@ export default {
|
|||||||
api: 'disableAccount',
|
api: 'disableAccount',
|
||||||
icon: 'lock',
|
icon: 'lock',
|
||||||
label: 'label.action.lock.account',
|
label: 'label.action.lock.account',
|
||||||
|
message: 'message.lock.account',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.state === 'enabled' },
|
show: (record) => { return record.state === 'enabled' },
|
||||||
args: ['lock'],
|
args: ['lock'],
|
||||||
@ -150,6 +154,7 @@ export default {
|
|||||||
api: 'deleteAccount',
|
api: 'deleteAccount',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.delete.account',
|
label: 'label.action.delete.account',
|
||||||
|
message: 'message.delete.account',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
hidden: (record) => { return record.name === 'admin' }
|
hidden: (record) => { return record.name === 'admin' }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -83,6 +83,7 @@ export default {
|
|||||||
api: 'startVirtualMachine',
|
api: 'startVirtualMachine',
|
||||||
icon: 'caret-right',
|
icon: 'caret-right',
|
||||||
label: 'label.action.start.instance',
|
label: 'label.action.start.instance',
|
||||||
|
message: 'message.action.start.instance',
|
||||||
docHelp: 'adminguide/virtual_machines.html#stopping-and-starting-vms',
|
docHelp: 'adminguide/virtual_machines.html#stopping-and-starting-vms',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
groupAction: true,
|
groupAction: true,
|
||||||
@ -113,6 +114,7 @@ export default {
|
|||||||
api: 'restoreVirtualMachine',
|
api: 'restoreVirtualMachine',
|
||||||
icon: 'sync',
|
icon: 'sync',
|
||||||
label: 'label.reinstall.vm',
|
label: 'label.reinstall.vm',
|
||||||
|
message: 'message.reinstall.vm',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['virtualmachineid', 'templateid'],
|
args: ['virtualmachineid', 'templateid'],
|
||||||
show: (record) => { return ['Running', 'Stopped'].includes(record.state) },
|
show: (record) => { return ['Running', 'Stopped'].includes(record.state) },
|
||||||
@ -142,6 +144,7 @@ export default {
|
|||||||
api: 'assignVirtualMachineToBackupOffering',
|
api: 'assignVirtualMachineToBackupOffering',
|
||||||
icon: 'folder-add',
|
icon: 'folder-add',
|
||||||
label: 'label.backup.offering.assign',
|
label: 'label.backup.offering.assign',
|
||||||
|
message: 'label.backup.offering.assign',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['virtualmachineid', 'backupofferingid'],
|
args: ['virtualmachineid', 'backupofferingid'],
|
||||||
show: (record) => { return !record.backupofferingid },
|
show: (record) => { return !record.backupofferingid },
|
||||||
@ -185,6 +188,7 @@ export default {
|
|||||||
api: 'removeVirtualMachineFromBackupOffering',
|
api: 'removeVirtualMachineFromBackupOffering',
|
||||||
icon: 'scissor',
|
icon: 'scissor',
|
||||||
label: 'label.backup.offering.remove',
|
label: 'label.backup.offering.remove',
|
||||||
|
message: 'label.backup.offering.remove',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['virtualmachineid', 'forced'],
|
args: ['virtualmachineid', 'forced'],
|
||||||
show: (record) => { return record.backupofferingid },
|
show: (record) => { return record.backupofferingid },
|
||||||
@ -214,6 +218,7 @@ export default {
|
|||||||
api: 'detachIso',
|
api: 'detachIso',
|
||||||
icon: 'link',
|
icon: 'link',
|
||||||
label: 'label.action.detach.iso',
|
label: 'label.action.detach.iso',
|
||||||
|
message: 'message.detach.iso.confirm',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['virtualmachineid'],
|
args: ['virtualmachineid'],
|
||||||
show: (record) => { return ['Running', 'Stopped'].includes(record.state) && 'isoid' in record && record.isoid },
|
show: (record) => { return ['Running', 'Stopped'].includes(record.state) && 'isoid' in record && record.isoid },
|
||||||
@ -267,6 +272,7 @@ export default {
|
|||||||
api: 'migrateVirtualMachine',
|
api: 'migrateVirtualMachine',
|
||||||
icon: 'drag',
|
icon: 'drag',
|
||||||
label: 'label.migrate.instance.to.ps',
|
label: 'label.migrate.instance.to.ps',
|
||||||
|
message: 'message.migrate.instance.to.ps',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record, store) => { return ['Stopped'].includes(record.state) && ['Admin'].includes(store.userInfo.roletype) },
|
show: (record, store) => { return ['Stopped'].includes(record.state) && ['Admin'].includes(store.userInfo.roletype) },
|
||||||
args: ['storageid', 'virtualmachineid'],
|
args: ['storageid', 'virtualmachineid'],
|
||||||
@ -283,6 +289,7 @@ export default {
|
|||||||
api: 'resetPasswordForVirtualMachine',
|
api: 'resetPasswordForVirtualMachine',
|
||||||
icon: 'key',
|
icon: 'key',
|
||||||
label: 'label.action.reset.password',
|
label: 'label.action.reset.password',
|
||||||
|
message: 'message.action.instance.reset.password',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return ['Running', 'Stopped'].includes(record.state) },
|
show: (record) => { return ['Running', 'Stopped'].includes(record.state) },
|
||||||
response: (result) => { return result.virtualmachine && result.virtualmachine.password ? `Password of the VM is ${result.virtualmachine.password}` : null }
|
response: (result) => { return result.virtualmachine && result.virtualmachine.password ? `Password of the VM is ${result.virtualmachine.password}` : null }
|
||||||
@ -319,6 +326,7 @@ export default {
|
|||||||
api: 'recoverVirtualMachine',
|
api: 'recoverVirtualMachine',
|
||||||
icon: 'medicine-box',
|
icon: 'medicine-box',
|
||||||
label: 'label.recover.vm',
|
label: 'label.recover.vm',
|
||||||
|
message: 'message.recover.vm',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record, store) => { return ['Destroyed'].includes(record.state) && store.features.allowuserexpungerecovervm }
|
show: (record, store) => { return ['Destroyed'].includes(record.state) && store.features.allowuserexpungerecovervm }
|
||||||
},
|
},
|
||||||
@ -334,6 +342,7 @@ export default {
|
|||||||
api: 'expungeVirtualMachine',
|
api: 'expungeVirtualMachine',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.expunge.instance',
|
label: 'label.action.expunge.instance',
|
||||||
|
message: 'message.action.expunge.instance',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record, store) => { return ['Destroyed', 'Expunging'].includes(record.state) && store.features.allowuserexpungerecovervm }
|
show: (record, store) => { return ['Destroyed', 'Expunging'].includes(record.state) && store.features.allowuserexpungerecovervm }
|
||||||
},
|
},
|
||||||
@ -341,6 +350,7 @@ export default {
|
|||||||
api: 'destroyVirtualMachine',
|
api: 'destroyVirtualMachine',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.destroy.instance',
|
label: 'label.action.destroy.instance',
|
||||||
|
message: 'message.action.destroy.instance',
|
||||||
args: ['expunge', 'volumeids'],
|
args: ['expunge', 'volumeids'],
|
||||||
mapping: {
|
mapping: {
|
||||||
volumeids: {
|
volumeids: {
|
||||||
@ -523,6 +533,7 @@ export default {
|
|||||||
api: 'deleteAffinityGroup',
|
api: 'deleteAffinityGroup',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.delete.affinity.group',
|
label: 'label.delete.affinity.group',
|
||||||
|
message: 'message.delete.affinity.group',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -26,8 +26,7 @@ export default {
|
|||||||
title: 'label.global.settings',
|
title: 'label.global.settings',
|
||||||
icon: 'setting',
|
icon: 'setting',
|
||||||
permission: ['listConfigurations'],
|
permission: ['listConfigurations'],
|
||||||
columns: ['name', 'description', 'category', 'value', 'actions'],
|
columns: ['name', 'description', 'category', 'value', 'actions']
|
||||||
details: ['name', 'category', 'description', 'value']
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'ldapsetting',
|
name: 'ldapsetting',
|
||||||
@ -50,6 +49,7 @@ export default {
|
|||||||
api: 'deleteLdapConfiguration',
|
api: 'deleteLdapConfiguration',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.remove.ldap',
|
label: 'label.remove.ldap',
|
||||||
|
message: 'message.remove.ldap',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['hostname'],
|
args: ['hostname'],
|
||||||
mapping: {
|
mapping: {
|
||||||
@ -65,16 +65,15 @@ export default {
|
|||||||
title: 'label.hypervisor.capabilities',
|
title: 'label.hypervisor.capabilities',
|
||||||
icon: 'database',
|
icon: 'database',
|
||||||
permission: ['listHypervisorCapabilities'],
|
permission: ['listHypervisorCapabilities'],
|
||||||
columns: ['hypervisor', 'hypervisorversion', 'maxguestslimit', 'maxdatavolumeslimit', 'maxhostspercluster'],
|
columns: ['hypervisor', 'hypervisorversion', 'maxguestslimit', 'maxhostspercluster'],
|
||||||
|
details: ['hypervisor', 'hypervisorversion', 'maxguestslimit', 'maxdatavolumeslimit', 'maxhostspercluster', 'securitygroupenabled', 'storagemotionenabled'],
|
||||||
actions: [
|
actions: [
|
||||||
{
|
{
|
||||||
api: 'updateHypervisorCapabilities',
|
api: 'updateHypervisorCapabilities',
|
||||||
icon: 'edit',
|
icon: 'edit',
|
||||||
label: 'label.edit',
|
label: 'label.edit',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: [
|
args: ['maxguestslimit']
|
||||||
'id', 'maxguestslimit'
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -76,6 +76,7 @@ export default {
|
|||||||
api: 'updateResourceCount',
|
api: 'updateResourceCount',
|
||||||
icon: 'sync',
|
icon: 'sync',
|
||||||
label: 'label.action.update.resource.count',
|
label: 'label.action.update.resource.count',
|
||||||
|
message: 'message.update.resource.count',
|
||||||
listView: true,
|
listView: true,
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['domainid'],
|
args: ['domainid'],
|
||||||
|
|||||||
@ -32,6 +32,7 @@ export default {
|
|||||||
api: 'archiveEvents',
|
api: 'archiveEvents',
|
||||||
icon: 'book',
|
icon: 'book',
|
||||||
label: 'label.archive.events',
|
label: 'label.archive.events',
|
||||||
|
message: 'message.confirm.archive.selected.events',
|
||||||
listView: false,
|
listView: false,
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['ids'],
|
args: ['ids'],
|
||||||
@ -45,6 +46,7 @@ export default {
|
|||||||
api: 'deleteEvents',
|
api: 'deleteEvents',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.delete.events',
|
label: 'label.delete.events',
|
||||||
|
message: 'message.confirm.remove.selected.events',
|
||||||
listView: false,
|
listView: false,
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['ids'],
|
args: ['ids'],
|
||||||
|
|||||||
@ -75,6 +75,7 @@ export default {
|
|||||||
api: 'extractTemplate',
|
api: 'extractTemplate',
|
||||||
icon: 'cloud-download',
|
icon: 'cloud-download',
|
||||||
label: 'label.action.download.template',
|
label: 'label.action.download.template',
|
||||||
|
message: 'message.action.download.template',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record && record.isextractable },
|
show: (record) => { return record && record.isextractable },
|
||||||
args: ['zoneid', 'mode'],
|
args: ['zoneid', 'mode'],
|
||||||
@ -149,6 +150,7 @@ export default {
|
|||||||
api: 'extractIso',
|
api: 'extractIso',
|
||||||
icon: 'cloud-download',
|
icon: 'cloud-download',
|
||||||
label: 'label.action.download.iso',
|
label: 'label.action.download.iso',
|
||||||
|
message: 'message.action.download.iso',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record && record.isextractable },
|
show: (record) => { return record && record.isextractable },
|
||||||
args: ['zoneid', 'mode'],
|
args: ['zoneid', 'mode'],
|
||||||
|
|||||||
@ -77,6 +77,7 @@ export default {
|
|||||||
api: 'archiveAlerts',
|
api: 'archiveAlerts',
|
||||||
icon: 'book',
|
icon: 'book',
|
||||||
label: 'label.archive.alerts',
|
label: 'label.archive.alerts',
|
||||||
|
message: 'message.confirm.archive.selected.alerts',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['ids'],
|
args: ['ids'],
|
||||||
mapping: {
|
mapping: {
|
||||||
@ -88,7 +89,8 @@ export default {
|
|||||||
{
|
{
|
||||||
api: 'deleteAlerts',
|
api: 'deleteAlerts',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.delete.events',
|
label: 'label.delete.alerts',
|
||||||
|
message: 'message.confirm.remove.selected.alerts',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['ids'],
|
args: ['ids'],
|
||||||
mapping: {
|
mapping: {
|
||||||
|
|||||||
@ -47,6 +47,7 @@ export default {
|
|||||||
api: 'updateCluster',
|
api: 'updateCluster',
|
||||||
icon: 'play-circle',
|
icon: 'play-circle',
|
||||||
label: 'label.action.enable.cluster',
|
label: 'label.action.enable.cluster',
|
||||||
|
message: 'message.action.enable.cluster',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
defaultArgs: { allocationstate: 'Enabled' },
|
defaultArgs: { allocationstate: 'Enabled' },
|
||||||
show: (record) => { return record.allocationstate === 'Disabled' }
|
show: (record) => { return record.allocationstate === 'Disabled' }
|
||||||
@ -55,6 +56,7 @@ export default {
|
|||||||
api: 'updateCluster',
|
api: 'updateCluster',
|
||||||
icon: 'pause-circle',
|
icon: 'pause-circle',
|
||||||
label: 'label.action.disable.cluster',
|
label: 'label.action.disable.cluster',
|
||||||
|
message: 'message.action.disable.cluster',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
defaultArgs: { allocationstate: 'Disabled' },
|
defaultArgs: { allocationstate: 'Disabled' },
|
||||||
show: (record) => { return record.allocationstate === 'Enabled' }
|
show: (record) => { return record.allocationstate === 'Enabled' }
|
||||||
@ -63,6 +65,7 @@ export default {
|
|||||||
api: 'updateCluster',
|
api: 'updateCluster',
|
||||||
icon: 'plus-square',
|
icon: 'plus-square',
|
||||||
label: 'label.action.manage.cluster',
|
label: 'label.action.manage.cluster',
|
||||||
|
message: 'message.action.manage.cluster',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
defaultArgs: { managedstate: 'Managed' },
|
defaultArgs: { managedstate: 'Managed' },
|
||||||
show: (record) => { return record.clustertype === 'CloudManaged' && ['PrepareUnmanaged', 'Unmanaged'].includes(record.state) }
|
show: (record) => { return record.clustertype === 'CloudManaged' && ['PrepareUnmanaged', 'Unmanaged'].includes(record.state) }
|
||||||
@ -71,6 +74,7 @@ export default {
|
|||||||
api: 'updateCluster',
|
api: 'updateCluster',
|
||||||
icon: 'minus-square',
|
icon: 'minus-square',
|
||||||
label: 'label.action.unmanage.cluster',
|
label: 'label.action.unmanage.cluster',
|
||||||
|
message: 'message.action.unmanage.cluster',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
defaultArgs: { managedstate: 'Unmanaged' },
|
defaultArgs: { managedstate: 'Unmanaged' },
|
||||||
show: (record) => { return record.clustertype === 'CloudManaged' && record.state === 'Enabled' }
|
show: (record) => { return record.clustertype === 'CloudManaged' && record.state === 'Enabled' }
|
||||||
@ -79,6 +83,7 @@ export default {
|
|||||||
api: 'enableOutOfBandManagementForCluster',
|
api: 'enableOutOfBandManagementForCluster',
|
||||||
icon: 'plus-circle',
|
icon: 'plus-circle',
|
||||||
label: 'label.outofbandmanagement.enable',
|
label: 'label.outofbandmanagement.enable',
|
||||||
|
message: 'label.outofbandmanagement.enable',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => {
|
show: (record) => {
|
||||||
return !record.resourcedetails || !record.resourcedetails.outOfBandManagementEnabled ||
|
return !record.resourcedetails || !record.resourcedetails.outOfBandManagementEnabled ||
|
||||||
@ -95,6 +100,7 @@ export default {
|
|||||||
api: 'disableOutOfBandManagementForCluster',
|
api: 'disableOutOfBandManagementForCluster',
|
||||||
icon: 'minus-circle',
|
icon: 'minus-circle',
|
||||||
label: 'label.outofbandmanagement.disable',
|
label: 'label.outofbandmanagement.disable',
|
||||||
|
message: 'label.outofbandmanagement.disable',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => {
|
show: (record) => {
|
||||||
return record.resourcedetails && record.resourcedetails.outOfBandManagementEnabled &&
|
return record.resourcedetails && record.resourcedetails.outOfBandManagementEnabled &&
|
||||||
@ -111,6 +117,7 @@ export default {
|
|||||||
api: 'enableHAForCluster',
|
api: 'enableHAForCluster',
|
||||||
icon: 'eye',
|
icon: 'eye',
|
||||||
label: 'label.ha.enable',
|
label: 'label.ha.enable',
|
||||||
|
message: 'label.ha.enable',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => {
|
show: (record) => {
|
||||||
return !record.resourcedetails || !record.resourcedetails.resourceHAEnabled ||
|
return !record.resourcedetails || !record.resourcedetails.resourceHAEnabled ||
|
||||||
@ -127,6 +134,7 @@ export default {
|
|||||||
api: 'disableHAForCluster',
|
api: 'disableHAForCluster',
|
||||||
icon: 'eye-invisible',
|
icon: 'eye-invisible',
|
||||||
label: 'label.ha.disable',
|
label: 'label.ha.disable',
|
||||||
|
message: 'label.ha.disable',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => {
|
show: (record) => {
|
||||||
return record.resourcedetails && record.resourcedetails.resourceHAEnabled &&
|
return record.resourcedetails && record.resourcedetails.resourceHAEnabled &&
|
||||||
@ -143,6 +151,7 @@ export default {
|
|||||||
api: 'deleteCluster',
|
api: 'deleteCluster',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.delete.cluster',
|
label: 'label.action.delete.cluster',
|
||||||
|
message: 'message.action.delete.cluster',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -61,6 +61,7 @@ export default {
|
|||||||
api: 'provisionCertificate',
|
api: 'provisionCertificate',
|
||||||
icon: 'safety-certificate',
|
icon: 'safety-certificate',
|
||||||
label: 'label.action.secure.host',
|
label: 'label.action.secure.host',
|
||||||
|
message: 'message.action.secure.host',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.hypervisor === 'KVM' },
|
show: (record) => { return record.hypervisor === 'KVM' },
|
||||||
args: ['hostid'],
|
args: ['hostid'],
|
||||||
@ -74,6 +75,7 @@ export default {
|
|||||||
api: 'reconnectHost',
|
api: 'reconnectHost',
|
||||||
icon: 'forward',
|
icon: 'forward',
|
||||||
label: 'label.action.force.reconnect',
|
label: 'label.action.force.reconnect',
|
||||||
|
message: 'message.confirm.action.force.reconnect',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return ['Disconnected', 'Up'].includes(record.state) }
|
show: (record) => { return ['Disconnected', 'Up'].includes(record.state) }
|
||||||
},
|
},
|
||||||
@ -81,6 +83,7 @@ export default {
|
|||||||
api: 'updateHost',
|
api: 'updateHost',
|
||||||
icon: 'pause-circle',
|
icon: 'pause-circle',
|
||||||
label: 'label.disable.host',
|
label: 'label.disable.host',
|
||||||
|
message: 'message.confirm.disable.host',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
defaultArgs: { allocationstate: 'Disable' },
|
defaultArgs: { allocationstate: 'Disable' },
|
||||||
show: (record) => { return record.resourcestate === 'Enabled' }
|
show: (record) => { return record.resourcestate === 'Enabled' }
|
||||||
@ -89,6 +92,7 @@ export default {
|
|||||||
api: 'updateHost',
|
api: 'updateHost',
|
||||||
icon: 'play-circle',
|
icon: 'play-circle',
|
||||||
label: 'label.enable.host',
|
label: 'label.enable.host',
|
||||||
|
message: 'message.confirm.enable.host',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
defaultArgs: { allocationstate: 'Enable' },
|
defaultArgs: { allocationstate: 'Enable' },
|
||||||
show: (record) => { return record.resourcestate === 'Disabled' }
|
show: (record) => { return record.resourcestate === 'Disabled' }
|
||||||
@ -97,6 +101,7 @@ export default {
|
|||||||
api: 'prepareHostForMaintenance',
|
api: 'prepareHostForMaintenance',
|
||||||
icon: 'plus-square',
|
icon: 'plus-square',
|
||||||
label: 'label.action.enable.maintenance.mode',
|
label: 'label.action.enable.maintenance.mode',
|
||||||
|
message: 'message.action.host.enable.maintenance.mode',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.resourcestate === 'Enabled' }
|
show: (record) => { return record.resourcestate === 'Enabled' }
|
||||||
},
|
},
|
||||||
@ -104,6 +109,7 @@ export default {
|
|||||||
api: 'cancelHostMaintenance',
|
api: 'cancelHostMaintenance',
|
||||||
icon: 'minus-square',
|
icon: 'minus-square',
|
||||||
label: 'label.action.cancel.maintenance.mode',
|
label: 'label.action.cancel.maintenance.mode',
|
||||||
|
message: 'message.action.cancel.maintenance.mode',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.resourcestate === 'Maintenance' || record.resourcestate === 'ErrorInMaintenance' || record.resourcestate === 'PrepareForMaintenance' }
|
show: (record) => { return record.resourcestate === 'Maintenance' || record.resourcestate === 'ErrorInMaintenance' || record.resourcestate === 'PrepareForMaintenance' }
|
||||||
},
|
},
|
||||||
@ -111,6 +117,7 @@ export default {
|
|||||||
api: 'configureOutOfBandManagement',
|
api: 'configureOutOfBandManagement',
|
||||||
icon: 'setting',
|
icon: 'setting',
|
||||||
label: 'label.outofbandmanagement.configure',
|
label: 'label.outofbandmanagement.configure',
|
||||||
|
message: 'label.outofbandmanagement.configure',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['hostid', 'address', 'port', 'username', 'password', 'driver'],
|
args: ['hostid', 'address', 'port', 'username', 'password', 'driver'],
|
||||||
mapping: {
|
mapping: {
|
||||||
@ -126,6 +133,7 @@ export default {
|
|||||||
api: 'enableOutOfBandManagementForHost',
|
api: 'enableOutOfBandManagementForHost',
|
||||||
icon: 'plus-circle',
|
icon: 'plus-circle',
|
||||||
label: 'label.outofbandmanagement.enable',
|
label: 'label.outofbandmanagement.enable',
|
||||||
|
message: 'label.outofbandmanagement.enable',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => {
|
show: (record) => {
|
||||||
return !record.outofbandmanagement || !record.outofbandmanagement.enabled ||
|
return !record.outofbandmanagement || !record.outofbandmanagement.enabled ||
|
||||||
@ -142,6 +150,7 @@ export default {
|
|||||||
api: 'disableOutOfBandManagementForHost',
|
api: 'disableOutOfBandManagementForHost',
|
||||||
icon: 'minus-circle',
|
icon: 'minus-circle',
|
||||||
label: 'label.outofbandmanagement.disable',
|
label: 'label.outofbandmanagement.disable',
|
||||||
|
message: 'label.outofbandmanagement.disable',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => {
|
show: (record) => {
|
||||||
return record.outofbandmanagement && record.outofbandmanagement.enabled &&
|
return record.outofbandmanagement && record.outofbandmanagement.enabled &&
|
||||||
@ -158,6 +167,7 @@ export default {
|
|||||||
api: 'issueOutOfBandManagementPowerAction',
|
api: 'issueOutOfBandManagementPowerAction',
|
||||||
icon: 'login',
|
icon: 'login',
|
||||||
label: 'label.outofbandmanagement.action.issue',
|
label: 'label.outofbandmanagement.action.issue',
|
||||||
|
message: 'label.outofbandmanagement.action.issue',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => {
|
show: (record) => {
|
||||||
return record.outofbandmanagement && record.outofbandmanagement.enabled &&
|
return record.outofbandmanagement && record.outofbandmanagement.enabled &&
|
||||||
@ -174,6 +184,7 @@ export default {
|
|||||||
api: 'changeOutOfBandManagementPassword',
|
api: 'changeOutOfBandManagementPassword',
|
||||||
icon: 'key',
|
icon: 'key',
|
||||||
label: 'label.outofbandmanagement.changepassword',
|
label: 'label.outofbandmanagement.changepassword',
|
||||||
|
message: 'label.outofbandmanagement.changepassword',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => {
|
show: (record) => {
|
||||||
return record.outofbandmanagement && record.outofbandmanagement.enabled &&
|
return record.outofbandmanagement && record.outofbandmanagement.enabled &&
|
||||||
@ -190,6 +201,7 @@ export default {
|
|||||||
api: 'configureHAForHost',
|
api: 'configureHAForHost',
|
||||||
icon: 'tool',
|
icon: 'tool',
|
||||||
label: 'label.ha.configure',
|
label: 'label.ha.configure',
|
||||||
|
message: 'label.ha.configure',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['hostid', 'provider'],
|
args: ['hostid', 'provider'],
|
||||||
mapping: {
|
mapping: {
|
||||||
@ -205,6 +217,7 @@ export default {
|
|||||||
api: 'enableHAForHost',
|
api: 'enableHAForHost',
|
||||||
icon: 'eye',
|
icon: 'eye',
|
||||||
label: 'label.ha.enable',
|
label: 'label.ha.enable',
|
||||||
|
message: 'label.ha.enable',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => {
|
show: (record) => {
|
||||||
return !record.hostha || !record.hostha.haenable || record.hostha.haenable === false
|
return !record.hostha || !record.hostha.haenable || record.hostha.haenable === false
|
||||||
@ -220,6 +233,7 @@ export default {
|
|||||||
api: 'disableHAForHost',
|
api: 'disableHAForHost',
|
||||||
icon: 'eye-invisible',
|
icon: 'eye-invisible',
|
||||||
label: 'label.ha.disable',
|
label: 'label.ha.disable',
|
||||||
|
message: 'label.ha.disable',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => {
|
show: (record) => {
|
||||||
return record.hostha && record.hostha.haenable &&
|
return record.hostha && record.hostha.haenable &&
|
||||||
|
|||||||
@ -28,6 +28,7 @@ export default {
|
|||||||
api: 'startInternalLoadBalancerVM',
|
api: 'startInternalLoadBalancerVM',
|
||||||
icon: 'caret-right',
|
icon: 'caret-right',
|
||||||
label: 'label.action.start.router',
|
label: 'label.action.start.router',
|
||||||
|
message: 'message.confirm.start.lb.vm',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.state === 'Stopped' }
|
show: (record) => { return record.state === 'Stopped' }
|
||||||
},
|
},
|
||||||
|
|||||||
@ -32,6 +32,7 @@ export default {
|
|||||||
api: 'updateNetworkServiceProvider',
|
api: 'updateNetworkServiceProvider',
|
||||||
icon: 'stop',
|
icon: 'stop',
|
||||||
label: 'label.disable.provider',
|
label: 'label.disable.provider',
|
||||||
|
message: 'message.confirm.disable.provider',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['state'],
|
args: ['state'],
|
||||||
show: (record) => { return record.state === 'Enabled' },
|
show: (record) => { return record.state === 'Enabled' },
|
||||||
@ -45,6 +46,7 @@ export default {
|
|||||||
api: 'updateNetworkServiceProvider',
|
api: 'updateNetworkServiceProvider',
|
||||||
icon: 'right-circle',
|
icon: 'right-circle',
|
||||||
label: 'label.enable.provider',
|
label: 'label.enable.provider',
|
||||||
|
message: 'message.confirm.enable.provider',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['state'],
|
args: ['state'],
|
||||||
show: (record) => { return record.state === 'Disabled' },
|
show: (record) => { return record.state === 'Disabled' },
|
||||||
|
|||||||
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'physicalnetwork',
|
name: 'physicalnetwork',
|
||||||
title: 'label.physical.networks',
|
title: 'label.physical.network',
|
||||||
icon: 'api',
|
icon: 'api',
|
||||||
hidden: true,
|
hidden: true,
|
||||||
permission: ['listPhysicalNetworks'],
|
permission: ['listPhysicalNetworks'],
|
||||||
@ -122,6 +122,7 @@ export default {
|
|||||||
api: 'deletePhysicalNetwork',
|
api: 'deletePhysicalNetwork',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.delete.physical.network',
|
label: 'label.action.delete.physical.network',
|
||||||
|
message: 'message.action.delete.physical.network',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -51,6 +51,7 @@ export default {
|
|||||||
api: 'updatePod',
|
api: 'updatePod',
|
||||||
icon: 'play-circle',
|
icon: 'play-circle',
|
||||||
label: 'label.action.enable.pod',
|
label: 'label.action.enable.pod',
|
||||||
|
message: 'message.action.enable.pod',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.allocationstate === 'Disabled' },
|
show: (record) => { return record.allocationstate === 'Disabled' },
|
||||||
args: ['allocationstate'],
|
args: ['allocationstate'],
|
||||||
@ -64,6 +65,7 @@ export default {
|
|||||||
api: 'updatePod',
|
api: 'updatePod',
|
||||||
icon: 'pause-circle',
|
icon: 'pause-circle',
|
||||||
label: 'label.action.disable.pod',
|
label: 'label.action.disable.pod',
|
||||||
|
message: 'message.action.disable.pod',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.allocationstate === 'Enabled' },
|
show: (record) => { return record.allocationstate === 'Enabled' },
|
||||||
args: ['allocationstate'],
|
args: ['allocationstate'],
|
||||||
@ -77,6 +79,7 @@ export default {
|
|||||||
api: 'deletePod',
|
api: 'deletePod',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.delete.pod',
|
label: 'label.action.delete.pod',
|
||||||
|
message: 'message.action.delete.pod',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -54,6 +54,7 @@ export default {
|
|||||||
api: 'enableStorageMaintenance',
|
api: 'enableStorageMaintenance',
|
||||||
icon: 'plus-square',
|
icon: 'plus-square',
|
||||||
label: 'label.action.enable.maintenance.mode',
|
label: 'label.action.enable.maintenance.mode',
|
||||||
|
message: 'message.action.primarystorage.enable.maintenance.mode',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return ['Up', 'Connecting', 'Down', 'ErrorInMaintenance'].includes(record.state) }
|
show: (record) => { return ['Up', 'Connecting', 'Down', 'ErrorInMaintenance'].includes(record.state) }
|
||||||
},
|
},
|
||||||
@ -61,6 +62,7 @@ export default {
|
|||||||
api: 'cancelStorageMaintenance',
|
api: 'cancelStorageMaintenance',
|
||||||
icon: 'minus-square',
|
icon: 'minus-square',
|
||||||
label: 'label.action.cancel.maintenance.mode',
|
label: 'label.action.cancel.maintenance.mode',
|
||||||
|
message: 'message.action.cancel.maintenance.mode',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return ['Maintenance', 'PrepareForMaintenance', 'ErrorInMaintenance'].includes(record.state) }
|
show: (record) => { return ['Maintenance', 'PrepareForMaintenance', 'ErrorInMaintenance'].includes(record.state) }
|
||||||
},
|
},
|
||||||
|
|||||||
@ -28,6 +28,7 @@ export default {
|
|||||||
api: 'startRouter',
|
api: 'startRouter',
|
||||||
icon: 'caret-right',
|
icon: 'caret-right',
|
||||||
label: 'label.action.start.router',
|
label: 'label.action.start.router',
|
||||||
|
message: 'message.action.start.router',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.state === 'Stopped' }
|
show: (record) => { return record.state === 'Stopped' }
|
||||||
},
|
},
|
||||||
@ -44,6 +45,7 @@ export default {
|
|||||||
api: 'rebootRouter',
|
api: 'rebootRouter',
|
||||||
icon: 'sync',
|
icon: 'sync',
|
||||||
label: 'label.action.reboot.router',
|
label: 'label.action.reboot.router',
|
||||||
|
message: 'message.action.reboot.router',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
hidden: (record) => { return record.state === 'Running' }
|
hidden: (record) => { return record.state === 'Running' }
|
||||||
},
|
},
|
||||||
@ -51,6 +53,7 @@ export default {
|
|||||||
api: 'scaleSystemVm',
|
api: 'scaleSystemVm',
|
||||||
icon: 'arrows-alt',
|
icon: 'arrows-alt',
|
||||||
label: 'label.change.service.offering',
|
label: 'label.change.service.offering',
|
||||||
|
message: 'message.confirm.scale.up.router.vm',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['serviceofferingid'],
|
args: ['serviceofferingid'],
|
||||||
show: (record) => { return record.hypervisor !== 'KVM' }
|
show: (record) => { return record.hypervisor !== 'KVM' }
|
||||||
@ -59,6 +62,7 @@ export default {
|
|||||||
api: 'upgradeRouterTemplate',
|
api: 'upgradeRouterTemplate',
|
||||||
icon: 'fullscreen',
|
icon: 'fullscreen',
|
||||||
label: 'label.upgrade.router.newer.template',
|
label: 'label.upgrade.router.newer.template',
|
||||||
|
message: 'message.confirm.upgrade.router.newer.template',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
groupAction: true,
|
groupAction: true,
|
||||||
show: (record) => { return record.requiresupgrade }
|
show: (record) => { return record.requiresupgrade }
|
||||||
@ -111,6 +115,7 @@ export default {
|
|||||||
api: 'destroyRouter',
|
api: 'destroyRouter',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.destroy.router',
|
label: 'label.destroy.router',
|
||||||
|
message: 'message.confirm.destroy.router',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return ['Running', 'Error', 'Stopped'].includes(record.state) }
|
show: (record) => { return ['Running', 'Error', 'Stopped'].includes(record.state) }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,6 +42,7 @@ export default {
|
|||||||
api: 'deleteImageStore',
|
api: 'deleteImageStore',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.delete.secondary.storage',
|
label: 'label.action.delete.secondary.storage',
|
||||||
|
message: 'message.action.delete.secondary.storage',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -27,6 +27,7 @@ export default {
|
|||||||
api: 'startSystemVm',
|
api: 'startSystemVm',
|
||||||
icon: 'caret-right',
|
icon: 'caret-right',
|
||||||
label: 'label.action.start.systemvm',
|
label: 'label.action.start.systemvm',
|
||||||
|
message: 'message.action.start.systemvm',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.state === 'Stopped' }
|
show: (record) => { return record.state === 'Stopped' }
|
||||||
},
|
},
|
||||||
@ -43,6 +44,7 @@ export default {
|
|||||||
api: 'rebootSystemVm',
|
api: 'rebootSystemVm',
|
||||||
icon: 'sync',
|
icon: 'sync',
|
||||||
label: 'label.action.reboot.systemvm',
|
label: 'label.action.reboot.systemvm',
|
||||||
|
message: 'message.action.reboot.systemvm',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.state === 'Running' }
|
show: (record) => { return record.state === 'Running' }
|
||||||
},
|
},
|
||||||
@ -50,6 +52,7 @@ export default {
|
|||||||
api: 'scaleSystemVm',
|
api: 'scaleSystemVm',
|
||||||
icon: 'arrows-alt',
|
icon: 'arrows-alt',
|
||||||
label: 'label.change.service.offering',
|
label: 'label.change.service.offering',
|
||||||
|
message: 'message.confirm.scale.up.system.vm',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.hypervisor !== 'KVM' },
|
show: (record) => { return record.hypervisor !== 'KVM' },
|
||||||
args: ['serviceofferingid']
|
args: ['serviceofferingid']
|
||||||
@ -102,6 +105,7 @@ export default {
|
|||||||
api: 'destroySystemVm',
|
api: 'destroySystemVm',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.destroy.systemvm',
|
label: 'label.action.destroy.systemvm',
|
||||||
|
message: 'message.action.destroy.systemvm',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return ['Running', 'Error', 'Stopped'].includes(record.state) }
|
show: (record) => { return ['Running', 'Error', 'Stopped'].includes(record.state) }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -88,6 +88,7 @@ export default {
|
|||||||
api: 'updateZone',
|
api: 'updateZone',
|
||||||
icon: 'pause-circle',
|
icon: 'pause-circle',
|
||||||
label: 'label.action.disable.zone',
|
label: 'label.action.disable.zone',
|
||||||
|
message: 'message.action.disable.zone',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
defaultArgs: { allocationstate: 'Disabled' },
|
defaultArgs: { allocationstate: 'Disabled' },
|
||||||
show: (record) => { return record.allocationstate === 'Enabled' }
|
show: (record) => { return record.allocationstate === 'Enabled' }
|
||||||
@ -96,6 +97,7 @@ export default {
|
|||||||
api: 'updateZone',
|
api: 'updateZone',
|
||||||
icon: 'play-circle',
|
icon: 'play-circle',
|
||||||
label: 'label.action.enable.zone',
|
label: 'label.action.enable.zone',
|
||||||
|
message: 'message.action.enable.zone',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
defaultArgs: { allocationstate: 'Enabled' },
|
defaultArgs: { allocationstate: 'Enabled' },
|
||||||
show: (record) => { return record.allocationstate === 'Disabled' }
|
show: (record) => { return record.allocationstate === 'Disabled' }
|
||||||
@ -104,6 +106,7 @@ export default {
|
|||||||
api: 'enableOutOfBandManagementForZone',
|
api: 'enableOutOfBandManagementForZone',
|
||||||
icon: 'plus-circle',
|
icon: 'plus-circle',
|
||||||
label: 'label.outofbandmanagement.enable',
|
label: 'label.outofbandmanagement.enable',
|
||||||
|
message: 'label.outofbandmanagement.enable',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => {
|
show: (record) => {
|
||||||
return !record.resourcedetails || !record.resourcedetails.outOfBandManagementEnabled ||
|
return !record.resourcedetails || !record.resourcedetails.outOfBandManagementEnabled ||
|
||||||
@ -120,6 +123,7 @@ export default {
|
|||||||
api: 'disableOutOfBandManagementForZone',
|
api: 'disableOutOfBandManagementForZone',
|
||||||
icon: 'minus-circle',
|
icon: 'minus-circle',
|
||||||
label: 'label.outofbandmanagement.disable',
|
label: 'label.outofbandmanagement.disable',
|
||||||
|
message: 'label.outofbandmanagement.disable',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => {
|
show: (record) => {
|
||||||
return record.resourcedetails && record.resourcedetails.outOfBandManagementEnabled &&
|
return record.resourcedetails && record.resourcedetails.outOfBandManagementEnabled &&
|
||||||
@ -136,6 +140,7 @@ export default {
|
|||||||
api: 'enableHAForZone',
|
api: 'enableHAForZone',
|
||||||
icon: 'eye',
|
icon: 'eye',
|
||||||
label: 'label.ha.enable',
|
label: 'label.ha.enable',
|
||||||
|
message: 'label.ha.enable',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => {
|
show: (record) => {
|
||||||
return !record.resourcedetails || !record.resourcedetails.resourceHAEnabled ||
|
return !record.resourcedetails || !record.resourcedetails.resourceHAEnabled ||
|
||||||
@ -152,6 +157,7 @@ export default {
|
|||||||
api: 'disableHAForZone',
|
api: 'disableHAForZone',
|
||||||
icon: 'eye-invisible',
|
icon: 'eye-invisible',
|
||||||
label: 'label.ha.disable',
|
label: 'label.ha.disable',
|
||||||
|
message: 'label.ha.disable',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => {
|
show: (record) => {
|
||||||
return record.resourcedetails && record.resourcedetails.resourceHAEnabled &&
|
return record.resourcedetails && record.resourcedetails.resourceHAEnabled &&
|
||||||
@ -181,6 +187,7 @@ export default {
|
|||||||
api: 'updateVmwareDc',
|
api: 'updateVmwareDc',
|
||||||
icon: 'block',
|
icon: 'block',
|
||||||
label: 'label.update.vmware.datacenter',
|
label: 'label.update.vmware.datacenter',
|
||||||
|
message: 'label.update.vmware.datacenter',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: record => record.vmwaredc,
|
show: record => record.vmwaredc,
|
||||||
args: ['zoneid', 'name', 'vcenter', 'username', 'password'],
|
args: ['zoneid', 'name', 'vcenter', 'username', 'password'],
|
||||||
@ -194,6 +201,7 @@ export default {
|
|||||||
api: 'removeVmwareDc',
|
api: 'removeVmwareDc',
|
||||||
icon: 'minus-square',
|
icon: 'minus-square',
|
||||||
label: 'label.remove.vmware.datacenter',
|
label: 'label.remove.vmware.datacenter',
|
||||||
|
message: 'message.confirm.remove.vmware.datacenter',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: record => record.vmwaredc,
|
show: record => record.vmwaredc,
|
||||||
args: ['zoneid'],
|
args: ['zoneid'],
|
||||||
@ -207,6 +215,7 @@ export default {
|
|||||||
api: 'deleteZone',
|
api: 'deleteZone',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.delete.zone',
|
label: 'label.action.delete.zone',
|
||||||
|
message: 'message.action.delete.zone',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -78,6 +78,7 @@ export default {
|
|||||||
api: 'replaceNetworkACLList',
|
api: 'replaceNetworkACLList',
|
||||||
icon: 'swap',
|
icon: 'swap',
|
||||||
label: 'label.replace.acl.list',
|
label: 'label.replace.acl.list',
|
||||||
|
message: 'message.confirm.replace.acl.new.one',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.vpcid },
|
show: (record) => { return record.vpcid },
|
||||||
args: ['aclid', 'networkid'],
|
args: ['aclid', 'networkid'],
|
||||||
@ -95,6 +96,7 @@ export default {
|
|||||||
api: 'deleteNetwork',
|
api: 'deleteNetwork',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.delete.network',
|
label: 'label.action.delete.network',
|
||||||
|
message: 'message.action.delete.network',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -143,6 +145,7 @@ export default {
|
|||||||
api: 'restartVPC',
|
api: 'restartVPC',
|
||||||
icon: 'sync',
|
icon: 'sync',
|
||||||
label: 'label.restart.vpc',
|
label: 'label.restart.vpc',
|
||||||
|
message: 'message.restart.vpc',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['makeredundant', 'cleanup']
|
args: ['makeredundant', 'cleanup']
|
||||||
},
|
},
|
||||||
@ -150,6 +153,7 @@ export default {
|
|||||||
api: 'deleteVPC',
|
api: 'deleteVPC',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.remove.vpc',
|
label: 'label.remove.vpc',
|
||||||
|
message: 'message.remove.vpc',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -184,6 +188,7 @@ export default {
|
|||||||
api: 'deleteSecurityGroup',
|
api: 'deleteSecurityGroup',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.delete.security.group',
|
label: 'label.action.delete.security.group',
|
||||||
|
message: 'message.action.delete.security.group',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.name !== 'default' }
|
show: (record) => { return record.name !== 'default' }
|
||||||
}
|
}
|
||||||
@ -238,6 +243,7 @@ export default {
|
|||||||
api: 'disableStaticNat',
|
api: 'disableStaticNat',
|
||||||
icon: 'minus-circle',
|
icon: 'minus-circle',
|
||||||
label: 'label.action.disable.static.nat',
|
label: 'label.action.disable.static.nat',
|
||||||
|
message: 'message.action.disable.static.nat',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.virtualmachineid },
|
show: (record) => { return record.virtualmachineid },
|
||||||
args: ['ipaddressid'],
|
args: ['ipaddressid'],
|
||||||
@ -251,6 +257,7 @@ export default {
|
|||||||
api: 'disassociateIpAddress',
|
api: 'disassociateIpAddress',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.release.ip',
|
label: 'label.action.release.ip',
|
||||||
|
message: 'message.action.release.ip',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return !record.issourcenat }
|
show: (record) => { return !record.issourcenat }
|
||||||
}
|
}
|
||||||
@ -289,6 +296,7 @@ export default {
|
|||||||
api: 'replaceNetworkACLList',
|
api: 'replaceNetworkACLList',
|
||||||
icon: 'swap',
|
icon: 'swap',
|
||||||
label: 'label.replace.acl.list',
|
label: 'label.replace.acl.list',
|
||||||
|
message: 'message.confirm.replace.acl.new.one',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['aclid', 'gatewayid'],
|
args: ['aclid', 'gatewayid'],
|
||||||
mapping: {
|
mapping: {
|
||||||
@ -305,13 +313,14 @@ export default {
|
|||||||
api: 'deletePrivateGateway',
|
api: 'deletePrivateGateway',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.delete.gateway',
|
label: 'label.delete.gateway',
|
||||||
|
message: 'message.delete.gateway',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 's2svpn',
|
name: 's2svpn',
|
||||||
title: 'label.site-to-site.vpns',
|
title: 'label.site.to.site.vpn',
|
||||||
icon: 'lock',
|
icon: 'lock',
|
||||||
hidden: true,
|
hidden: true,
|
||||||
permission: ['listVpnGateways'],
|
permission: ['listVpnGateways'],
|
||||||
@ -329,13 +338,14 @@ export default {
|
|||||||
api: 'deleteVpnGateway',
|
api: 'deleteVpnGateway',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.delete.vpn.gateway',
|
label: 'label.delete.vpn.gateway',
|
||||||
|
message: 'message.delete.vpn.gateway',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 's2svpnconn',
|
name: 's2svpnconn',
|
||||||
title: 'label.site-to-site.vpn.connections',
|
title: 'label.site.to.site.vpn.connections',
|
||||||
icon: 'sync',
|
icon: 'sync',
|
||||||
hidden: true,
|
hidden: true,
|
||||||
permission: ['listVpnConnections'],
|
permission: ['listVpnConnections'],
|
||||||
@ -361,12 +371,14 @@ export default {
|
|||||||
api: 'resetVpnConnection',
|
api: 'resetVpnConnection',
|
||||||
icon: 'reload',
|
icon: 'reload',
|
||||||
label: 'label.reset.vpn.connection',
|
label: 'label.reset.vpn.connection',
|
||||||
|
message: 'message.reset.vpn.connection',
|
||||||
dataView: true
|
dataView: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
api: 'deleteVpnConnection',
|
api: 'deleteVpnConnection',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.delete.vpn.connection',
|
label: 'label.delete.vpn.connection',
|
||||||
|
message: 'message.delete.vpn.connection',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -406,6 +418,7 @@ export default {
|
|||||||
api: 'deleteNetworkACLList',
|
api: 'deleteNetworkACLList',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.delete.acl.list',
|
label: 'label.delete.acl.list',
|
||||||
|
message: 'message.confirm.delete.acl.list',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -462,6 +475,7 @@ export default {
|
|||||||
api: 'deleteLoadBalancer',
|
api: 'deleteLoadBalancer',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.delete.internal.lb',
|
label: 'label.delete.internal.lb',
|
||||||
|
message: 'message.confirm.delete.internal.lb',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -485,6 +499,7 @@ export default {
|
|||||||
api: 'removeVpnUser',
|
api: 'removeVpnUser',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.delete.vpn.user',
|
label: 'label.delete.vpn.user',
|
||||||
|
message: 'message.action.delete.vpn.user',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['username', 'domainid', 'account'],
|
args: ['username', 'domainid', 'account'],
|
||||||
mapping: {
|
mapping: {
|
||||||
@ -528,6 +543,7 @@ export default {
|
|||||||
api: 'deleteVpnCustomerGateway',
|
api: 'deleteVpnCustomerGateway',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.delete.vpn.customer.gateway',
|
label: 'label.delete.vpn.customer.gateway',
|
||||||
|
message: 'message.delete.vpn.customer.gateway',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -58,6 +58,7 @@ export default {
|
|||||||
api: 'deleteServiceOffering',
|
api: 'deleteServiceOffering',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.delete.service.offering',
|
label: 'label.action.delete.service.offering',
|
||||||
|
message: 'message.action.delete.service.offering',
|
||||||
dataView: true
|
dataView: true
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
@ -88,6 +89,7 @@ export default {
|
|||||||
api: 'deleteServiceOffering',
|
api: 'deleteServiceOffering',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.delete.system.service.offering',
|
label: 'label.action.delete.system.service.offering',
|
||||||
|
message: 'message.action.delete.system.service.offering',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
params: { issystem: 'true' }
|
params: { issystem: 'true' }
|
||||||
}]
|
}]
|
||||||
@ -129,6 +131,7 @@ export default {
|
|||||||
api: 'deleteDiskOffering',
|
api: 'deleteDiskOffering',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.delete.disk.offering',
|
label: 'label.action.delete.disk.offering',
|
||||||
|
message: 'message.action.delete.disk.offering',
|
||||||
dataView: true
|
dataView: true
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
@ -150,6 +153,7 @@ export default {
|
|||||||
api: 'deleteBackupOffering',
|
api: 'deleteBackupOffering',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.delete.backup.offering',
|
label: 'label.action.delete.backup.offering',
|
||||||
|
message: 'message.action.delete.backup.offering',
|
||||||
dataView: true
|
dataView: true
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
@ -183,6 +187,7 @@ export default {
|
|||||||
api: 'updateNetworkOffering',
|
api: 'updateNetworkOffering',
|
||||||
icon: 'play-circle',
|
icon: 'play-circle',
|
||||||
label: 'label.enable.network.offering',
|
label: 'label.enable.network.offering',
|
||||||
|
message: 'message.confirm.enable.network.offering',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.state === 'Disabled' },
|
show: (record) => { return record.state === 'Disabled' },
|
||||||
args: ['state'],
|
args: ['state'],
|
||||||
@ -195,6 +200,7 @@ export default {
|
|||||||
api: 'updateNetworkOffering',
|
api: 'updateNetworkOffering',
|
||||||
icon: 'pause-circle',
|
icon: 'pause-circle',
|
||||||
label: 'label.disable.network.offering',
|
label: 'label.disable.network.offering',
|
||||||
|
message: 'message.confirm.disable.network.offering',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.state === 'Enabled' },
|
show: (record) => { return record.state === 'Enabled' },
|
||||||
args: ['state'],
|
args: ['state'],
|
||||||
@ -214,6 +220,7 @@ export default {
|
|||||||
api: 'deleteNetworkOffering',
|
api: 'deleteNetworkOffering',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.remove.network.offering',
|
label: 'label.remove.network.offering',
|
||||||
|
message: 'message.confirm.remove.network.offering',
|
||||||
dataView: true
|
dataView: true
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
@ -248,6 +255,7 @@ export default {
|
|||||||
api: 'updateVPCOffering',
|
api: 'updateVPCOffering',
|
||||||
icon: 'play-circle',
|
icon: 'play-circle',
|
||||||
label: 'label.enable.vpc.offering',
|
label: 'label.enable.vpc.offering',
|
||||||
|
message: 'message.confirm.enable.vpc.offering',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.state === 'Disabled' },
|
show: (record) => { return record.state === 'Disabled' },
|
||||||
args: ['state'],
|
args: ['state'],
|
||||||
@ -260,6 +268,7 @@ export default {
|
|||||||
api: 'updateVPCOffering',
|
api: 'updateVPCOffering',
|
||||||
icon: 'pause-circle',
|
icon: 'pause-circle',
|
||||||
label: 'label.disable.vpc.offering',
|
label: 'label.disable.vpc.offering',
|
||||||
|
message: 'message.confirm.disable.vpc.offering',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.state === 'Enabled' },
|
show: (record) => { return record.state === 'Enabled' },
|
||||||
args: ['state'],
|
args: ['state'],
|
||||||
@ -279,6 +288,7 @@ export default {
|
|||||||
api: 'deleteVPCOffering',
|
api: 'deleteVPCOffering',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.remove.vpc.offering',
|
label: 'label.remove.vpc.offering',
|
||||||
|
message: 'message.confirm.remove.vpc.offering',
|
||||||
dataView: true
|
dataView: true
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -79,6 +79,7 @@ export default {
|
|||||||
api: 'activateProject',
|
api: 'activateProject',
|
||||||
icon: 'play-circle',
|
icon: 'play-circle',
|
||||||
label: 'label.activate.project',
|
label: 'label.activate.project',
|
||||||
|
message: 'message.activate.project',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.state === 'Suspended' }
|
show: (record) => { return record.state === 'Suspended' }
|
||||||
},
|
},
|
||||||
@ -86,6 +87,7 @@ export default {
|
|||||||
api: 'suspendProject',
|
api: 'suspendProject',
|
||||||
icon: 'pause-circle',
|
icon: 'pause-circle',
|
||||||
label: 'label.suspend.project',
|
label: 'label.suspend.project',
|
||||||
|
message: 'message.suspend.project',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.state !== 'Suspended' }
|
show: (record) => { return record.state !== 'Suspended' }
|
||||||
},
|
},
|
||||||
@ -106,6 +108,7 @@ export default {
|
|||||||
api: 'deleteProject',
|
api: 'deleteProject',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.delete.project',
|
label: 'label.delete.project',
|
||||||
|
message: 'message.delete.project',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -58,6 +58,7 @@ export default {
|
|||||||
api: 'deleteRole',
|
api: 'deleteRole',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.delete.role',
|
label: 'label.delete.role',
|
||||||
|
message: 'label.delete.role',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -66,6 +66,7 @@ export default {
|
|||||||
api: 'attachVolume',
|
api: 'attachVolume',
|
||||||
icon: 'paper-clip',
|
icon: 'paper-clip',
|
||||||
label: 'label.action.attach.disk',
|
label: 'label.action.attach.disk',
|
||||||
|
message: 'message.confirm.attach.disk',
|
||||||
args: ['virtualmachineid'],
|
args: ['virtualmachineid'],
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.type !== 'ROOT' && record.state !== 'Destroy' && !('virtualmachineid' in record) }
|
show: (record) => { return record.type !== 'ROOT' && record.state !== 'Destroy' && !('virtualmachineid' in record) }
|
||||||
@ -74,6 +75,7 @@ export default {
|
|||||||
api: 'detachVolume',
|
api: 'detachVolume',
|
||||||
icon: 'link',
|
icon: 'link',
|
||||||
label: 'label.action.detach.disk',
|
label: 'label.action.detach.disk',
|
||||||
|
message: 'message.detach.disk',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.type !== 'ROOT' && 'virtualmachineid' in record && record.virtualmachineid }
|
show: (record) => { return record.type !== 'ROOT' && 'virtualmachineid' in record && record.virtualmachineid }
|
||||||
},
|
},
|
||||||
@ -134,6 +136,7 @@ export default {
|
|||||||
api: 'extractVolume',
|
api: 'extractVolume',
|
||||||
icon: 'cloud-download',
|
icon: 'cloud-download',
|
||||||
label: 'label.action.download.volume',
|
label: 'label.action.download.volume',
|
||||||
|
message: 'message.download.volume.confirm',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record && record.state === 'Ready' && (record.vmstate === 'Stopped' || record.virtualmachineid == null) && record.state !== 'Destroy' },
|
show: (record) => { return record && record.state === 'Ready' && (record.vmstate === 'Stopped' || record.virtualmachineid == null) && record.state !== 'Destroy' },
|
||||||
args: ['zoneid', 'mode'],
|
args: ['zoneid', 'mode'],
|
||||||
@ -164,6 +167,7 @@ export default {
|
|||||||
api: 'recoverVolume',
|
api: 'recoverVolume',
|
||||||
icon: 'medicine-box',
|
icon: 'medicine-box',
|
||||||
label: 'label.action.recover.volume',
|
label: 'label.action.recover.volume',
|
||||||
|
message: 'message.action.recover.volume',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record, store) => {
|
show: (record, store) => {
|
||||||
return (['Admin', 'DomainAdmin'].includes(store.userInfo.roletype) || store.features.allowuserexpungerecovervolume) && record.state === 'Destroy'
|
return (['Admin', 'DomainAdmin'].includes(store.userInfo.roletype) || store.features.allowuserexpungerecovervolume) && record.state === 'Destroy'
|
||||||
@ -173,6 +177,7 @@ export default {
|
|||||||
api: 'deleteVolume',
|
api: 'deleteVolume',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.delete.volume',
|
label: 'label.action.delete.volume',
|
||||||
|
message: 'message.action.delete.volume',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
groupAction: true,
|
groupAction: true,
|
||||||
show: (record, store) => {
|
show: (record, store) => {
|
||||||
@ -184,6 +189,7 @@ export default {
|
|||||||
api: 'destroyVolume',
|
api: 'destroyVolume',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.destroy.volume',
|
label: 'label.action.destroy.volume',
|
||||||
|
message: 'message.action.destroy.volume',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: (record, store) => {
|
args: (record, store) => {
|
||||||
return (!['Admin', 'DomainAdmin'].includes(store.userInfo.roletype) && !store.features.allowuserexpungerecovervolumestore) ? [] : ['expunge']
|
return (!['Admin', 'DomainAdmin'].includes(store.userInfo.roletype) && !store.features.allowuserexpungerecovervolumestore) ? [] : ['expunge']
|
||||||
@ -233,6 +239,7 @@ export default {
|
|||||||
api: 'revertSnapshot',
|
api: 'revertSnapshot',
|
||||||
icon: 'sync',
|
icon: 'sync',
|
||||||
label: 'label.action.revert.snapshot',
|
label: 'label.action.revert.snapshot',
|
||||||
|
message: 'message.action.revert.snapshot',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.revertable }
|
show: (record) => { return record.revertable }
|
||||||
},
|
},
|
||||||
@ -240,6 +247,7 @@ export default {
|
|||||||
api: 'deleteSnapshot',
|
api: 'deleteSnapshot',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.delete.snapshot',
|
label: 'label.action.delete.snapshot',
|
||||||
|
message: 'message.action.delete.snapshot',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -257,6 +265,7 @@ export default {
|
|||||||
api: 'revertToVMSnapshot',
|
api: 'revertToVMSnapshot',
|
||||||
icon: 'sync',
|
icon: 'sync',
|
||||||
label: 'label.action.vmsnapshot.revert',
|
label: 'label.action.vmsnapshot.revert',
|
||||||
|
message: 'label.action.vmsnapshot.revert',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.state === 'Ready' },
|
show: (record) => { return record.state === 'Ready' },
|
||||||
args: ['vmsnapshotid'],
|
args: ['vmsnapshotid'],
|
||||||
@ -270,6 +279,7 @@ export default {
|
|||||||
api: 'deleteVMSnapshot',
|
api: 'deleteVMSnapshot',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.vmsnapshot.delete',
|
label: 'label.action.vmsnapshot.delete',
|
||||||
|
message: 'message.action.vmsnapshot.delete',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['vmsnapshotid'],
|
args: ['vmsnapshotid'],
|
||||||
mapping: {
|
mapping: {
|
||||||
@ -292,12 +302,14 @@ export default {
|
|||||||
api: 'restoreBackup',
|
api: 'restoreBackup',
|
||||||
icon: 'sync',
|
icon: 'sync',
|
||||||
label: 'label.backup.restore',
|
label: 'label.backup.restore',
|
||||||
|
message: 'message.backup.restore',
|
||||||
dataView: true
|
dataView: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
api: 'restoreVolumeFromBackupAndAttachToVM',
|
api: 'restoreVolumeFromBackupAndAttachToVM',
|
||||||
icon: 'paper-clip',
|
icon: 'paper-clip',
|
||||||
label: 'Restore Volume and Attach',
|
label: 'label.backup.attach.restore',
|
||||||
|
message: 'message.backup.attach.restore',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
popup: true,
|
popup: true,
|
||||||
component: () => import('@/views/storage/RestoreAttachBackupVolume.vue')
|
component: () => import('@/views/storage/RestoreAttachBackupVolume.vue')
|
||||||
@ -306,6 +318,7 @@ export default {
|
|||||||
api: 'removeVirtualMachineFromBackupOffering',
|
api: 'removeVirtualMachineFromBackupOffering',
|
||||||
icon: 'scissor',
|
icon: 'scissor',
|
||||||
label: 'label.backup.offering.remove',
|
label: 'label.backup.offering.remove',
|
||||||
|
message: 'message.backup.offering.remove',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
args: ['forced', 'virtualmachineid'],
|
args: ['forced', 'virtualmachineid'],
|
||||||
mapping: {
|
mapping: {
|
||||||
@ -320,7 +333,8 @@ export default {
|
|||||||
{
|
{
|
||||||
api: 'deleteBackup',
|
api: 'deleteBackup',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'Delete Backup',
|
label: 'label.delete.backup',
|
||||||
|
message: 'message.delete.backup',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -50,12 +50,14 @@ export default {
|
|||||||
api: 'registerUserKeys',
|
api: 'registerUserKeys',
|
||||||
icon: 'file-protect',
|
icon: 'file-protect',
|
||||||
label: 'label.action.generate.keys',
|
label: 'label.action.generate.keys',
|
||||||
|
message: 'message.generate.keys',
|
||||||
dataView: true
|
dataView: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
api: 'enableUser',
|
api: 'enableUser',
|
||||||
icon: 'play-circle',
|
icon: 'play-circle',
|
||||||
label: 'label.action.enable.user',
|
label: 'label.action.enable.user',
|
||||||
|
message: 'message.enable.user',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.state === 'disabled' }
|
show: (record) => { return record.state === 'disabled' }
|
||||||
},
|
},
|
||||||
@ -63,6 +65,7 @@ export default {
|
|||||||
api: 'disableUser',
|
api: 'disableUser',
|
||||||
icon: 'pause-circle',
|
icon: 'pause-circle',
|
||||||
label: 'label.action.disable.user',
|
label: 'label.action.disable.user',
|
||||||
|
message: 'message.disable.user',
|
||||||
dataView: true,
|
dataView: true,
|
||||||
show: (record) => { return record.state === 'enabled' }
|
show: (record) => { return record.state === 'enabled' }
|
||||||
},
|
},
|
||||||
@ -70,6 +73,7 @@ export default {
|
|||||||
api: 'deleteUser',
|
api: 'deleteUser',
|
||||||
icon: 'delete',
|
icon: 'delete',
|
||||||
label: 'label.action.delete.user',
|
label: 'label.action.delete.user',
|
||||||
|
message: 'message.delete.user',
|
||||||
dataView: true
|
dataView: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -861,7 +861,7 @@
|
|||||||
"label.instanceport": "Instance Port",
|
"label.instanceport": "Instance Port",
|
||||||
"label.instances": "\u0627\u0644\u062d\u0627\u0644\u0627\u062a",
|
"label.instances": "\u0627\u0644\u062d\u0627\u0644\u0627\u062a",
|
||||||
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
||||||
"label.intermediate.certificate": "Intermediate certificate {0}",
|
"label.intermediate.certificate": "Intermediate certificate",
|
||||||
"label.internal.dns.1": "Internal DNS 1",
|
"label.internal.dns.1": "Internal DNS 1",
|
||||||
"label.internal.dns.2": "Internal DNS 2",
|
"label.internal.dns.2": "Internal DNS 2",
|
||||||
"label.internal.lb": "Internal LB",
|
"label.internal.lb": "Internal LB",
|
||||||
|
|||||||
@ -861,7 +861,7 @@
|
|||||||
"label.instanceport": "Instance Port",
|
"label.instanceport": "Instance Port",
|
||||||
"label.instances": "Instances",
|
"label.instances": "Instances",
|
||||||
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
||||||
"label.intermediate.certificate": "Intermediate certificate {0}",
|
"label.intermediate.certificate": "Intermediate certificate",
|
||||||
"label.internal.dns.1": "Internal DNS 1",
|
"label.internal.dns.1": "Internal DNS 1",
|
||||||
"label.internal.dns.2": "Internal DNS 2",
|
"label.internal.dns.2": "Internal DNS 2",
|
||||||
"label.internal.lb": "Internal LB",
|
"label.internal.lb": "Internal LB",
|
||||||
|
|||||||
@ -862,7 +862,7 @@
|
|||||||
"label.instanceport": "Instanz-Port",
|
"label.instanceport": "Instanz-Port",
|
||||||
"label.instances": "Instanzen",
|
"label.instances": "Instanzen",
|
||||||
"label.instanciate.template.associate.profile.blade": "Vorlage instanzieren und Profil zu Blade assoziieren",
|
"label.instanciate.template.associate.profile.blade": "Vorlage instanzieren und Profil zu Blade assoziieren",
|
||||||
"label.intermediate.certificate": "Intermediate Zertifikat {0}",
|
"label.intermediate.certificate": "Intermediate Zertifikat",
|
||||||
"label.internal.dns.1": "Interner DNS 1",
|
"label.internal.dns.1": "Interner DNS 1",
|
||||||
"label.internal.dns.2": "Interner DNS 2",
|
"label.internal.dns.2": "Interner DNS 2",
|
||||||
"label.internal.lb": "Interne LB",
|
"label.internal.lb": "Interne LB",
|
||||||
|
|||||||
@ -430,11 +430,13 @@
|
|||||||
"label.available.public.ips": "Available Public IP Addresses",
|
"label.available.public.ips": "Available Public IP Addresses",
|
||||||
"label.back": "Back",
|
"label.back": "Back",
|
||||||
"label.backup": "Backups",
|
"label.backup": "Backups",
|
||||||
|
"label.backup.attach.restore": "Restore and Attach Backup Volume",
|
||||||
"label.backup.offering.assign": "Assign VM to backup offering",
|
"label.backup.offering.assign": "Assign VM to backup offering",
|
||||||
"label.backup.offering.remove": "Remove VM from backup offering",
|
"label.backup.offering.remove": "Remove VM from backup offering",
|
||||||
"label.backup.offerings": "Backup Offerings",
|
"label.backup.offerings": "Backup Offerings",
|
||||||
"label.backup.restore": "Restore VM Backup",
|
"label.backup.restore": "Restore VM Backup",
|
||||||
"label.backupofferingid": "Backup Offering",
|
"label.backupofferingid": "Backup Offering",
|
||||||
|
"label.backupofferingname": "Backup Offering",
|
||||||
"label.balance": "Balance",
|
"label.balance": "Balance",
|
||||||
"label.bandwidth": "Bandwidth",
|
"label.bandwidth": "Bandwidth",
|
||||||
"label.baremetal.dhcp.devices": "Baremetal DHCP Devices",
|
"label.baremetal.dhcp.devices": "Baremetal DHCP Devices",
|
||||||
@ -484,6 +486,7 @@
|
|||||||
"label.capacity.iops": "Capacity IOPS",
|
"label.capacity.iops": "Capacity IOPS",
|
||||||
"label.capacitybytes": "Capacity Bytes",
|
"label.capacitybytes": "Capacity Bytes",
|
||||||
"label.capacityiops": "IOPS Total",
|
"label.capacityiops": "IOPS Total",
|
||||||
|
"label.category": "Category",
|
||||||
"label.certchain": "Chain",
|
"label.certchain": "Chain",
|
||||||
"label.certificate": "Certificate",
|
"label.certificate": "Certificate",
|
||||||
"label.certificate.details": "Certificate Details",
|
"label.certificate.details": "Certificate Details",
|
||||||
@ -606,6 +609,7 @@
|
|||||||
"label.delete.acl.list": "Delete ACL List",
|
"label.delete.acl.list": "Delete ACL List",
|
||||||
"label.delete.affinity.group": "Delete Affinity Group",
|
"label.delete.affinity.group": "Delete Affinity Group",
|
||||||
"label.delete.alerts": "Delete alerts",
|
"label.delete.alerts": "Delete alerts",
|
||||||
|
"label.delete.backup" : "Delete Backup",
|
||||||
"label.delete.baremetal.rack.configuration": "Delete Baremetal Rack Configuration",
|
"label.delete.baremetal.rack.configuration": "Delete Baremetal Rack Configuration",
|
||||||
"label.delete.bigswitchbcf": "Remove BigSwitch BCF Controller",
|
"label.delete.bigswitchbcf": "Remove BigSwitch BCF Controller",
|
||||||
"label.delete.brocadevcs": "Remove Brocade Vcs Switch",
|
"label.delete.brocadevcs": "Remove Brocade Vcs Switch",
|
||||||
@ -696,6 +700,7 @@
|
|||||||
"label.disksizetotal": "Disk Total",
|
"label.disksizetotal": "Disk Total",
|
||||||
"label.disksizetotalgb": "Total",
|
"label.disksizetotalgb": "Total",
|
||||||
"label.disksizeunallocatedgb": "Unallocated",
|
"label.disksizeunallocatedgb": "Unallocated",
|
||||||
|
"label.disksizeused": "Disk Size Used",
|
||||||
"label.disksizeusedgb": "Used",
|
"label.disksizeusedgb": "Used",
|
||||||
"label.display.text": "Display Text",
|
"label.display.text": "Display Text",
|
||||||
"label.displayname": "Display Name",
|
"label.displayname": "Display Name",
|
||||||
@ -955,7 +960,7 @@
|
|||||||
"label.instanceport": "Instance Port",
|
"label.instanceport": "Instance Port",
|
||||||
"label.instances": "Instances",
|
"label.instances": "Instances",
|
||||||
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
||||||
"label.intermediate.certificate": "Intermediate certificate {0}",
|
"label.intermediate.certificate": "Intermediate certificate",
|
||||||
"label.internal.dns.1": "Internal DNS 1",
|
"label.internal.dns.1": "Internal DNS 1",
|
||||||
"label.internal.dns.2": "Internal DNS 2",
|
"label.internal.dns.2": "Internal DNS 2",
|
||||||
"label.internal.lb": "Internal LB",
|
"label.internal.lb": "Internal LB",
|
||||||
@ -1151,8 +1156,10 @@
|
|||||||
"label.max.secondary.storage": "Max. secondary (GiB)",
|
"label.max.secondary.storage": "Max. secondary (GiB)",
|
||||||
"label.maxcpu": "Max. CPU Cores",
|
"label.maxcpu": "Max. CPU Cores",
|
||||||
"label.maxcpunumber": "Max CPU Cores",
|
"label.maxcpunumber": "Max CPU Cores",
|
||||||
|
"label.maxdatavolumeslimit": "Max data volumes limit",
|
||||||
"label.maxerrorretry": "Max Error Retry",
|
"label.maxerrorretry": "Max Error Retry",
|
||||||
"label.maxguestslimit": "Max guest limit",
|
"label.maxguestslimit": "Max guest limit",
|
||||||
|
"label.maxhostspercluster": "Max hosts per cluster",
|
||||||
"label.maximum": "Maximum",
|
"label.maximum": "Maximum",
|
||||||
"label.maxinstance": "Max Instances",
|
"label.maxinstance": "Max Instances",
|
||||||
"label.maxiops": "Max IOPS",
|
"label.maxiops": "Max IOPS",
|
||||||
@ -1264,6 +1271,7 @@
|
|||||||
"label.netscaler.details": "NetScaler details",
|
"label.netscaler.details": "NetScaler details",
|
||||||
"label.network": "Network",
|
"label.network": "Network",
|
||||||
"label.network.acl": "Network ACL",
|
"label.network.acl": "Network ACL",
|
||||||
|
"label.network.acl.lists": "Network ACL Lists",
|
||||||
"label.network.acls": "Network ACLs",
|
"label.network.acls": "Network ACLs",
|
||||||
"label.network.addvm": "Add network to VM",
|
"label.network.addvm": "Add network to VM",
|
||||||
"label.network.desc": "Network Desc",
|
"label.network.desc": "Network Desc",
|
||||||
@ -1410,6 +1418,7 @@
|
|||||||
"label.ping.dir": "PING Directory",
|
"label.ping.dir": "PING Directory",
|
||||||
"label.ping.path": "Ping Path",
|
"label.ping.path": "Ping Path",
|
||||||
"label.ping.storage.ip": "PING storage IP",
|
"label.ping.storage.ip": "PING storage IP",
|
||||||
|
"label.pkcs.private.certificate": "PKCS#8 Private certificate",
|
||||||
"label.plannermode": "Planner mode",
|
"label.plannermode": "Planner mode",
|
||||||
"label.please.complete.the.following.fields": "Please complete the following fields",
|
"label.please.complete.the.following.fields": "Please complete the following fields",
|
||||||
"label.please.specify.netscaler.info": "Please specify Netscaler info",
|
"label.please.specify.netscaler.info": "Please specify Netscaler info",
|
||||||
@ -1463,6 +1472,7 @@
|
|||||||
"label.project.invite": "Invite to project",
|
"label.project.invite": "Invite to project",
|
||||||
"label.project.name": "Project name",
|
"label.project.name": "Project name",
|
||||||
"label.project.view": "Project View",
|
"label.project.view": "Project View",
|
||||||
|
"label.projectaccountname": "Project Account Name",
|
||||||
"label.projectid": "Project ID",
|
"label.projectid": "Project ID",
|
||||||
"label.projects": "Projects",
|
"label.projects": "Projects",
|
||||||
"label.promiscuousmode": "Promiscuous Mode",
|
"label.promiscuousmode": "Promiscuous Mode",
|
||||||
@ -1682,7 +1692,9 @@
|
|||||||
"label.security.groups": "Security Groups",
|
"label.security.groups": "Security Groups",
|
||||||
"label.security.groups.enabled": "Security Groups Enabled",
|
"label.security.groups.enabled": "Security Groups Enabled",
|
||||||
"label.securitygroup": "Security Group",
|
"label.securitygroup": "Security Group",
|
||||||
|
"label.securitygroupenabled": "Security Groups Enabled",
|
||||||
"label.securitygroups": "Security Groups",
|
"label.securitygroups": "Security Groups",
|
||||||
|
"label.securitygroupsenabled": "Security Groups Enabled",
|
||||||
"label.select": "Select",
|
"label.select": "Select",
|
||||||
"label.select-view": "Select view",
|
"label.select-view": "Select view",
|
||||||
"label.select.a.zone": "Select a zone",
|
"label.select.a.zone": "Select a zone",
|
||||||
@ -1696,12 +1708,14 @@
|
|||||||
"label.select.region": "Select region",
|
"label.select.region": "Select region",
|
||||||
"label.select.tier": "Select Tier",
|
"label.select.tier": "Select Tier",
|
||||||
"label.select.vm.for.static.nat": "Select VM for static NAT",
|
"label.select.vm.for.static.nat": "Select VM for static NAT",
|
||||||
|
"label.select.zones": "Select zones",
|
||||||
"label.self": "Mine",
|
"label.self": "Mine",
|
||||||
"label.selfexecutable": "Self",
|
"label.selfexecutable": "Self",
|
||||||
"label.semanticversion": "Semantic version",
|
"label.semanticversion": "Semantic version",
|
||||||
"label.sent": "Date",
|
"label.sent": "Date",
|
||||||
"label.sentbytes": "Bytes Sent",
|
"label.sentbytes": "Bytes Sent",
|
||||||
"label.server": "Server",
|
"label.server": "Server",
|
||||||
|
"label.server.certificate": "Server certificate",
|
||||||
"label.service.connectivity.distributedroutercapabilitycheckbox": "Distributed Router",
|
"label.service.connectivity.distributedroutercapabilitycheckbox": "Distributed Router",
|
||||||
"label.service.connectivity.regionlevelvpccapabilitycheckbox": "Region Level VPC",
|
"label.service.connectivity.regionlevelvpccapabilitycheckbox": "Region Level VPC",
|
||||||
"label.service.lb.elasticlbcheckbox": "Elastic LB",
|
"label.service.lb.elasticlbcheckbox": "Elastic LB",
|
||||||
@ -1737,6 +1751,7 @@
|
|||||||
"label.shutdown.provider": "Shutdown provider",
|
"label.shutdown.provider": "Shutdown provider",
|
||||||
"label.simplified.chinese.keyboard": "Simplified Chinese keyboard",
|
"label.simplified.chinese.keyboard": "Simplified Chinese keyboard",
|
||||||
"label.site.to.site.vpn": "Site-to-site VPN",
|
"label.site.to.site.vpn": "Site-to-site VPN",
|
||||||
|
"label.site.to.site.vpn.connections": "Site-to-site VPN Connections",
|
||||||
"label.size": "Size",
|
"label.size": "Size",
|
||||||
"label.sizegb": "Size",
|
"label.sizegb": "Size",
|
||||||
"label.skip.guide": "I have used CloudStack before, skip this guide",
|
"label.skip.guide": "I have used CloudStack before, skip this guide",
|
||||||
@ -1759,6 +1774,7 @@
|
|||||||
"label.sourcecidr": "Source CIDR",
|
"label.sourcecidr": "Source CIDR",
|
||||||
"label.sourceipaddress": "Source IP Address",
|
"label.sourceipaddress": "Source IP Address",
|
||||||
"label.sourcenat": "Source NAT",
|
"label.sourcenat": "Source NAT",
|
||||||
|
"label.sourcenatsupported": "Source NAT Supported",
|
||||||
"label.sourcenattype": "Supported Source NAT type",
|
"label.sourcenattype": "Supported Source NAT type",
|
||||||
"label.sourceport": "Source Port",
|
"label.sourceport": "Source Port",
|
||||||
"label.specify.vxlan": "Specify VXLAN",
|
"label.specify.vxlan": "Specify VXLAN",
|
||||||
@ -1810,6 +1826,7 @@
|
|||||||
"label.sticky.holdtime": "Hold time",
|
"label.sticky.holdtime": "Hold time",
|
||||||
"label.sticky.indirect": "Indirect",
|
"label.sticky.indirect": "Indirect",
|
||||||
"label.sticky.length": "Length",
|
"label.sticky.length": "Length",
|
||||||
|
"label.sticky.mode": "Mode",
|
||||||
"label.sticky.name": "Sticky Name",
|
"label.sticky.name": "Sticky Name",
|
||||||
"label.sticky.nocache": "No cache",
|
"label.sticky.nocache": "No cache",
|
||||||
"label.sticky.postonly": "Post only",
|
"label.sticky.postonly": "Post only",
|
||||||
@ -1823,6 +1840,7 @@
|
|||||||
"label.storage.tags": "Storage Tags",
|
"label.storage.tags": "Storage Tags",
|
||||||
"label.storage.traffic": "Storage Traffic",
|
"label.storage.traffic": "Storage Traffic",
|
||||||
"label.storageid": "Primary Storage",
|
"label.storageid": "Primary Storage",
|
||||||
|
"label.storagemotionenabled": "Storage Motion Enabled",
|
||||||
"label.storagepolicy": "Storage policy",
|
"label.storagepolicy": "Storage policy",
|
||||||
"label.storagepool": "Storage Pool",
|
"label.storagepool": "Storage Pool",
|
||||||
"label.storagetags": "Storage Tags",
|
"label.storagetags": "Storage Tags",
|
||||||
@ -1836,6 +1854,7 @@
|
|||||||
"label.summary": "Summary",
|
"label.summary": "Summary",
|
||||||
"label.sunday": "Sunday",
|
"label.sunday": "Sunday",
|
||||||
"label.supportedservices": "Supported Services",
|
"label.supportedservices": "Supported Services",
|
||||||
|
"label.supportsha": "Supports HA",
|
||||||
"label.supportspublicaccess": "Supports Public Access",
|
"label.supportspublicaccess": "Supports Public Access",
|
||||||
"label.supportsregionlevelvpc": "Supports Region Level VPC",
|
"label.supportsregionlevelvpc": "Supports Region Level VPC",
|
||||||
"label.supportsstrechedl2subnet": "Supports Streched L2 Subnet",
|
"label.supportsstrechedl2subnet": "Supports Streched L2 Subnet",
|
||||||
@ -1988,6 +2007,7 @@
|
|||||||
"label.virtual.routers.group.zone": "Virtual Routers group by zone",
|
"label.virtual.routers.group.zone": "Virtual Routers group by zone",
|
||||||
"label.virtualmachinedisplayname": "VM name",
|
"label.virtualmachinedisplayname": "VM name",
|
||||||
"label.virtualmachineid": "VM ID",
|
"label.virtualmachineid": "VM ID",
|
||||||
|
"label.virtualmachinename": "VM name",
|
||||||
"label.virtualsize": "Virtual Size",
|
"label.virtualsize": "Virtual Size",
|
||||||
"label.vlan": "VLAN/VNI",
|
"label.vlan": "VLAN/VNI",
|
||||||
"label.vlan.range": "VLAN/VNI Range",
|
"label.vlan.range": "VLAN/VNI Range",
|
||||||
@ -2048,6 +2068,7 @@
|
|||||||
"label.vpclimit": "VPC limits",
|
"label.vpclimit": "VPC limits",
|
||||||
"label.vpcname": "VPC",
|
"label.vpcname": "VPC",
|
||||||
"label.vpcoffering": "VPC Offering",
|
"label.vpcoffering": "VPC Offering",
|
||||||
|
"label.vpctotal": "Total VPCs",
|
||||||
"label.vpn": "VPN",
|
"label.vpn": "VPN",
|
||||||
"label.vpn.connection": "VPN Connection",
|
"label.vpn.connection": "VPN Connection",
|
||||||
"label.vpn.gateway": "VPN Gateway",
|
"label.vpn.gateway": "VPN Gateway",
|
||||||
@ -2236,6 +2257,9 @@
|
|||||||
"message.assign.instance.another": "Please specify the account type, domain, account name and network (optional) of the new account. <br> If the default nic of the vm is on a shared network, CloudStack will check if the network can be used by the new account if you do not specify one network. <br> If the default nic of the vm is on a isolated network, and the new account has more one isolated networks, you should specify one.",
|
"message.assign.instance.another": "Please specify the account type, domain, account name and network (optional) of the new account. <br> If the default nic of the vm is on a shared network, CloudStack will check if the network can be used by the new account if you do not specify one network. <br> If the default nic of the vm is on a isolated network, and the new account has more one isolated networks, you should specify one.",
|
||||||
"message.attach.iso.confirm": "Please confirm that you want to attach the ISO to this virtual instance.",
|
"message.attach.iso.confirm": "Please confirm that you want to attach the ISO to this virtual instance.",
|
||||||
"message.attach.volume": "Please fill in the following data to attach a new volume. If you are attaching a disk volume to a Windows based virtual machine, you will need to reboot the instance to see the attached disk.",
|
"message.attach.volume": "Please fill in the following data to attach a new volume. If you are attaching a disk volume to a Windows based virtual machine, you will need to reboot the instance to see the attached disk.",
|
||||||
|
"message.backup.attach.restore": "Please confirm that you want to restore and attach the volume from the backup?",
|
||||||
|
"message.backup.offering.remove": "Are you sure you want to remove VM from backup offering and delete the backup chain?",
|
||||||
|
"message.backup.restore": "Please confirm that you want to restore the vm backup?",
|
||||||
"message.basic.mode.desc": "Choose this network model if you do <b>*<u>not</u>*</b> want to enable any VLAN support. All virtual instances created under this network model will be assigned an IP directly from the network and security groups are used to provide security and segregation.",
|
"message.basic.mode.desc": "Choose this network model if you do <b>*<u>not</u>*</b> want to enable any VLAN support. All virtual instances created under this network model will be assigned an IP directly from the network and security groups are used to provide security and segregation.",
|
||||||
"message.change.offering.confirm": "Please confirm that you wish to change the service offering of this virtual instance.",
|
"message.change.offering.confirm": "Please confirm that you wish to change the service offering of this virtual instance.",
|
||||||
"message.change.password": "Please change your password.",
|
"message.change.password": "Please change your password.",
|
||||||
@ -2278,7 +2302,7 @@
|
|||||||
"message.confirm.delete.srx": "Please confirm that you would like to delete SRX",
|
"message.confirm.delete.srx": "Please confirm that you would like to delete SRX",
|
||||||
"message.confirm.delete.ucs.manager": "Please confirm that you want to delete UCS Manager",
|
"message.confirm.delete.ucs.manager": "Please confirm that you want to delete UCS Manager",
|
||||||
"message.confirm.destroy.kubernetes.cluster": "Please confirm that you want to destroy this Kubernetes cluster.",
|
"message.confirm.destroy.kubernetes.cluster": "Please confirm that you want to destroy this Kubernetes cluster.",
|
||||||
"message.confirm.destroy.router": "Please confirm that you would like to destroy this router",
|
"message.confirm.destroy.router": "All services provided by this virtual router will be interrupted. Please confirm that you want to stop this router. Please confirm that you would like to destroy this router",
|
||||||
"message.confirm.disable.host": "Please confirm that you want to disable the host",
|
"message.confirm.disable.host": "Please confirm that you want to disable the host",
|
||||||
"message.confirm.disable.network.offering": "Are you sure you want to disable this network offering?",
|
"message.confirm.disable.network.offering": "Are you sure you want to disable this network offering?",
|
||||||
"message.confirm.disable.provider": "Please confirm that you would like to disable this provider",
|
"message.confirm.disable.provider": "Please confirm that you would like to disable this provider",
|
||||||
@ -2335,8 +2359,13 @@
|
|||||||
"message.creating.zone": "Creating zone",
|
"message.creating.zone": "Creating zone",
|
||||||
"message.dedicate.zone": "Dedicating zone",
|
"message.dedicate.zone": "Dedicating zone",
|
||||||
"message.dedicated.zone.released": "Zone dedication released",
|
"message.dedicated.zone.released": "Zone dedication released",
|
||||||
|
"message.dedicating.cluster": "Dedicating Cluster...",
|
||||||
|
"message.dedicating.host": "Dedicating Host...",
|
||||||
|
"message.dedicating.pod": "Dedicating Pod...",
|
||||||
|
"message.dedicating.zone": "Dedicating Zone...",
|
||||||
"message.delete.account": "Please confirm that you want to delete this account.",
|
"message.delete.account": "Please confirm that you want to delete this account.",
|
||||||
"message.delete.affinity.group": "Please confirm that you would like to remove this affinity group.",
|
"message.delete.affinity.group": "Please confirm that you would like to remove this affinity group.",
|
||||||
|
"message.delete.backup": "Are you sure you want to delete the backup?",
|
||||||
"message.delete.gateway": "Please confirm you want to delete the gateway",
|
"message.delete.gateway": "Please confirm you want to delete the gateway",
|
||||||
"message.delete.project": "Are you sure you want to delete this project?",
|
"message.delete.project": "Are you sure you want to delete this project?",
|
||||||
"message.delete.sslcertificate": "Please confirm that you would like to delete this certificate.",
|
"message.delete.sslcertificate": "Please confirm that you would like to delete this certificate.",
|
||||||
@ -2502,6 +2531,10 @@
|
|||||||
"message.register.failed": "Registration Failed",
|
"message.register.failed": "Registration Failed",
|
||||||
"message.register.succeeded": "Registration Succeeded",
|
"message.register.succeeded": "Registration Succeeded",
|
||||||
"message.reinstall.vm": "NOTE: Proceed with caution. This will cause the VM to be reinstalled from the template; data on the root disk will be lost. Extra data volumes, if any, will not be touched.",
|
"message.reinstall.vm": "NOTE: Proceed with caution. This will cause the VM to be reinstalled from the template; data on the root disk will be lost. Extra data volumes, if any, will not be touched.",
|
||||||
|
"message.releasing.dedicated.cluster": "Releasing dedicated cluster...",
|
||||||
|
"message.releasing.dedicated.host": "Releasing dedicated host...",
|
||||||
|
"message.releasing.dedicated.pod": "Releasing dedicated pod...",
|
||||||
|
"message.releasing.dedicated.zone": "Releasing dedicated zone...",
|
||||||
"message.remove.ldap": "Are you sure you want to delete the LDAP configuration?",
|
"message.remove.ldap": "Are you sure you want to delete the LDAP configuration?",
|
||||||
"message.remove.region": "Are you sure you want to remove this region from this management server?",
|
"message.remove.region": "Are you sure you want to remove this region from this management server?",
|
||||||
"message.remove.vpc": "Please confirm that you want to remove the VPC",
|
"message.remove.vpc": "Please confirm that you want to remove the VPC",
|
||||||
|
|||||||
@ -861,7 +861,7 @@
|
|||||||
"label.instanceport": "Puerto de Instancia",
|
"label.instanceport": "Puerto de Instancia",
|
||||||
"label.instances": "Instancias",
|
"label.instances": "Instancias",
|
||||||
"label.instanciate.template.associate.profile.blade": "Instanciar Plantilla y asociar al Perfil al Blade",
|
"label.instanciate.template.associate.profile.blade": "Instanciar Plantilla y asociar al Perfil al Blade",
|
||||||
"label.intermediate.certificate": "Certificado intermedio {0}",
|
"label.intermediate.certificate": "Certificado intermedio",
|
||||||
"label.internal.dns.1": "DNS interno una",
|
"label.internal.dns.1": "DNS interno una",
|
||||||
"label.internal.dns.2": "DNS interno 2",
|
"label.internal.dns.2": "DNS interno 2",
|
||||||
"label.internal.lb": "LB interno",
|
"label.internal.lb": "LB interno",
|
||||||
|
|||||||
@ -861,7 +861,7 @@
|
|||||||
"label.instanceport": "Port Instance",
|
"label.instanceport": "Port Instance",
|
||||||
"label.instances": "Instances",
|
"label.instances": "Instances",
|
||||||
"label.instanciate.template.associate.profile.blade": "Instancier Mod\u00e8le et Profil associ\u00e9 \u00e0 la Lame",
|
"label.instanciate.template.associate.profile.blade": "Instancier Mod\u00e8le et Profil associ\u00e9 \u00e0 la Lame",
|
||||||
"label.intermediate.certificate": "Certificat interm\u00e9diaire {0}",
|
"label.intermediate.certificate": "Certificat interm\u00e9diaire",
|
||||||
"label.internal.dns.1": "DNS interne 1",
|
"label.internal.dns.1": "DNS interne 1",
|
||||||
"label.internal.dns.2": "DNS interne 2",
|
"label.internal.dns.2": "DNS interne 2",
|
||||||
"label.internal.lb": "R\u00e9partiteur interne",
|
"label.internal.lb": "R\u00e9partiteur interne",
|
||||||
|
|||||||
@ -860,7 +860,7 @@
|
|||||||
"label.instanceport": "P\u00e9ld\u00e1ny port",
|
"label.instanceport": "P\u00e9ld\u00e1ny port",
|
||||||
"label.instances": "P\u00e9ld\u00e1nyok",
|
"label.instances": "P\u00e9ld\u00e1nyok",
|
||||||
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
||||||
"label.intermediate.certificate": "K\u00f6zb\u00fcls\u0151 tan\u00fas\u00edtv\u00e1ny {0}",
|
"label.intermediate.certificate": "K\u00f6zb\u00fcls\u0151 tan\u00fas\u00edtv\u00e1ny",
|
||||||
"label.internal.dns.1": "1. bels\u0151 DNS",
|
"label.internal.dns.1": "1. bels\u0151 DNS",
|
||||||
"label.internal.dns.2": "2. bels\u0151 DNS",
|
"label.internal.dns.2": "2. bels\u0151 DNS",
|
||||||
"label.internal.lb": "Bels\u0151 LB",
|
"label.internal.lb": "Bels\u0151 LB",
|
||||||
|
|||||||
@ -34,7 +34,7 @@ function loadLocaleMessages () {
|
|||||||
Vue.use(VueI18n)
|
Vue.use(VueI18n)
|
||||||
|
|
||||||
export default new VueI18n({
|
export default new VueI18n({
|
||||||
locale: Vue.ls ? Vue.ls.get('current_locale') || 'en' : 'en',
|
locale: Vue.ls ? Vue.ls.get('LOCALE') || 'en' : 'en',
|
||||||
fallbackLocale: 'en',
|
fallbackLocale: 'en',
|
||||||
silentTranslationWarn: true,
|
silentTranslationWarn: true,
|
||||||
messages: loadLocaleMessages()
|
messages: loadLocaleMessages()
|
||||||
|
|||||||
@ -861,7 +861,7 @@
|
|||||||
"label.instanceport": "Instance Port",
|
"label.instanceport": "Instance Port",
|
||||||
"label.instances": "Istanze",
|
"label.instances": "Istanze",
|
||||||
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
||||||
"label.intermediate.certificate": "Intermediate certificate {0}",
|
"label.intermediate.certificate": "Intermediate certificate",
|
||||||
"label.internal.dns.1": "DNS 1 Interno",
|
"label.internal.dns.1": "DNS 1 Interno",
|
||||||
"label.internal.dns.2": "DNS2 Interno",
|
"label.internal.dns.2": "DNS2 Interno",
|
||||||
"label.internal.lb": "Internal LB",
|
"label.internal.lb": "Internal LB",
|
||||||
|
|||||||
@ -860,7 +860,7 @@
|
|||||||
"label.instanceport": "\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9 \u30dd\u30fc\u30c8",
|
"label.instanceport": "\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9 \u30dd\u30fc\u30c8",
|
||||||
"label.instances": "\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9",
|
"label.instances": "\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9",
|
||||||
"label.instanciate.template.associate.profile.blade": "\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u4f5c\u6210\u304a\u3088\u3073\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3068\u30d6\u30ec\u30fc\u30c9\u306e\u95a2\u9023\u4ed8\u3051",
|
"label.instanciate.template.associate.profile.blade": "\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u4f5c\u6210\u304a\u3088\u3073\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3068\u30d6\u30ec\u30fc\u30c9\u306e\u95a2\u9023\u4ed8\u3051",
|
||||||
"label.intermediate.certificate": "\u4e2d\u9593\u8a3c\u660e\u66f8 {0}",
|
"label.intermediate.certificate": "\u4e2d\u9593\u8a3c\u660e\u66f8",
|
||||||
"label.internal.dns.1": "\u5185\u90e8 DNS 1",
|
"label.internal.dns.1": "\u5185\u90e8 DNS 1",
|
||||||
"label.internal.dns.2": "\u5185\u90e8 DNS 2",
|
"label.internal.dns.2": "\u5185\u90e8 DNS 2",
|
||||||
"label.internal.lb": "\u5185\u90e8 LB",
|
"label.internal.lb": "\u5185\u90e8 LB",
|
||||||
|
|||||||
@ -860,7 +860,7 @@
|
|||||||
"label.instanceport": "Instance Port",
|
"label.instanceport": "Instance Port",
|
||||||
"label.instances": "\uc778\uc2a4\ud134\uc2a4",
|
"label.instances": "\uc778\uc2a4\ud134\uc2a4",
|
||||||
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
||||||
"label.intermediate.certificate": "Intermediate certificate {0}",
|
"label.intermediate.certificate": "Intermediate certificate",
|
||||||
"label.internal.dns.1": "\ub0b4\ubd80 DNS 1",
|
"label.internal.dns.1": "\ub0b4\ubd80 DNS 1",
|
||||||
"label.internal.dns.2": "\ub0b4\ubd80 DNS 2",
|
"label.internal.dns.2": "\ub0b4\ubd80 DNS 2",
|
||||||
"label.internal.lb": "Internal LB",
|
"label.internal.lb": "Internal LB",
|
||||||
|
|||||||
@ -861,7 +861,7 @@
|
|||||||
"label.instanceport": "Instansport",
|
"label.instanceport": "Instansport",
|
||||||
"label.instances": "Instanser",
|
"label.instances": "Instanser",
|
||||||
"label.instanciate.template.associate.profile.blade": "Instansier mal og assosier malen med Blade",
|
"label.instanciate.template.associate.profile.blade": "Instansier mal og assosier malen med Blade",
|
||||||
"label.intermediate.certificate": "Intermediate sertifikat {0}",
|
"label.intermediate.certificate": "Intermediate sertifikat",
|
||||||
"label.internal.dns.1": "Intern DNS 1",
|
"label.internal.dns.1": "Intern DNS 1",
|
||||||
"label.internal.dns.2": "Intern DNS 2",
|
"label.internal.dns.2": "Intern DNS 2",
|
||||||
"label.internal.lb": "Intern LB",
|
"label.internal.lb": "Intern LB",
|
||||||
|
|||||||
@ -861,7 +861,7 @@
|
|||||||
"label.instanceport": "instantie poort",
|
"label.instanceport": "instantie poort",
|
||||||
"label.instances": "Instanties",
|
"label.instances": "Instanties",
|
||||||
"label.instanciate.template.associate.profile.blade": "Initieer Template en verbind Profiel met Blade",
|
"label.instanciate.template.associate.profile.blade": "Initieer Template en verbind Profiel met Blade",
|
||||||
"label.intermediate.certificate": "Intermediair certificaat {0}",
|
"label.intermediate.certificate": "Intermediair certificaat",
|
||||||
"label.internal.dns.1": "Interne DNS 1",
|
"label.internal.dns.1": "Interne DNS 1",
|
||||||
"label.internal.dns.2": "Interne DNS 2",
|
"label.internal.dns.2": "Interne DNS 2",
|
||||||
"label.internal.lb": "interne LB",
|
"label.internal.lb": "interne LB",
|
||||||
|
|||||||
@ -861,7 +861,7 @@
|
|||||||
"label.instanceport": "Instance Port",
|
"label.instanceport": "Instance Port",
|
||||||
"label.instances": "Instancje",
|
"label.instances": "Instancje",
|
||||||
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
||||||
"label.intermediate.certificate": "Intermediate certificate {0}",
|
"label.intermediate.certificate": "Intermediate certificate",
|
||||||
"label.internal.dns.1": "Internal DNS 1",
|
"label.internal.dns.1": "Internal DNS 1",
|
||||||
"label.internal.dns.2": "Internal DNS 2",
|
"label.internal.dns.2": "Internal DNS 2",
|
||||||
"label.internal.lb": "Internal LB",
|
"label.internal.lb": "Internal LB",
|
||||||
|
|||||||
@ -860,7 +860,7 @@
|
|||||||
"label.instanceport": "Instanciar Porta",
|
"label.instanceport": "Instanciar Porta",
|
||||||
"label.instances": "Inst\u00e2ncias",
|
"label.instances": "Inst\u00e2ncias",
|
||||||
"label.instanciate.template.associate.profile.blade": "Instancia Template e Associa Perfil \u00e0 L\u00e2mina",
|
"label.instanciate.template.associate.profile.blade": "Instancia Template e Associa Perfil \u00e0 L\u00e2mina",
|
||||||
"label.intermediate.certificate": "Certificado intermedi\u00e1rio {0}",
|
"label.intermediate.certificate": "Certificado intermedi\u00e1rio",
|
||||||
"label.internal.dns.1": "DNS 1 Interno",
|
"label.internal.dns.1": "DNS 1 Interno",
|
||||||
"label.internal.dns.2": "DNS 2 Interno",
|
"label.internal.dns.2": "DNS 2 Interno",
|
||||||
"label.internal.lb": "LB interno",
|
"label.internal.lb": "LB interno",
|
||||||
|
|||||||
@ -860,7 +860,7 @@
|
|||||||
"label.instanceport": "Instance Port",
|
"label.instanceport": "Instance Port",
|
||||||
"label.instances": "\u041c\u0430\u0448\u0438\u043d\u044b",
|
"label.instances": "\u041c\u0430\u0448\u0438\u043d\u044b",
|
||||||
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
||||||
"label.intermediate.certificate": "Intermediate certificate {0}",
|
"label.intermediate.certificate": "Intermediate certificate",
|
||||||
"label.internal.dns.1": "\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 DNS 1",
|
"label.internal.dns.1": "\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 DNS 1",
|
||||||
"label.internal.dns.2": "\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 DNS 2",
|
"label.internal.dns.2": "\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 DNS 2",
|
||||||
"label.internal.lb": "Internal LB",
|
"label.internal.lb": "Internal LB",
|
||||||
|
|||||||
@ -860,7 +860,7 @@
|
|||||||
"label.instanceport": "\u5b9e\u4f8b\u7aef\u53e3",
|
"label.instanceport": "\u5b9e\u4f8b\u7aef\u53e3",
|
||||||
"label.instances": "\u5b9e\u4f8b",
|
"label.instances": "\u5b9e\u4f8b",
|
||||||
"label.instanciate.template.associate.profile.blade": "\u5c06\u6a21\u677f\u5b9e\u4f8b\u5316\u5e76\u5c06\u914d\u7f6e\u6587\u4ef6\u4e0e\u5200\u7247\u5f0f\u670d\u52a1\u5668\u5173\u8054",
|
"label.instanciate.template.associate.profile.blade": "\u5c06\u6a21\u677f\u5b9e\u4f8b\u5316\u5e76\u5c06\u914d\u7f6e\u6587\u4ef6\u4e0e\u5200\u7247\u5f0f\u670d\u52a1\u5668\u5173\u8054",
|
||||||
"label.intermediate.certificate": "\u4e2d\u95f4\u8bc1\u4e66 {0}",
|
"label.intermediate.certificate": "\u4e2d\u95f4\u8bc1\u4e66",
|
||||||
"label.internal.dns.1": "\u5185\u90e8 DNS 1",
|
"label.internal.dns.1": "\u5185\u90e8 DNS 1",
|
||||||
"label.internal.dns.2": "\u5185\u90e8 DNS 2",
|
"label.internal.dns.2": "\u5185\u90e8 DNS 2",
|
||||||
"label.internal.lb": "\u5185\u90e8\u8d1f\u8f7d\u5747\u8861\u5668",
|
"label.internal.lb": "\u5185\u90e8\u8d1f\u8f7d\u5747\u8861\u5668",
|
||||||
|
|||||||
@ -99,7 +99,7 @@ export const pollJobPlugin = {
|
|||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
console.error(`${catchMessage} - ${e}`)
|
console.error(`${catchMessage} - ${e}`)
|
||||||
notification.error({
|
notification.error({
|
||||||
message: 'Error',
|
message: this.$t('label.error'),
|
||||||
description: catchMessage,
|
description: catchMessage,
|
||||||
duration: 0
|
duration: 0
|
||||||
})
|
})
|
||||||
@ -114,6 +114,7 @@ export const notifierPlugin = {
|
|||||||
|
|
||||||
install (Vue) {
|
install (Vue) {
|
||||||
Vue.prototype.$notifyError = function (error) {
|
Vue.prototype.$notifyError = function (error) {
|
||||||
|
console.log(error)
|
||||||
var msg = 'Request Failed'
|
var msg = 'Request Failed'
|
||||||
var desc = ''
|
var desc = ''
|
||||||
if (error && error.response) {
|
if (error && error.response) {
|
||||||
|
|||||||
@ -51,7 +51,7 @@
|
|||||||
@exec-action="execAction"/>
|
@exec-action="execAction"/>
|
||||||
<a-select
|
<a-select
|
||||||
v-if="filters && filters.length > 0"
|
v-if="filters && filters.length > 0"
|
||||||
placeholder="Filter By"
|
:placeholder="$t('label.filterby')"
|
||||||
:value="$t('label.' + selectedFilter)"
|
:value="$t('label.' + selectedFilter)"
|
||||||
style="min-width: 100px; margin-left: 10px"
|
style="min-width: 100px; margin-left: 10px"
|
||||||
@change="changeFilter">
|
@change="changeFilter">
|
||||||
@ -62,7 +62,7 @@
|
|||||||
</a-select>
|
</a-select>
|
||||||
<a-input-search
|
<a-input-search
|
||||||
style="width: 20vw; margin-left: 10px"
|
style="width: 20vw; margin-left: 10px"
|
||||||
placeholder="Search"
|
:placeholder="$t('label.search')"
|
||||||
v-model="searchQuery"
|
v-model="searchQuery"
|
||||||
v-if="!dataView && !treeView"
|
v-if="!dataView && !treeView"
|
||||||
allowClear
|
allowClear
|
||||||
@ -118,7 +118,9 @@
|
|||||||
</span>
|
</span>
|
||||||
<a-spin :spinning="currentAction.loading">
|
<a-spin :spinning="currentAction.loading">
|
||||||
<span v-if="currentAction.message">
|
<span v-if="currentAction.message">
|
||||||
<a-alert :message="$t(currentAction.message)" type="warning" />
|
<a-alert type="warning">
|
||||||
|
<span slot="message" v-html="$t(currentAction.message)" />
|
||||||
|
</a-alert>
|
||||||
<br v-if="currentAction.paramFields.length > 0"/>
|
<br v-if="currentAction.paramFields.length > 0"/>
|
||||||
</span>
|
</span>
|
||||||
<a-form
|
<a-form
|
||||||
@ -141,7 +143,7 @@
|
|||||||
<span v-if="field.type==='boolean'">
|
<span v-if="field.type==='boolean'">
|
||||||
<a-switch
|
<a-switch
|
||||||
v-decorator="[field.name, {
|
v-decorator="[field.name, {
|
||||||
rules: [{ required: field.required, message: 'Please provide input' }]
|
rules: [{ required: field.required, message: `${$t('message.error.required.input')}` }]
|
||||||
}]"
|
}]"
|
||||||
v-model="formModel[field.name]"
|
v-model="formModel[field.name]"
|
||||||
:placeholder="field.description"
|
:placeholder="field.description"
|
||||||
@ -151,7 +153,7 @@
|
|||||||
<a-select
|
<a-select
|
||||||
:loading="field.loading"
|
:loading="field.loading"
|
||||||
v-decorator="[field.name, {
|
v-decorator="[field.name, {
|
||||||
rules: [{ required: field.required, message: 'Please select option' }]
|
rules: [{ required: field.required, message: `${$t('message.error.select')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="field.description"
|
:placeholder="field.description"
|
||||||
>
|
>
|
||||||
@ -167,7 +169,7 @@
|
|||||||
showSearch
|
showSearch
|
||||||
optionFilterProp="children"
|
optionFilterProp="children"
|
||||||
v-decorator="[field.name, {
|
v-decorator="[field.name, {
|
||||||
rules: [{ required: field.required, message: 'Please select option' }]
|
rules: [{ required: field.required, message: `${$t('message.error.select')}` }]
|
||||||
}]"
|
}]"
|
||||||
:loading="field.loading"
|
:loading="field.loading"
|
||||||
:placeholder="field.description"
|
:placeholder="field.description"
|
||||||
@ -186,7 +188,7 @@
|
|||||||
showSearch
|
showSearch
|
||||||
optionFilterProp="children"
|
optionFilterProp="children"
|
||||||
v-decorator="[field.name, {
|
v-decorator="[field.name, {
|
||||||
rules: [{ required: field.required, message: 'Please select option' }]
|
rules: [{ required: field.required, message: `${$t('message.error.select')}` }]
|
||||||
}]"
|
}]"
|
||||||
:loading="field.loading"
|
:loading="field.loading"
|
||||||
:placeholder="field.description"
|
:placeholder="field.description"
|
||||||
@ -204,7 +206,7 @@
|
|||||||
:loading="field.loading"
|
:loading="field.loading"
|
||||||
mode="multiple"
|
mode="multiple"
|
||||||
v-decorator="[field.name, {
|
v-decorator="[field.name, {
|
||||||
rules: [{ required: field.required, message: 'Please select option' }]
|
rules: [{ required: field.required, message: `${$t('message.error.select')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="field.description"
|
:placeholder="field.description"
|
||||||
>
|
>
|
||||||
@ -216,7 +218,7 @@
|
|||||||
<span v-else-if="field.type==='long'">
|
<span v-else-if="field.type==='long'">
|
||||||
<a-input-number
|
<a-input-number
|
||||||
v-decorator="[field.name, {
|
v-decorator="[field.name, {
|
||||||
rules: [{ required: field.required, message: 'Please enter a number' }]
|
rules: [{ required: field.required, message: `${$t('message.validate.number')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="field.description"
|
:placeholder="field.description"
|
||||||
/>
|
/>
|
||||||
@ -224,7 +226,7 @@
|
|||||||
<span v-else-if="field.name==='password' || field.name==='currentpassword'">
|
<span v-else-if="field.name==='password' || field.name==='currentpassword'">
|
||||||
<a-input-password
|
<a-input-password
|
||||||
v-decorator="[field.name, {
|
v-decorator="[field.name, {
|
||||||
rules: [{ required: field.required, message: 'Please enter input' }]
|
rules: [{ required: field.required, message: `${$t('message.error.required.input')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="field.description"
|
:placeholder="field.description"
|
||||||
/>
|
/>
|
||||||
@ -233,7 +235,7 @@
|
|||||||
<a-textarea
|
<a-textarea
|
||||||
rows="2"
|
rows="2"
|
||||||
v-decorator="[field.name, {
|
v-decorator="[field.name, {
|
||||||
rules: [{ required: field.required, message: 'Please enter input' }]
|
rules: [{ required: field.required, message: `${$t('message.error.required.input')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="field.description"
|
:placeholder="field.description"
|
||||||
/>
|
/>
|
||||||
@ -241,7 +243,7 @@
|
|||||||
<span v-else>
|
<span v-else>
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="[field.name, {
|
v-decorator="[field.name, {
|
||||||
rules: [{ required: field.required, message: 'Please enter input' }]
|
rules: [{ required: field.required, message: `${$t('message.error.required.input')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="field.description" />
|
:placeholder="field.description" />
|
||||||
</span>
|
</span>
|
||||||
@ -487,7 +489,7 @@ export default {
|
|||||||
customRender[key] = columnKey[key]
|
customRender[key] = columnKey[key]
|
||||||
}
|
}
|
||||||
this.columns.push({
|
this.columns.push({
|
||||||
title: this.$t('label.' + key),
|
title: this.$t('label.' + String(key).toLowerCase()),
|
||||||
dataIndex: key,
|
dataIndex: key,
|
||||||
scopedSlots: { customRender: key },
|
scopedSlots: { customRender: key },
|
||||||
sorter: function (a, b) { return genericCompare(a[this.dataIndex] || '', b[this.dataIndex] || '') }
|
sorter: function (a, b) { return genericCompare(a[this.dataIndex] || '', b[this.dataIndex] || '') }
|
||||||
|
|||||||
@ -39,7 +39,7 @@
|
|||||||
<a-input
|
<a-input
|
||||||
size="large"
|
size="large"
|
||||||
type="text"
|
type="text"
|
||||||
placeholder="Username"
|
:placeholder="$t('label.username')"
|
||||||
v-decorator="[
|
v-decorator="[
|
||||||
'username',
|
'username',
|
||||||
{rules: [{ required: true, message: 'Enter your username' }, { validator: handleUsernameOrEmail }], validateTrigger: 'change'}
|
{rules: [{ required: true, message: 'Enter your username' }, { validator: handleUsernameOrEmail }], validateTrigger: 'change'}
|
||||||
@ -54,7 +54,7 @@
|
|||||||
size="large"
|
size="large"
|
||||||
type="password"
|
type="password"
|
||||||
autocomplete="false"
|
autocomplete="false"
|
||||||
placeholder="Password"
|
:placeholder="$t('label.password')"
|
||||||
v-decorator="[
|
v-decorator="[
|
||||||
'password',
|
'password',
|
||||||
{rules: [{ required: true, message: 'Enter your password' }], validateTrigger: 'blur'}
|
{rules: [{ required: true, message: 'Enter your password' }], validateTrigger: 'blur'}
|
||||||
@ -68,7 +68,7 @@
|
|||||||
<a-input
|
<a-input
|
||||||
size="large"
|
size="large"
|
||||||
type="text"
|
type="text"
|
||||||
placeholder="Domain"
|
:placeholder="$t('label.domain')"
|
||||||
v-decorator="[
|
v-decorator="[
|
||||||
'domain',
|
'domain',
|
||||||
{rules: [{ required: false, message: 'Enter your domain, leave empty for ROOT domain' }], validateTrigger: 'change'}
|
{rules: [{ required: false, message: 'Enter your domain, leave empty for ROOT domain' }], validateTrigger: 'change'}
|
||||||
|
|||||||
@ -210,7 +210,7 @@ export default {
|
|||||||
networkids: this.selectedNetwork
|
networkids: this.selectedNetwork
|
||||||
}).then(response => {
|
}).then(response => {
|
||||||
this.$notification.success({
|
this.$notification.success({
|
||||||
message: 'Successfully assigned instance'
|
message: this.$t('label.loadbalancerinstance')
|
||||||
})
|
})
|
||||||
this.loading = false
|
this.loading = false
|
||||||
this.$parent.$parent.close()
|
this.$parent.$parent.close()
|
||||||
|
|||||||
@ -37,7 +37,7 @@
|
|||||||
<a-form-item :label="this.$t('label.zoneid')">
|
<a-form-item :label="this.$t('label.zoneid')">
|
||||||
<a-select
|
<a-select
|
||||||
v-decorator="['zoneid', {
|
v-decorator="['zoneid', {
|
||||||
rules: [{ required: true, message: 'Please select option' }]
|
rules: [{ required: true, message: `${this.$t('message.error.select')}` }]
|
||||||
}]"
|
}]"
|
||||||
:options="zoneSelectOptions"
|
:options="zoneSelectOptions"
|
||||||
@change="onSelectZoneId"
|
@change="onSelectZoneId"
|
||||||
@ -127,7 +127,7 @@
|
|||||||
initialValue: hypervisorSelectOptions && hypervisorSelectOptions.length > 0
|
initialValue: hypervisorSelectOptions && hypervisorSelectOptions.length > 0
|
||||||
? hypervisorSelectOptions[0].value
|
? hypervisorSelectOptions[0].value
|
||||||
: null,
|
: null,
|
||||||
rules: [{ required: true, message: 'Please select option' }]
|
rules: [{ required: true, message: `${this.$t('message.error.select')}` }]
|
||||||
}]"
|
}]"
|
||||||
:options="hypervisorSelectOptions"
|
:options="hypervisorSelectOptions"
|
||||||
@change="value => this.hypervisor = value" />
|
@change="value => this.hypervisor = value" />
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="form">
|
<div class="form">
|
||||||
<a-input-search
|
<a-input-search
|
||||||
placeholder="Search"
|
:placeholder="$t('label.search')"
|
||||||
v-model="searchQuery"
|
v-model="searchQuery"
|
||||||
style="margin-bottom: 10px;"
|
style="margin-bottom: 10px;"
|
||||||
@search="fetchData" />
|
@search="fetchData" />
|
||||||
|
|||||||
@ -87,7 +87,7 @@
|
|||||||
v-decorator="['day-of-week', {
|
v-decorator="['day-of-week', {
|
||||||
rules: [{
|
rules: [{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}]
|
}]
|
||||||
}]" >
|
}]" >
|
||||||
<a-select-option v-for="(opt, optIndex) in dayOfWeek" :key="optIndex">
|
<a-select-option v-for="(opt, optIndex) in dayOfWeek" :key="optIndex">
|
||||||
@ -102,7 +102,7 @@
|
|||||||
v-decorator="['day-of-month', {
|
v-decorator="['day-of-month', {
|
||||||
rules: [{
|
rules: [{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}]
|
}]
|
||||||
}]">
|
}]">
|
||||||
<a-select-option v-for="opt in dayOfMonth" :key="opt.name">
|
<a-select-option v-for="opt in dayOfMonth" :key="opt.name">
|
||||||
@ -118,7 +118,7 @@
|
|||||||
v-decorator="['timezone', {
|
v-decorator="['timezone', {
|
||||||
rules: [{
|
rules: [{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
messamessage: `${this.$t('message.error.select')}`
|
||||||
}]
|
}]
|
||||||
}]"
|
}]"
|
||||||
:loading="fetching">
|
:loading="fetching">
|
||||||
|
|||||||
@ -19,7 +19,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<a-input-search
|
<a-input-search
|
||||||
style="width: 25vw;float: right;margin-bottom: 10px; z-index: 8"
|
style="width: 25vw;float: right;margin-bottom: 10px; z-index: 8"
|
||||||
placeholder="Search"
|
:placeholder="$t('label.search')"
|
||||||
v-model="filter"
|
v-model="filter"
|
||||||
@search="handleSearch" />
|
@search="handleSearch" />
|
||||||
<a-table
|
<a-table
|
||||||
|
|||||||
@ -19,7 +19,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<a-input-search
|
<a-input-search
|
||||||
style="width: 25vw;float: right;margin-bottom: 10px; z-index: 8"
|
style="width: 25vw;float: right;margin-bottom: 10px; z-index: 8"
|
||||||
placeholder="Search"
|
:placeholder="$t('label.search')"
|
||||||
v-model="filter"
|
v-model="filter"
|
||||||
@search="handleSearch" />
|
@search="handleSearch" />
|
||||||
<a-table
|
<a-table
|
||||||
|
|||||||
@ -19,7 +19,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<a-input-search
|
<a-input-search
|
||||||
style="width: 25vw;float: right;margin-bottom: 10px; z-index: 8"
|
style="width: 25vw;float: right;margin-bottom: 10px; z-index: 8"
|
||||||
placeholder="Search"
|
:placeholder="$t('label.search')"
|
||||||
v-model="filter"
|
v-model="filter"
|
||||||
@search="handleSearch" />
|
@search="handleSearch" />
|
||||||
<a-table
|
<a-table
|
||||||
|
|||||||
@ -19,7 +19,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<a-input-search
|
<a-input-search
|
||||||
style="width: 25vw; float: right; margin-bottom: 10px; z-index: 8"
|
style="width: 25vw; float: right; margin-bottom: 10px; z-index: 8"
|
||||||
placeholder="Search"
|
:placeholder="$t('label.search')"
|
||||||
v-model="filter"
|
v-model="filter"
|
||||||
@search="handleSearch" />
|
@search="handleSearch" />
|
||||||
<a-button type="primary" @click="showCreateForm = true" style="float: right; margin-right: 5px; z-index: 8">
|
<a-button type="primary" @click="showCreateForm = true" style="float: right; margin-right: 5px; z-index: 8">
|
||||||
|
|||||||
@ -19,7 +19,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<a-input-search
|
<a-input-search
|
||||||
style="width: 25vw;float: right;margin-bottom: 10px; z-index: 8"
|
style="width: 25vw;float: right;margin-bottom: 10px; z-index: 8"
|
||||||
placeholder="Search"
|
:placeholder="$t('label.search')"
|
||||||
v-model="filter"
|
v-model="filter"
|
||||||
@search="handleSearch" />
|
@search="handleSearch" />
|
||||||
<a-table
|
<a-table
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<span class="filter-group">
|
<span class="filter-group">
|
||||||
<a-input-search
|
<a-input-search
|
||||||
class="search-input"
|
class="search-input"
|
||||||
placeholder="Search"
|
:placeholder="$t('label.search')"
|
||||||
v-model="filter"
|
v-model="filter"
|
||||||
@search="filterDataSource">
|
@search="filterDataSource">
|
||||||
<a-popover
|
<a-popover
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<a-card :bordered="false">
|
<a-card :bordered="false">
|
||||||
<a-input-search
|
<a-input-search
|
||||||
style="margin-bottom: 10px"
|
style="margin-bottom: 10px"
|
||||||
placeholder="Search"
|
:placeholder="$t('label.search')"
|
||||||
v-model="searchQuery"
|
v-model="searchQuery"
|
||||||
@search="handleSearch" />
|
@search="handleSearch" />
|
||||||
<a-table
|
<a-table
|
||||||
@ -54,7 +54,7 @@
|
|||||||
<a-select
|
<a-select
|
||||||
showSearch
|
showSearch
|
||||||
v-decorator="['domainid', {
|
v-decorator="['domainid', {
|
||||||
rules: [{ required: true, message: 'Please select option' }]
|
rules: [{ required: true, memessage: `${this.$t('message.error.select')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="apiParams.domainid.description"
|
:placeholder="apiParams.domainid.description"
|
||||||
:loading="domainLoading">
|
:loading="domainLoading">
|
||||||
@ -73,7 +73,7 @@
|
|||||||
<a-select
|
<a-select
|
||||||
showSearch
|
showSearch
|
||||||
v-decorator="['roleid', {
|
v-decorator="['roleid', {
|
||||||
rules: [{ required: true, message: 'Please select option' }]
|
rules: [{ required: true, message: `${this.$t('message.error.select')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="apiParams.roleid.description"
|
:placeholder="apiParams.roleid.description"
|
||||||
:loading="roleLoading">
|
:loading="roleLoading">
|
||||||
|
|||||||
@ -34,7 +34,7 @@
|
|||||||
:dataSource="apis"
|
:dataSource="apis"
|
||||||
:value="newRule"
|
:value="newRule"
|
||||||
@change="val => newRule = val"
|
@change="val => newRule = val"
|
||||||
placeholder="Rule"
|
:placeholder="$t('label.rule')"
|
||||||
:class="{'rule-dropdown-error' : newRuleSelectError}" />
|
:class="{'rule-dropdown-error' : newRuleSelectError}" />
|
||||||
</div>
|
</div>
|
||||||
<div class="rules-table__col rules-table__col--permission">
|
<div class="rules-table__col rules-table__col--permission">
|
||||||
|
|||||||
@ -42,7 +42,7 @@
|
|||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
v-if="'deleteIso' in $store.getters.apis"
|
v-if="'deleteIso' in $store.getters.apis"
|
||||||
placement="topRight"
|
placement="topRight"
|
||||||
title="Delete the ISO for this zone?"
|
:title="$t('message.action.delete.iso')"
|
||||||
:ok-text="$t('label.yes')"
|
:ok-text="$t('label.yes')"
|
||||||
:cancel-text="$t('label.no')"
|
:cancel-text="$t('label.no')"
|
||||||
:loading="deleteLoading"
|
:loading="deleteLoading"
|
||||||
@ -87,12 +87,12 @@
|
|||||||
<a-select
|
<a-select
|
||||||
id="zone-selection"
|
id="zone-selection"
|
||||||
mode="multiple"
|
mode="multiple"
|
||||||
placeholder="Select Zones"
|
:placeholder="$t('label.select.zones')"
|
||||||
v-decorator="['zoneid', {
|
v-decorator="['zoneid', {
|
||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
|
|||||||
@ -30,7 +30,7 @@
|
|||||||
<a-form-item v-if="currentForm === 'Create'" :label="$t('label.url')">
|
<a-form-item v-if="currentForm === 'Create'" :label="$t('label.url')">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['url', {
|
v-decorator="['url', {
|
||||||
rules: [{ required: true, message: 'Please upload an ISO' }]
|
rules: [{ required: true, message: `${this.$t('label.upload.iso.from.local')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="apiParams.url.description" />
|
:placeholder="apiParams.url.description" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -41,7 +41,7 @@
|
|||||||
:remove="handleRemove"
|
:remove="handleRemove"
|
||||||
:beforeUpload="beforeUpload"
|
:beforeUpload="beforeUpload"
|
||||||
v-decorator="['file', {
|
v-decorator="['file', {
|
||||||
rules: [{ required: true, message: 'Please enter input' }]
|
rules: [{ required: true, message: `${this.$t('message.error.required.input')}` }]
|
||||||
}]">
|
}]">
|
||||||
<p class="ant-upload-drag-icon">
|
<p class="ant-upload-drag-icon">
|
||||||
<a-icon type="cloud-upload" />
|
<a-icon type="cloud-upload" />
|
||||||
@ -54,7 +54,7 @@
|
|||||||
<a-form-item :label="$t('label.name')">
|
<a-form-item :label="$t('label.name')">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['name', {
|
v-decorator="['name', {
|
||||||
rules: [{ required: true, message: 'Please enter input' }]
|
rules: [{ required: true, message: `${this.$t('message.error.required.input')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="apiParams.name.description" />
|
:placeholder="apiParams.name.description" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -62,7 +62,7 @@
|
|||||||
<a-form-item :label="$t('label.displaytext')">
|
<a-form-item :label="$t('label.displaytext')">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['displaytext', {
|
v-decorator="['displaytext', {
|
||||||
rules: [{ required: true, message: 'Please enter input' }]
|
rules: [{ required: true, message: `${this.$t('message.error.required.input')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="apiParams.displaytext.description" />
|
:placeholder="apiParams.displaytext.description" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -78,7 +78,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
@ -115,7 +115,7 @@
|
|||||||
<a-select
|
<a-select
|
||||||
v-decorator="['ostypeid', {
|
v-decorator="['ostypeid', {
|
||||||
initialValue: defaultOsType,
|
initialValue: defaultOsType,
|
||||||
rules: [{ required: true, message: 'Please select option' }]
|
rules: [{ required: true, message: `${this.$t('message.error.select')}` }]
|
||||||
}]"
|
}]"
|
||||||
showSearch
|
showSearch
|
||||||
optionFilterProp="children"
|
optionFilterProp="children"
|
||||||
@ -335,7 +335,7 @@ export default {
|
|||||||
api('registerIso', params).then(json => {
|
api('registerIso', params).then(json => {
|
||||||
this.$emit('refresh-data')
|
this.$emit('refresh-data')
|
||||||
this.$notification.success({
|
this.$notification.success({
|
||||||
message: 'Register ISO',
|
message: 'label.action.register.iso',
|
||||||
description: 'Sucessfully registered ISO ' + params.name
|
description: 'Sucessfully registered ISO ' + params.name
|
||||||
})
|
})
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
|
|||||||
@ -32,7 +32,7 @@
|
|||||||
<a-form-item :label="$t('label.url')">
|
<a-form-item :label="$t('label.url')">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['url', {
|
v-decorator="['url', {
|
||||||
rules: [{ required: true, message: 'Please enter input' }]
|
rules: [{ required: true, message: `${this.$t('message.error.required.input')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="apiParams.url.description" />
|
:placeholder="apiParams.url.description" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -46,7 +46,7 @@
|
|||||||
:remove="handleRemove"
|
:remove="handleRemove"
|
||||||
:beforeUpload="beforeUpload"
|
:beforeUpload="beforeUpload"
|
||||||
v-decorator="['file', {
|
v-decorator="['file', {
|
||||||
rules: [{ required: true, message: 'Please enter input' }]
|
rules: [{ required: true, message: `${this.$t('message.error.required.input')}` }]
|
||||||
}]">
|
}]">
|
||||||
<p class="ant-upload-drag-icon">
|
<p class="ant-upload-drag-icon">
|
||||||
<a-icon type="cloud-upload" />
|
<a-icon type="cloud-upload" />
|
||||||
@ -61,7 +61,7 @@
|
|||||||
<a-form-item :label="$t('label.name')">
|
<a-form-item :label="$t('label.name')">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['name', {
|
v-decorator="['name', {
|
||||||
rules: [{ required: true, message: 'Please upload a template ' }]
|
rules: [{ required: true, message: `${this.$t('label.upload.template.from.local')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="apiParams.name.description" />
|
:placeholder="apiParams.name.description" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -70,7 +70,7 @@
|
|||||||
<a-form-item :label="$t('label.displaytext')">
|
<a-form-item :label="$t('label.displaytext')">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['displaytext', {
|
v-decorator="['displaytext', {
|
||||||
rules: [{ required: true, message: 'Please enter input' }]
|
rules: [{ required: true, message: `${this.$t('message.error.required.input')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="apiParams.displaytext.description" />
|
:placeholder="apiParams.displaytext.description" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -87,7 +87,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option',
|
message: `${this.$t('message.error.select')}`,
|
||||||
type: 'array'
|
type: 'array'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -135,7 +135,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
@ -155,7 +155,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
@ -177,7 +177,7 @@
|
|||||||
<a-form-item :label="$t('label.checksum')">
|
<a-form-item :label="$t('label.checksum')">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['checksum', {
|
v-decorator="['checksum', {
|
||||||
rules: [{ required: false, message: 'Please enter input' }]
|
rules: [{ required: false, message: `${this.$t('message.error.required.input')}` }]
|
||||||
}]"
|
}]"
|
||||||
:placeholder="apiParams.checksum.description" />
|
:placeholder="apiParams.checksum.description" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -200,7 +200,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
@ -219,7 +219,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: false,
|
required: false,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
@ -238,7 +238,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: false,
|
required: false,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
@ -256,7 +256,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: false,
|
required: false,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
@ -278,7 +278,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
|
|||||||
@ -42,7 +42,7 @@
|
|||||||
<a-popconfirm
|
<a-popconfirm
|
||||||
v-if="'deleteTemplate' in $store.getters.apis"
|
v-if="'deleteTemplate' in $store.getters.apis"
|
||||||
placement="topRight"
|
placement="topRight"
|
||||||
title="Delete the template for this zone?"
|
:title="$t('message.action.delete.template')"
|
||||||
:ok-text="$t('label.yes')"
|
:ok-text="$t('label.yes')"
|
||||||
:cancel-text="$t('label.no')"
|
:cancel-text="$t('label.no')"
|
||||||
:loading="deleteLoading"
|
:loading="deleteLoading"
|
||||||
@ -87,12 +87,12 @@
|
|||||||
<a-select
|
<a-select
|
||||||
id="zone-selection"
|
id="zone-selection"
|
||||||
mode="multiple"
|
mode="multiple"
|
||||||
placeholder="Select Zones"
|
:placeholder="$t('label.select.zones')"
|
||||||
v-decorator="['zoneid', {
|
v-decorator="['zoneid', {
|
||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
|
|||||||
@ -38,7 +38,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-form-item :label="$t('label.zoneid')">
|
<a-form-item :label="$t('label.zoneid')">
|
||||||
<a-select
|
<a-select
|
||||||
v-decorator="['zone', { initialValue: this.zoneSelected, rules: [{ required: true, message: 'required'}] }]"
|
v-decorator="['zone', { initialValue: this.zoneSelected, rules: [{ required: true, message: `${this.$t('label.required')}`}] }]"
|
||||||
@change="val => changeZone(val)">
|
@change="val => changeZone(val)">
|
||||||
<a-select-option :value="zone.id" v-for="(zone) in zones" :key="zone.id">
|
<a-select-option :value="zone.id" v-for="(zone) in zones" :key="zone.id">
|
||||||
{{ zone.name }}
|
{{ zone.name }}
|
||||||
@ -48,7 +48,7 @@
|
|||||||
<div v-if="this.scope === 'cluster' || this.scope === 'host'">
|
<div v-if="this.scope === 'cluster' || this.scope === 'host'">
|
||||||
<a-form-item :label="$t('label.podid')">
|
<a-form-item :label="$t('label.podid')">
|
||||||
<a-select
|
<a-select
|
||||||
v-decorator="['pod', { initialValue: this.podSelected, rules: [{ required: true, message: 'required'}] }]"
|
v-decorator="['pod', { initialValue: this.podSelected, rules: [{ required: true, message: `${this.$t('label.required')}`}] }]"
|
||||||
@change="val => changePod(val)">
|
@change="val => changePod(val)">
|
||||||
<a-select-option :value="pod.id" v-for="(pod) in pods" :key="pod.id">
|
<a-select-option :value="pod.id" v-for="(pod) in pods" :key="pod.id">
|
||||||
{{ pod.name }}
|
{{ pod.name }}
|
||||||
@ -57,7 +57,7 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.clusterid')">
|
<a-form-item :label="$t('label.clusterid')">
|
||||||
<a-select
|
<a-select
|
||||||
v-decorator="['cluster', { initialValue: this.clusterSelected, rules: [{ required: true, message: 'required'}] }]"
|
v-decorator="['cluster', { initialValue: this.clusterSelected, rules: [{ required: true, message: `${this.$t('label.required')}`}] }]"
|
||||||
@change="val => fetchHypervisor(val)">
|
@change="val => fetchHypervisor(val)">
|
||||||
<a-select-option :value="cluster.id" v-for="cluster in clusters" :key="cluster.id">
|
<a-select-option :value="cluster.id" v-for="cluster in clusters" :key="cluster.id">
|
||||||
{{ cluster.name }}
|
{{ cluster.name }}
|
||||||
@ -68,7 +68,7 @@
|
|||||||
<div v-if="this.scope === 'host'">
|
<div v-if="this.scope === 'host'">
|
||||||
<a-form-item :label="$t('label.hostid')">
|
<a-form-item :label="$t('label.hostid')">
|
||||||
<a-select
|
<a-select
|
||||||
v-decorator="['host', { initialValue: this.hostSelected, rules: [{ required: true, message: 'required'}] }]"
|
v-decorator="['host', { initialValue: this.hostSelected, rules: [{ required: true, message: `${this.$t('label.required')}`}] }]"
|
||||||
@change="val => this.hostSelected = val">
|
@change="val => this.hostSelected = val">
|
||||||
<a-select-option :value="host.id" v-for="host in hosts" :key="host.id">
|
<a-select-option :value="host.id" v-for="host in hosts" :key="host.id">
|
||||||
{{ host.name }}
|
{{ host.name }}
|
||||||
@ -77,11 +77,11 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
<a-form-item :label="$t('label.name')">
|
<a-form-item :label="$t('label.name')">
|
||||||
<a-input v-decorator="['name', { rules: [{ required: true, message: 'required' }] }]"/>
|
<a-input v-decorator="['name', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.protocol')">
|
<a-form-item :label="$t('label.protocol')">
|
||||||
<a-select
|
<a-select
|
||||||
v-decorator="['protocol', { initialValue: this.protocols[0], rules: [{ required: true, message: 'required'}] }]"
|
v-decorator="['protocol', { initialValue: this.protocols[0], rules: [{ required: true, message: `${this.$t('label.required')}`}] }]"
|
||||||
@change="val => this.protocolSelected = val">
|
@change="val => this.protocolSelected = val">
|
||||||
<a-select-option :value="protocol" v-for="(protocol,idx) in protocols" :key="idx">
|
<a-select-option :value="protocol" v-for="(protocol,idx) in protocols" :key="idx">
|
||||||
{{ protocol }}
|
{{ protocol }}
|
||||||
@ -91,44 +91,44 @@
|
|||||||
<div
|
<div
|
||||||
v-if="protocolSelected === 'nfs' || protocolSelected === 'SMB' || protocolSelected === 'iscsi' || protocolSelected === 'vmfs'|| protocolSelected === 'Gluster'">
|
v-if="protocolSelected === 'nfs' || protocolSelected === 'SMB' || protocolSelected === 'iscsi' || protocolSelected === 'vmfs'|| protocolSelected === 'Gluster'">
|
||||||
<a-form-item :label="$t('label.server')">
|
<a-form-item :label="$t('label.server')">
|
||||||
<a-input v-decorator="['server', { rules: [{ required: true, message: 'required' }] }]" />
|
<a-input v-decorator="['server', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="protocolSelected === 'nfs' || protocolSelected === 'SMB' || protocolSelected === 'ocfs2' || protocolSelected === 'preSetup'|| protocolSelected === 'SharedMountPoint'">
|
<div v-if="protocolSelected === 'nfs' || protocolSelected === 'SMB' || protocolSelected === 'ocfs2' || protocolSelected === 'preSetup'|| protocolSelected === 'SharedMountPoint'">
|
||||||
<a-form-item :label="$t('label.path')">
|
<a-form-item :label="$t('label.path')">
|
||||||
<a-input v-decorator="['path', { rules: [{ required: true, message: 'required' }] }]" />
|
<a-input v-decorator="['path', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="protocolSelected === 'SMB'">
|
<div v-if="protocolSelected === 'SMB'">
|
||||||
<a-form-item :label="$t('label.smbusername')">
|
<a-form-item :label="$t('label.smbusername')">
|
||||||
<a-input v-decorator="['smbUsername', { rules: [{ required: true, message: 'required' }] }]"/>
|
<a-input v-decorator="['smbUsername', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.smbpassword')">
|
<a-form-item :label="$t('label.smbpassword')">
|
||||||
<a-input-password v-decorator="['smbPassword', { rules: [{ required: true, message: 'required' }] }]"/>
|
<a-input-password v-decorator="['smbPassword', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.smbdomain')">
|
<a-form-item :label="$t('label.smbdomain')">
|
||||||
<a-input v-decorator="['smbDomain', { rules: [{ required: true, message: 'required' }] }]"/>
|
<a-input v-decorator="['smbDomain', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="protocolSelected === 'iscsi'">
|
<div v-if="protocolSelected === 'iscsi'">
|
||||||
<a-form-item :label="$t('label.iqn')">
|
<a-form-item :label="$t('label.iqn')">
|
||||||
<a-input v-decorator="['iqn', { rules: [{ required: true, message: 'required' }] }]"/>
|
<a-input v-decorator="['iqn', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.lun')">
|
<a-form-item :label="$t('label.lun')">
|
||||||
<a-input v-decorator="['lun', { rules: [{ required: true, message: 'required' }] }]"/>
|
<a-input v-decorator="['lun', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="protocolSelected === 'vmfs'">
|
<div v-if="protocolSelected === 'vmfs'">
|
||||||
<a-form-item :label="$t('label.vcenterdatacenter')">
|
<a-form-item :label="$t('label.vcenterdatacenter')">
|
||||||
<a-input v-decorator="['vCenterDataCenter', { rules: [{ required: true, message: 'required' }] }]"/>
|
<a-input v-decorator="['vCenterDataCenter', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.vcenterdatastore')">
|
<a-form-item :label="$t('label.vcenterdatastore')">
|
||||||
<a-input v-decorator="['vCenterDataStore', { rules: [{ required: true, message: 'required' }] }]"/>
|
<a-input v-decorator="['vCenterDataStore', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]"/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
<a-form-item :label="$t('label.providername')">
|
<a-form-item :label="$t('label.providername')">
|
||||||
<a-select
|
<a-select
|
||||||
v-decorator="['provider', { initialValue: providerSelected, rules: [{ required: true, message: 'required'}] }]"
|
v-decorator="['provider', { initialValue: providerSelected, rules: [{ required: true, message: `${this.$t('label.required')}`}] }]"
|
||||||
@change="val => this.providerSelected = val">
|
@change="val => this.providerSelected = val">
|
||||||
<a-select-option :value="provider" v-for="(provider,idx) in providers" :key="idx">
|
<a-select-option :value="provider" v-for="(provider,idx) in providers" :key="idx">
|
||||||
{{ provider }}
|
{{ provider }}
|
||||||
@ -166,7 +166,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-if="protocolSelected === 'CLVM'">
|
<div v-if="protocolSelected === 'CLVM'">
|
||||||
<a-form-item :label="$t('label.volumegroup')">
|
<a-form-item :label="$t('label.volumegroup')">
|
||||||
<a-input v-decorator="['volumegroup', { rules: [{ required: true, message: 'required'}] }]" />
|
<a-input v-decorator="['volumegroup', { rules: [{ required: true, message: `${this.$t('label.required')}`}] }]" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="protocolSelected === 'Gluster'">
|
<div v-if="protocolSelected === 'Gluster'">
|
||||||
|
|||||||
@ -45,7 +45,7 @@
|
|||||||
'zone',
|
'zone',
|
||||||
{
|
{
|
||||||
initialValue: this.zoneSelected,
|
initialValue: this.zoneSelected,
|
||||||
rules: [{ required: true, message: 'required'}]
|
rules: [{ required: true, message: `${this.$t('label.required')}`}]
|
||||||
}]"
|
}]"
|
||||||
@change="val => { zoneSelected = val }"
|
@change="val => { zoneSelected = val }"
|
||||||
>
|
>
|
||||||
@ -61,7 +61,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'server',
|
'server',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -70,7 +70,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'path',
|
'path',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -81,7 +81,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'smbUsername',
|
'smbUsername',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -90,7 +90,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'smbPassword',
|
'smbPassword',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -99,7 +99,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'smbDomain',
|
'smbDomain',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -110,7 +110,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'url',
|
'url',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -119,7 +119,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'account',
|
'account',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -128,7 +128,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'username',
|
'username',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -137,7 +137,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'key',
|
'key',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|||||||
@ -262,11 +262,11 @@ export default {
|
|||||||
}).then(response => {
|
}).then(response => {
|
||||||
this.$pollJob({
|
this.$pollJob({
|
||||||
jobId: response.dedicateclusterresponse.jobid,
|
jobId: response.dedicateclusterresponse.jobid,
|
||||||
successMessage: `Successfully dedicated cluster`,
|
successMessage: this.$t('message.cluster.dedicated'),
|
||||||
successMethod: () => {
|
successMethod: () => {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
this.$store.dispatch('AddAsyncJob', {
|
this.$store.dispatch('AddAsyncJob', {
|
||||||
title: 'Successfully dedicated cluster',
|
title: this.$t('message.cluster.dedicated'),
|
||||||
jobid: response.dedicateclusterresponse.jobid,
|
jobid: response.dedicateclusterresponse.jobid,
|
||||||
description: `Domain ID: ${this.dedicatedDomainId}`,
|
description: `Domain ID: ${this.dedicatedDomainId}`,
|
||||||
status: 'progress'
|
status: 'progress'
|
||||||
@ -276,7 +276,7 @@ export default {
|
|||||||
errorMethod: () => {
|
errorMethod: () => {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
},
|
},
|
||||||
loadingMessage: `Dedicating cluster...`,
|
loadingMessage: this.$t('message.dedicate.zone'),
|
||||||
catchMessage: 'Error encountered while fetching async job result',
|
catchMessage: 'Error encountered while fetching async job result',
|
||||||
catchMethod: () => {
|
catchMethod: () => {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
|||||||
@ -59,6 +59,12 @@ export default {
|
|||||||
ListView,
|
ListView,
|
||||||
Breadcrumb
|
Breadcrumb
|
||||||
},
|
},
|
||||||
|
provide: function () {
|
||||||
|
return {
|
||||||
|
parentFetchData: this.fetchData,
|
||||||
|
parentToggleLoading: () => { this.loading = !this.loading }
|
||||||
|
}
|
||||||
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
|
|||||||
@ -315,11 +315,11 @@ export default {
|
|||||||
}).then(response => {
|
}).then(response => {
|
||||||
this.$pollJob({
|
this.$pollJob({
|
||||||
jobId: response.dedicatehostresponse.jobid,
|
jobId: response.dedicatehostresponse.jobid,
|
||||||
successMessage: `Successfully dedicated host`,
|
successMessage: this.$t('message.host.dedicated'),
|
||||||
successMethod: () => {
|
successMethod: () => {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
this.$store.dispatch('AddAsyncJob', {
|
this.$store.dispatch('AddAsyncJob', {
|
||||||
title: 'Successfully dedicated host',
|
title: this.$t('message.host.dedicated'),
|
||||||
jobid: response.dedicatehostresponse.jobid,
|
jobid: response.dedicatehostresponse.jobid,
|
||||||
description: `Domain ID: ${this.dedicatedDomainId}`,
|
description: `Domain ID: ${this.dedicatedDomainId}`,
|
||||||
status: 'progress'
|
status: 'progress'
|
||||||
@ -329,7 +329,7 @@ export default {
|
|||||||
errorMethod: () => {
|
errorMethod: () => {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
},
|
},
|
||||||
loadingMessage: `Dedicating host...`,
|
loadingMessage: this.$t('message.dedicate.host'),
|
||||||
catchMessage: 'Error encountered while fetching async job result',
|
catchMessage: 'Error encountered while fetching async job result',
|
||||||
catchMethod: () => {
|
catchMethod: () => {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
|||||||
@ -48,16 +48,16 @@
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<a-form @submit.prevent="handleSslFormSubmit" ref="sslForm" :form="form">
|
<a-form @submit.prevent="handleSslFormSubmit" ref="sslForm" :form="form">
|
||||||
<a-form-item label="Root certificate" :required="true">
|
<a-form-item :label="$t('label.root.certificate')" :required="true">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
id="rootCert"
|
id="rootCert"
|
||||||
rows="2"
|
rows="2"
|
||||||
placeholder="Root certificate"
|
:placeholder="$t('label.root.certificate')"
|
||||||
:autoFocus="true"
|
:autoFocus="true"
|
||||||
name="rootCert"
|
name="rootCert"
|
||||||
v-decorator="[
|
v-decorator="[
|
||||||
'root',
|
'root',
|
||||||
{rules: [{ required: true, message: 'Required' }], validateTrigger:'change'}
|
{rules: [{ required: true, message: `${this.$t('label.required')}` }], validateTrigger:'change'}
|
||||||
]"
|
]"
|
||||||
></a-textarea>
|
></a-textarea>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -67,11 +67,11 @@
|
|||||||
v-for="(item, index) in intermediateCertificates"
|
v-for="(item, index) in intermediateCertificates"
|
||||||
:key="`key-${index}`"
|
:key="`key-${index}`"
|
||||||
class="intermediate-certificate"
|
class="intermediate-certificate"
|
||||||
:label="`Intermediate certificate ${index + 1}`">
|
:label="$t('label.intermediate.certificate') + ` ${index + 1}`">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
:id="`intermediateCert${index}`"
|
:id="`intermediateCert${index}`"
|
||||||
rows="2"
|
rows="2"
|
||||||
:placeholder="`Intermediate certificate ${index + 1}`"
|
:placeholder="$t('label.intermediate.certificate') + ` ${index + 1}`"
|
||||||
:name="`intermediateCert${index}`"
|
:name="`intermediateCert${index}`"
|
||||||
v-decorator="[
|
v-decorator="[
|
||||||
`intermediate${index + 1}`,
|
`intermediate${index + 1}`,
|
||||||
@ -88,40 +88,40 @@
|
|||||||
</a-button>
|
</a-button>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item label="Server certificate" :required="true">
|
<a-form-item :label="$t('label.server.certificate')" :required="true">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
id="serverCert"
|
id="serverCert"
|
||||||
rows="2"
|
rows="2"
|
||||||
placeholder="Server certificate"
|
:placeholder="$t('label.server.certificate')"
|
||||||
name="serverCert"
|
name="serverCert"
|
||||||
v-decorator="[
|
v-decorator="[
|
||||||
'server',
|
'server',
|
||||||
{rules: [{ required: true, message: 'Required' }], validateTrigger:'change'}
|
{rules: [{ required: true, message: `${this.$t('label.required')}` }], validateTrigger:'change'}
|
||||||
]"
|
]"
|
||||||
></a-textarea>
|
></a-textarea>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item label="PKCS#8 Private Key" :required="true">
|
<a-form-item :label="$t('label.pkcs.private.certificate')" :required="true">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
id="pkcsKey"
|
id="pkcsKey"
|
||||||
rows="2"
|
rows="2"
|
||||||
placeholder="PKCS#8 Private Key"
|
:placeholder="$t('label.pkcs.private.certificate')"
|
||||||
name="pkcsKey"
|
name="pkcsKey"
|
||||||
v-decorator="[
|
v-decorator="[
|
||||||
'pkcs',
|
'pkcs',
|
||||||
{rules: [{ required: true, message: 'Required' }], validateTrigger:'change'}
|
{rules: [{ required: true, message: `${this.$t('label.required')}` }], validateTrigger:'change'}
|
||||||
]"
|
]"
|
||||||
></a-textarea>
|
></a-textarea>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item label="DNS Domain Suffix (i.e., xyz.com)" :required="true">
|
<a-form-item :label="$t('label.domain.suffix')" :required="true">
|
||||||
<a-input
|
<a-input
|
||||||
id="dnsSuffix"
|
id="dnsSuffix"
|
||||||
placeholder="DNS Domain Suffix (i.e., xyz.com)"
|
:placeholder="$t('label.domain.suffix')"
|
||||||
name="dnsSuffix"
|
name="dnsSuffix"
|
||||||
v-decorator="[
|
v-decorator="[
|
||||||
'dns',
|
'dns',
|
||||||
{rules: [{ required: true, message: 'Required' }], validateTrigger:'change'}
|
{rules: [{ required: true, message: `${this.$t('label.required')}` }], validateTrigger:'change'}
|
||||||
]"
|
]"
|
||||||
></a-input>
|
></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<a-select
|
<a-select
|
||||||
v-decorator="['zoneid', {
|
v-decorator="['zoneid', {
|
||||||
initialValue: this.zoneId,
|
initialValue: this.zoneId,
|
||||||
rules: [{ required: true, message: 'required' }] }
|
rules: [{ required: true, message: `${this.$t('label.required')}` }] }
|
||||||
]">
|
]">
|
||||||
<a-select-option
|
<a-select-option
|
||||||
v-for="zone in zonesList"
|
v-for="zone in zonesList"
|
||||||
@ -40,7 +40,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'name',
|
'name',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -51,7 +51,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'gateway',
|
'gateway',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -62,7 +62,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'netmask',
|
'netmask',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -73,7 +73,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'startip',
|
'startip',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -213,11 +213,11 @@ export default {
|
|||||||
}).then(response => {
|
}).then(response => {
|
||||||
this.$pollJob({
|
this.$pollJob({
|
||||||
jobId: response.dedicatepodresponse.jobid,
|
jobId: response.dedicatepodresponse.jobid,
|
||||||
successMessage: `Successfully dedicated pod`,
|
successMessage: this.$t('message.pod.dedicated'),
|
||||||
successMethod: () => {
|
successMethod: () => {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
this.$store.dispatch('AddAsyncJob', {
|
this.$store.dispatch('AddAsyncJob', {
|
||||||
title: 'Successfully dedicated pod',
|
title: this.$t('message.pod.dedicated'),
|
||||||
jobid: response.dedicatepodresponse.jobid,
|
jobid: response.dedicatepodresponse.jobid,
|
||||||
description: `Domain ID: ${this.dedicatedDomainId}`,
|
description: `Domain ID: ${this.dedicatedDomainId}`,
|
||||||
status: 'progress'
|
status: 'progress'
|
||||||
@ -227,7 +227,7 @@ export default {
|
|||||||
errorMethod: () => {
|
errorMethod: () => {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
},
|
},
|
||||||
loadingMessage: `Dedicating pod...`,
|
loadingMessage: this.$t('message.dedicate.pod'),
|
||||||
catchMessage: 'Error encountered while fetching async job result',
|
catchMessage: 'Error encountered while fetching async job result',
|
||||||
catchMethod: () => {
|
catchMethod: () => {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
|||||||
@ -59,7 +59,7 @@
|
|||||||
<a-form-item :label="$t('label.vlanrange')">
|
<a-form-item :label="$t('label.vlanrange')">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['range', {
|
v-decorator="['range', {
|
||||||
rules: [{ required: true, message: 'Required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
></a-input>
|
></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@ -75,7 +75,7 @@
|
|||||||
<a-select
|
<a-select
|
||||||
@change="handleDomainChange"
|
@change="handleDomainChange"
|
||||||
v-decorator="['domain', {
|
v-decorator="['domain', {
|
||||||
rules: [{ required: true, message: 'Required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
>
|
>
|
||||||
<a-select-option v-for="domain in domains" :key="domain.id" :value="domain.id">{{ domain.name }}</a-select-option>
|
<a-select-option v-for="domain in domains" :key="domain.id" :value="domain.id">{{ domain.name }}</a-select-option>
|
||||||
@ -85,7 +85,7 @@
|
|||||||
<a-form-item :label="$t('label.account')" v-if="selectedScope === 'account'">
|
<a-form-item :label="$t('label.account')" v-if="selectedScope === 'account'">
|
||||||
<a-select
|
<a-select
|
||||||
v-decorator="['account', {
|
v-decorator="['account', {
|
||||||
rules: [{ required: true, message: 'Required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
>
|
>
|
||||||
<a-select-option
|
<a-select-option
|
||||||
@ -100,7 +100,7 @@
|
|||||||
<a-form-item :label="$t('label.project')" v-if="selectedScope === 'project'">
|
<a-form-item :label="$t('label.project')" v-if="selectedScope === 'project'">
|
||||||
<a-select
|
<a-select
|
||||||
v-decorator="['project', {
|
v-decorator="['project', {
|
||||||
rules: [{ required: true, message: 'Required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
>
|
>
|
||||||
<a-select-option
|
<a-select-option
|
||||||
|
|||||||
@ -72,7 +72,7 @@
|
|||||||
<a-form-item :label="$t('label.podid')" class="form__item">
|
<a-form-item :label="$t('label.podid')" class="form__item">
|
||||||
<a-select
|
<a-select
|
||||||
v-decorator="['pod', {
|
v-decorator="['pod', {
|
||||||
rules: [{ required: true, message: 'Required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
>
|
>
|
||||||
<a-select-option v-for="item in items" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
|
<a-select-option v-for="item in items" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
|
||||||
@ -80,12 +80,12 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.gateway')" class="form__item">
|
<a-form-item :label="$t('label.gateway')" class="form__item">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['gateway', { rules: [{ required: true, message: 'Required' }] }]">
|
v-decorator="['gateway', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.netmask')" class="form__item">
|
<a-form-item :label="$t('label.netmask')" class="form__item">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['netmask', { rules: [{ required: true, message: 'Required' }] }]">
|
v-decorator="['netmask', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.vlan')" class="form__item">
|
<a-form-item :label="$t('label.vlan')" class="form__item">
|
||||||
@ -95,12 +95,12 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.startip')" class="form__item">
|
<a-form-item :label="$t('label.startip')" class="form__item">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['startip', { rules: [{ required: true, message: 'Required' }] }]">
|
v-decorator="['startip', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.endip')" class="form__item">
|
<a-form-item :label="$t('label.endip')" class="form__item">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['endip', { rules: [{ required: true, message: 'Required' }] }]">
|
v-decorator="['endip', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.system.vms')" class="form__item">
|
<a-form-item :label="$t('label.system.vms')" class="form__item">
|
||||||
|
|||||||
@ -120,12 +120,12 @@
|
|||||||
>
|
>
|
||||||
<a-form-item :label="$t('label.gateway')" class="form__item">
|
<a-form-item :label="$t('label.gateway')" class="form__item">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['gateway', { rules: [{ required: true, message: 'Required' }] }]">
|
v-decorator="['gateway', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.netmask')" class="form__item">
|
<a-form-item :label="$t('label.netmask')" class="form__item">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['netmask', { rules: [{ required: true, message: 'Required' }] }]">
|
v-decorator="['netmask', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.vlan')" class="form__item">
|
<a-form-item :label="$t('label.vlan')" class="form__item">
|
||||||
@ -135,12 +135,12 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.startip')" class="form__item">
|
<a-form-item :label="$t('label.startip')" class="form__item">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['startip', { rules: [{ required: true, message: 'Required' }] }]">
|
v-decorator="['startip', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.endip')" class="form__item">
|
<a-form-item :label="$t('label.endip')" class="form__item">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['endip', { rules: [{ required: true, message: 'Required' }] }]">
|
v-decorator="['endip', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<div class="form__item">
|
<div class="form__item">
|
||||||
|
|||||||
@ -70,7 +70,7 @@
|
|||||||
<a-form-item :label="$t('label.podid')" class="form__item">
|
<a-form-item :label="$t('label.podid')" class="form__item">
|
||||||
<a-select
|
<a-select
|
||||||
v-decorator="['pod', {
|
v-decorator="['pod', {
|
||||||
rules: [{ required: true, message: 'Required' }]
|
rules: [{ required: true, message: `${this.$t('label.required')}` }]
|
||||||
}]"
|
}]"
|
||||||
>
|
>
|
||||||
<a-select-option v-for="pod in pods" :key="pod.id" :value="pod.id">{{ pod.name }}</a-select-option>
|
<a-select-option v-for="pod in pods" :key="pod.id" :value="pod.id">{{ pod.name }}</a-select-option>
|
||||||
@ -78,12 +78,12 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.gateway')" class="form__item">
|
<a-form-item :label="$t('label.gateway')" class="form__item">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['gateway', { rules: [{ required: true, message: 'Required' }] }]">
|
v-decorator="['gateway', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.netmask')" class="form__item">
|
<a-form-item :label="$t('label.netmask')" class="form__item">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['netmask', { rules: [{ required: true, message: 'Required' }] }]">
|
v-decorator="['netmask', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.vlan')" class="form__item">
|
<a-form-item :label="$t('label.vlan')" class="form__item">
|
||||||
@ -93,12 +93,12 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.startip')" class="form__item">
|
<a-form-item :label="$t('label.startip')" class="form__item">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['startip', { rules: [{ required: true, message: 'Required' }] }]">
|
v-decorator="['startip', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.endip')" class="form__item">
|
<a-form-item :label="$t('label.endip')" class="form__item">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['endip', { rules: [{ required: true, message: 'Required' }] }]">
|
v-decorator="['endip', { rules: [{ required: true, message: `${this.$t('label.required')}` }] }]">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
|
|||||||
@ -284,33 +284,33 @@ export default {
|
|||||||
{
|
{
|
||||||
title: 'label.pod.name',
|
title: 'label.pod.name',
|
||||||
key: 'podName',
|
key: 'podName',
|
||||||
placeHolder: 'Please enter pod name',
|
placeHolder: 'message.installwizard.tooltip.addpod.name',
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'label.reserved.system.gateway',
|
title: 'label.reserved.system.gateway',
|
||||||
key: 'podReservedGateway',
|
key: 'podReservedGateway',
|
||||||
placeHolder: 'Please enter system gateway for Pod',
|
placeHolder: 'message.installwizard.tooltip.addpod.reservedsystemgateway',
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'label.reserved.system.netmask',
|
title: 'label.reserved.system.netmask',
|
||||||
key: 'podReservedNetmask',
|
key: 'podReservedNetmask',
|
||||||
placeHolder: 'Please enter system netmask for Pod',
|
placeHolder: 'message.tooltip.reserved.system.netmask',
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'label.start.reserved.system.IP',
|
title: 'label.start.reserved.system.ip',
|
||||||
key: 'podReservedStartIp',
|
key: 'podReservedStartIp',
|
||||||
placeHolder: 'Please enter reserved system start ip for Pod',
|
placeHolder: 'message.installwizard.tooltip.addpod.reservedsystemstartip',
|
||||||
required: true,
|
required: true,
|
||||||
ipV4: true,
|
ipV4: true,
|
||||||
message: 'Please enter a valid IP v4 address.'
|
message: 'Please enter a valid IP v4 address.'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'label.end.reserved.system.IP',
|
title: 'label.end.reserved.system.ip',
|
||||||
key: 'podReservedStopIp',
|
key: 'podReservedStopIp',
|
||||||
placeHolder: 'Please enter reserved system stop ip for Pod',
|
placeHolder: 'message.installwizard.tooltip.addpod.reservedsystemendip',
|
||||||
required: false,
|
required: false,
|
||||||
ipV4: true,
|
ipV4: true,
|
||||||
message: 'Please enter a valid IP v4 address.'
|
message: 'Please enter a valid IP v4 address.'
|
||||||
@ -320,19 +320,19 @@ export default {
|
|||||||
{
|
{
|
||||||
title: 'label.guest.gateway',
|
title: 'label.guest.gateway',
|
||||||
key: 'guestGateway',
|
key: 'guestGateway',
|
||||||
placeHolder: 'Please enter guest gateway',
|
placeHolder: 'message.installwizard.tooltip.configureguesttraffic.guestgateway',
|
||||||
required: false
|
required: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'label.guest.netmask',
|
title: 'label.guest.netmask',
|
||||||
key: 'guestNetmask',
|
key: 'guestNetmask',
|
||||||
placeHolder: 'Please enter guest netmask',
|
placeHolder: 'message.installwizard.tooltip.configureguesttraffic.guestnetmask',
|
||||||
required: false
|
required: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'label.guest.start.ip',
|
title: 'label.guest.start.ip',
|
||||||
key: 'guestStartIp',
|
key: 'guestStartIp',
|
||||||
placeHolder: 'Please enter start ip for guest traffic',
|
placeHolder: 'message.installwizard.tooltip.configureguesttraffic.gueststartip',
|
||||||
required: false,
|
required: false,
|
||||||
ipV4: true,
|
ipV4: true,
|
||||||
message: 'Please enter a valid IP v4 address.'
|
message: 'Please enter a valid IP v4 address.'
|
||||||
@ -340,7 +340,7 @@ export default {
|
|||||||
{
|
{
|
||||||
title: 'label.guest.end.ip',
|
title: 'label.guest.end.ip',
|
||||||
key: 'guestStopIp',
|
key: 'guestStopIp',
|
||||||
placeHolder: 'Please enter stop ip for guest traffic',
|
placeHolder: 'message.installwizard.tooltip.configureguesttraffic.guestendip',
|
||||||
required: false,
|
required: false,
|
||||||
ipV4: true,
|
ipV4: true,
|
||||||
message: 'Please enter a valid IP v4 address.'
|
message: 'Please enter a valid IP v4 address.'
|
||||||
|
|||||||
@ -60,7 +60,7 @@
|
|||||||
</a-tag>
|
</a-tag>
|
||||||
</div>
|
</div>
|
||||||
<a-modal
|
<a-modal
|
||||||
title="Edit traffic type"
|
:title="$t('label.edit.traffic.type')"
|
||||||
:visible="showEditTraffic"
|
:visible="showEditTraffic"
|
||||||
:closable="true"
|
:closable="true"
|
||||||
@ok="updateTrafficLabel(trafficInEdit)"
|
@ok="updateTrafficLabel(trafficInEdit)"
|
||||||
@ -69,7 +69,7 @@
|
|||||||
>
|
>
|
||||||
<a-form :form="form">
|
<a-form :form="form">
|
||||||
<span class="ant-form-text"> Please specify the traffic label you want associated with this traffic type. </span>
|
<span class="ant-form-text"> Please specify the traffic label you want associated with this traffic type. </span>
|
||||||
<a-form-item v-bind="formItemLayout" style="margin-top:16px;" label="Traffic Label">
|
<a-form-item v-bind="formItemLayout" style="margin-top:16px;" :label="$t('label.traffic.label')">
|
||||||
<a-input
|
<a-input
|
||||||
v-decorator="['trafficLabel', {
|
v-decorator="['trafficLabel', {
|
||||||
rules: [{
|
rules: [{
|
||||||
|
|||||||
@ -91,7 +91,7 @@
|
|||||||
</draggable>
|
</draggable>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a-modal title="Edit Tags" v-model="tagsModalVisible" :footer="null">
|
<a-modal :title="$t('label.edit.tags')" v-model="tagsModalVisible" :footer="null">
|
||||||
<a-spin v-if="tagsLoading"></a-spin>
|
<a-spin v-if="tagsLoading"></a-spin>
|
||||||
|
|
||||||
<div v-else>
|
<div v-else>
|
||||||
@ -150,15 +150,15 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<a-form-item v-if="ruleForm.getFieldValue('protocol') === 'protocolnumber'" :label="$t('label.protocolnumber')">
|
<a-form-item v-if="ruleForm.getFieldValue('protocol') === 'protocolnumber'" :label="$t('label.protocolnumber')">
|
||||||
<a-input v-decorator="['protocolnumber' , { rules: [{ required: true, message: 'required' }]}]" />
|
<a-input v-decorator="['protocolnumber' , { rules: [{ required: true, message: `${this.$t('label.required')}` }]}]" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<div v-if="ruleForm.getFieldValue('protocol') === 'icmp' || ruleForm.getFieldValue('protocol') === 'protocolnumber'">
|
<div v-if="ruleForm.getFieldValue('protocol') === 'icmp' || ruleForm.getFieldValue('protocol') === 'protocolnumber'">
|
||||||
<a-form-item :label="$t('label.icmptype')">
|
<a-form-item :label="$t('label.icmptype')">
|
||||||
<a-input v-decorator="['icmptype']" placeholder="Please specify -1 if you want to allow all ICMP types." />
|
<a-input v-decorator="['icmptype']" :placeholder="$t('icmp.type.desc')" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.icmpcode')">
|
<a-form-item :label="$t('label.icmpcode')">
|
||||||
<a-input v-decorator="['icmpcode']" placeholder="Please specify -1 if you want to allow all ICMP types." />
|
<a-input v-decorator="['icmpcode']" :placeholder="$t('icmp.code.desc')" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -181,7 +181,7 @@
|
|||||||
<a-textarea
|
<a-textarea
|
||||||
v-decorator="['reason']"
|
v-decorator="['reason']"
|
||||||
:autosize="{ minRows: 2 }"
|
:autosize="{ minRows: 2 }"
|
||||||
placeholder="Enter the reason behind an ACL rule" />
|
:placeholder="$t('label.acl.reason.description')" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
@ -218,7 +218,7 @@ export default {
|
|||||||
ruleForm: this.$form.createForm(this),
|
ruleForm: this.$form.createForm(this),
|
||||||
tagsLoading: false,
|
tagsLoading: false,
|
||||||
ruleModalVisible: false,
|
ruleModalVisible: false,
|
||||||
ruleModalTitle: 'Edit rule',
|
ruleModalTitle: this.$t('label.edit.rule'),
|
||||||
ruleFormMode: 'edit'
|
ruleFormMode: 'edit'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -415,7 +415,7 @@ export default {
|
|||||||
partialupgrade: false
|
partialupgrade: false
|
||||||
}).then(response => {
|
}).then(response => {
|
||||||
this.$store.dispatch('AddAsyncJob', {
|
this.$store.dispatch('AddAsyncJob', {
|
||||||
title: `Edit ACL rule`,
|
title: this.$t('label.edit.acl.rule'),
|
||||||
jobid: response.createnetworkaclresponse.jobid,
|
jobid: response.createnetworkaclresponse.jobid,
|
||||||
status: 'progress'
|
status: 'progress'
|
||||||
})
|
})
|
||||||
|
|||||||
@ -43,7 +43,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
@ -82,7 +82,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
@ -112,7 +112,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
|
|||||||
@ -43,7 +43,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
@ -82,7 +82,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
|
|||||||
@ -43,7 +43,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
@ -139,7 +139,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
@ -170,7 +170,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
@ -193,7 +193,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'name',
|
'name',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required' }],
|
rules: [{ required: true, message: `${this.$t('label.required')}` }],
|
||||||
}
|
}
|
||||||
]"
|
]"
|
||||||
:placeholder="$t('label.vpncustomergatewayname')" />
|
:placeholder="$t('label.vpncustomergatewayname')" />
|
||||||
@ -32,7 +32,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'gateway',
|
'gateway',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required'}],
|
rules: [{ required: true, message: `${this.$t('label.required')}`}],
|
||||||
}
|
}
|
||||||
]"
|
]"
|
||||||
:placeholder="$t('label.vpncustomergateway')" />
|
:placeholder="$t('label.vpncustomergateway')" />
|
||||||
@ -42,7 +42,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'cidrlist',
|
'cidrlist',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required'}],
|
rules: [{ required: true, message: `${this.$t('label.required')}`}],
|
||||||
}
|
}
|
||||||
]"
|
]"
|
||||||
:placeholder="$t('label.vpncustomergateway.cidrlist')" />
|
:placeholder="$t('label.vpncustomergateway.cidrlist')" />
|
||||||
@ -53,7 +53,7 @@
|
|||||||
v-decorator="[
|
v-decorator="[
|
||||||
'ipsecpsk',
|
'ipsecpsk',
|
||||||
{
|
{
|
||||||
rules: [{ required: true, message: 'required'}],
|
rules: [{ required: true, message: `${this.$t('label.required')}`}],
|
||||||
}
|
}
|
||||||
]"
|
]"
|
||||||
:placeholder="$t('label.vpncustomergateway.secretkey')" />
|
:placeholder="$t('label.vpncustomergateway.secretkey')" />
|
||||||
|
|||||||
@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
<div class="list__header__col list__header__col--full">
|
<div class="list__header__col list__header__col--full">
|
||||||
<a-input-search
|
<a-input-search
|
||||||
placeholder="Search"
|
:placeholder="$t('label.search')"
|
||||||
v-model="searchQuery"
|
v-model="searchQuery"
|
||||||
@search="fetchData" />
|
@search="fetchData" />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -91,7 +91,7 @@
|
|||||||
@showSizeChange="handleChangePageSize"
|
@showSizeChange="handleChangePageSize"
|
||||||
showSizeChanger/>
|
showSizeChanger/>
|
||||||
|
|
||||||
<a-modal title="Edit Tags" v-model="tagsModalVisible" :footer="null" :afterClose="closeModal">
|
<a-modal :title="$t('label.edit.tags')" v-model="tagsModalVisible" :footer="null" :afterClose="closeModal">
|
||||||
<div class="add-tags">
|
<div class="add-tags">
|
||||||
<div class="add-tags__input">
|
<div class="add-tags__input">
|
||||||
<p class="add-tags__label">{{ $t('label.key') }}</p>
|
<p class="add-tags__label">{{ $t('label.key') }}</p>
|
||||||
|
|||||||
@ -97,7 +97,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</a-table>
|
</a-table>
|
||||||
|
|
||||||
<a-modal title="Edit Tags" v-model="tagsModalVisible" :footer="null" :afterClose="closeModal">
|
<a-modal :title="$t('label.edit.tags')" v-model="tagsModalVisible" :footer="null" :afterClose="closeModal">
|
||||||
<a-spin v-if="tagsLoading"></a-spin>
|
<a-spin v-if="tagsLoading"></a-spin>
|
||||||
|
|
||||||
<div v-else>
|
<div v-else>
|
||||||
|
|||||||
@ -124,7 +124,11 @@ export default {
|
|||||||
api('listLoadBalancers', {
|
api('listLoadBalancers', {
|
||||||
id: this.resource.id
|
id: this.resource.id
|
||||||
}).then(response => {
|
}).then(response => {
|
||||||
this.assignedVMs = response.listloadbalancersresponse.loadbalancer[0].loadbalancerinstance || []
|
const lb = response.listloadbalancersresponse.loadbalancer
|
||||||
|
this.assignedVMs = []
|
||||||
|
if (Array.isArray(lb) && lb.length) {
|
||||||
|
this.assignedVMs = lb[0].loadbalancerinstance || []
|
||||||
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
this.fetchLoading = false
|
this.fetchLoading = false
|
||||||
})
|
})
|
||||||
|
|||||||
@ -131,7 +131,7 @@
|
|||||||
@showSizeChange="handleChangePageSize"
|
@showSizeChange="handleChangePageSize"
|
||||||
showSizeChanger/>
|
showSizeChanger/>
|
||||||
|
|
||||||
<a-modal title="Edit Tags" v-model="tagsModalVisible" :footer="null" :afterClose="closeModal" class="tags-modal">
|
<a-modal :title="$t('label.edit.tags')" v-model="tagsModalVisible" :footer="null" :afterClose="closeModal" class="tags-modal">
|
||||||
<span v-show="tagsModalLoading" class="modal-loading">
|
<span v-show="tagsModalLoading" class="modal-loading">
|
||||||
<a-icon type="loading"></a-icon>
|
<a-icon type="loading"></a-icon>
|
||||||
</span>
|
</span>
|
||||||
@ -166,7 +166,7 @@
|
|||||||
</a-modal>
|
</a-modal>
|
||||||
|
|
||||||
<a-modal
|
<a-modal
|
||||||
title="Configure Sticky Policy"
|
:title="$t('label.configure.sticky.policy')"
|
||||||
v-model="stickinessModalVisible"
|
v-model="stickinessModalVisible"
|
||||||
:footer="null"
|
:footer="null"
|
||||||
:afterClose="closeModal"
|
:afterClose="closeModal"
|
||||||
@ -177,7 +177,7 @@
|
|||||||
</span>
|
</span>
|
||||||
|
|
||||||
<a-form :form="stickinessPolicyForm" @submit="handleSubmitStickinessForm" class="custom-ant-form">
|
<a-form :form="stickinessPolicyForm" @submit="handleSubmitStickinessForm" class="custom-ant-form">
|
||||||
<a-form-item label="Stickiness method">
|
<a-form-item :label="$t('label.stickiness.method')">
|
||||||
<a-select v-decorator="['methodname']" @change="handleStickinessMethodSelectChange">
|
<a-select v-decorator="['methodname']" @change="handleStickinessMethodSelectChange">
|
||||||
<a-select-option value="LbCookie">LbCookie</a-select-option>
|
<a-select-option value="LbCookie">LbCookie</a-select-option>
|
||||||
<a-select-option value="AppCookie">AppCookie</a-select-option>
|
<a-select-option value="AppCookie">AppCookie</a-select-option>
|
||||||
@ -186,58 +186,58 @@
|
|||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item
|
<a-form-item
|
||||||
label="Sticky Name"
|
:label="$t('label.sticky.name')"
|
||||||
v-show="stickinessPolicyMethod === 'LbCookie' || stickinessPolicyMethod ===
|
v-show="stickinessPolicyMethod === 'LbCookie' || stickinessPolicyMethod ===
|
||||||
'AppCookie' || stickinessPolicyMethod === 'SourceBased'">
|
'AppCookie' || stickinessPolicyMethod === 'SourceBased'">
|
||||||
<a-input v-decorator="['name', { rules: [{ required: true, message: 'Please specify a sticky name'}] }]" />
|
<a-input v-decorator="['name', { rules: [{ required: true, message: 'Please specify a sticky name'}] }]" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item
|
<a-form-item
|
||||||
label="Cookie name"
|
:label="$t('label.sticky.cookie-name')"
|
||||||
v-show="stickinessPolicyMethod === 'LbCookie' || stickinessPolicyMethod ===
|
v-show="stickinessPolicyMethod === 'LbCookie' || stickinessPolicyMethod ===
|
||||||
'AppCookie'">
|
'AppCookie'">
|
||||||
<a-input v-decorator="['cookieName']" />
|
<a-input v-decorator="['cookieName']" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item
|
<a-form-item
|
||||||
label="Mode"
|
:label="$t('label.sticky.mode')"
|
||||||
v-show="stickinessPolicyMethod === 'LbCookie' || stickinessPolicyMethod ===
|
v-show="stickinessPolicyMethod === 'LbCookie' || stickinessPolicyMethod ===
|
||||||
'AppCookie'">
|
'AppCookie'">
|
||||||
<a-input v-decorator="['mode']" />
|
<a-input v-decorator="['mode']" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="No cache" v-show="stickinessPolicyMethod === 'LbCookie'">
|
<a-form-item :label="$t('label.sticky.nocache')" v-show="stickinessPolicyMethod === 'LbCookie'">
|
||||||
<a-checkbox v-decorator="['nocache']" v-model="stickinessNoCache"></a-checkbox>
|
<a-checkbox v-decorator="['nocache']" v-model="stickinessNoCache"></a-checkbox>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="Indirect" v-show="stickinessPolicyMethod === 'LbCookie'">
|
<a-form-item :label="$t('label.sticky.indirect')" v-show="stickinessPolicyMethod === 'LbCookie'">
|
||||||
<a-checkbox v-decorator="['indirect']" v-model="stickinessIndirect"></a-checkbox>
|
<a-checkbox v-decorator="['indirect']" v-model="stickinessIndirect"></a-checkbox>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="Post only" v-show="stickinessPolicyMethod === 'LbCookie'">
|
<a-form-item :label="$t('label.sticky.postonly')" v-show="stickinessPolicyMethod === 'LbCookie'">
|
||||||
<a-checkbox v-decorator="['postonly']" v-model="stickinessPostOnly"></a-checkbox>
|
<a-checkbox v-decorator="['postonly']" v-model="stickinessPostOnly"></a-checkbox>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="Domain" v-show="stickinessPolicyMethod === 'LbCookie'">
|
<a-form-item :label="$t('label.domain')" v-show="stickinessPolicyMethod === 'LbCookie'">
|
||||||
<a-input v-decorator="['domain']" />
|
<a-input v-decorator="['domain']" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="Length" v-show="stickinessPolicyMethod === 'AppCookie'">
|
<a-form-item :label="$t('label.sticky.length')" v-show="stickinessPolicyMethod === 'AppCookie'">
|
||||||
<a-input v-decorator="['length']" type="number" />
|
<a-input v-decorator="['length']" type="number" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="Hold time" v-show="stickinessPolicyMethod === 'AppCookie'">
|
<a-form-item :label="$t('label.sticky.holdtime')" v-show="stickinessPolicyMethod === 'AppCookie'">
|
||||||
<a-input v-decorator="['holdtime']" type="number" />
|
<a-input v-decorator="['holdtime']" type="number" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="Request learn" v-show="stickinessPolicyMethod === 'AppCookie'">
|
<a-form-item :label="$t('label.sticky.request-learn')" v-show="stickinessPolicyMethod === 'AppCookie'">
|
||||||
<a-checkbox v-decorator="['requestLearn']" v-model="stickinessRequestLearn"></a-checkbox>
|
<a-checkbox v-decorator="['requestLearn']" v-model="stickinessRequestLearn"></a-checkbox>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="Prefix" v-show="stickinessPolicyMethod === 'AppCookie'">
|
<a-form-item :label="$t('label.sticky.prefix')" v-show="stickinessPolicyMethod === 'AppCookie'">
|
||||||
<a-checkbox v-decorator="['prefix']" v-model="stickinessPrefix"></a-checkbox>
|
<a-checkbox v-decorator="['prefix']" v-model="stickinessPrefix"></a-checkbox>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="Table size" v-show="stickinessPolicyMethod === 'SourceBased'">
|
<a-form-item :label="$t('label.sticky.tablesize')" v-show="stickinessPolicyMethod === 'SourceBased'">
|
||||||
<a-input v-decorator="['tablesize']" />
|
<a-input v-decorator="['tablesize']" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="Expires" v-show="stickinessPolicyMethod === 'SourceBased'">
|
<a-form-item :label="$t('label.sticky.expire')" v-show="stickinessPolicyMethod === 'SourceBased'">
|
||||||
<a-input v-decorator="['expire']" />
|
<a-input v-decorator="['expire']" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-button type="primary" html-type="submit">OK</a-button>
|
<a-button type="primary" html-type="submit">OK</a-button>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
|
|
||||||
<a-modal title="Edit rule" v-model="editRuleModalVisible" :afterClose="closeModal" @ok="handleSubmitEditForm">
|
<a-modal :title="$t('label.edit.rule')" v-model="editRuleModalVisible" :afterClose="closeModal" @ok="handleSubmitEditForm">
|
||||||
<span v-show="editRuleModalLoading" class="modal-loading">
|
<span v-show="editRuleModalLoading" class="modal-loading">
|
||||||
<a-icon type="loading"></a-icon>
|
<a-icon type="loading"></a-icon>
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@ -28,10 +28,10 @@
|
|||||||
<a-tab-pane :tab="$t('label.networks')" key="tier">
|
<a-tab-pane :tab="$t('label.networks')" key="tier">
|
||||||
<VpcTiersTab :resource="resource" :loading="loading" />
|
<VpcTiersTab :resource="resource" :loading="loading" />
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<a-tab-pane tab="Public IP Addresses" key="ip" v-if="'listPublicIpAddresses' in $store.getters.apis">
|
<a-tab-pane :tab="$t('label.public.ips')" key="ip" v-if="'listPublicIpAddresses' in $store.getters.apis">
|
||||||
<IpAddressesTab :resource="resource" :loading="loading" />
|
<IpAddressesTab :resource="resource" :loading="loading" />
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<a-tab-pane tab="Network ACL Lists" key="acl" v-if="'listNetworkACLLists' in $store.getters.apis">
|
<a-tab-pane :tab="$t('label.network.acl.lists')" key="acl" v-if="'listNetworkACLLists' in $store.getters.apis">
|
||||||
<a-button
|
<a-button
|
||||||
type="dashed"
|
type="dashed"
|
||||||
icon="plus"
|
icon="plus"
|
||||||
@ -70,15 +70,15 @@
|
|||||||
@ok="handleNetworkAclFormSubmit">
|
@ok="handleNetworkAclFormSubmit">
|
||||||
<a-form @submit.prevent="handleNetworkAclFormSubmit" :form="networkAclForm">
|
<a-form @submit.prevent="handleNetworkAclFormSubmit" :form="networkAclForm">
|
||||||
<a-form-item :label="$t('label.add.list.name')">
|
<a-form-item :label="$t('label.add.list.name')">
|
||||||
<a-input v-decorator="['name', {rules: [{ required: true, message: 'Required' }]}]"></a-input>
|
<a-input v-decorator="['name', {rules: [{ required: true, message: `${this.$t('label.required')}` }]}]"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.description')">
|
<a-form-item :label="$t('label.description')">
|
||||||
<a-input v-decorator="['description', {rules: [{ required: true, message: 'Required' }]}]"></a-input>
|
<a-input v-decorator="['description', {rules: [{ required: true, message: `${this.$t('label.required')}` }]}]"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<a-tab-pane tab="Private Gateways" key="pgw" v-if="'listPrivateGateways' in $store.getters.apis">
|
<a-tab-pane :tab="$t('label.private.gateway')" key="pgw" v-if="'listPrivateGateways' in $store.getters.apis">
|
||||||
<a-button
|
<a-button
|
||||||
type="dashed"
|
type="dashed"
|
||||||
icon="plus"
|
icon="plus"
|
||||||
@ -125,25 +125,25 @@
|
|||||||
<a-form-item :label="$t('label.vlan')" :required="true">
|
<a-form-item :label="$t('label.vlan')" :required="true">
|
||||||
<a-input
|
<a-input
|
||||||
:placeholder="placeholders.vlan"
|
:placeholder="placeholders.vlan"
|
||||||
v-decorator="['vlan', {rules: [{ required: true, message: 'Required' }]}]"
|
v-decorator="['vlan', {rules: [{ required: true, message: `${this.$t('label.required')}` }]}]"
|
||||||
></a-input>
|
></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.publicip')" :required="true">
|
<a-form-item :label="$t('label.publicip')" :required="true">
|
||||||
<a-input
|
<a-input
|
||||||
:placeholder="placeholders.ipaddress"
|
:placeholder="placeholders.ipaddress"
|
||||||
v-decorator="['ipaddress', {rules: [{ required: true, message: 'Required' }]}]"
|
v-decorator="['ipaddress', {rules: [{ required: true, message: `${this.$t('label.required')}` }]}]"
|
||||||
></a-input>
|
></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.gateway')" :required="true">
|
<a-form-item :label="$t('label.gateway')" :required="true">
|
||||||
<a-input
|
<a-input
|
||||||
:placeholder="placeholders.gateway"
|
:placeholder="placeholders.gateway"
|
||||||
v-decorator="['gateway', {rules: [{ required: true, message: 'Required' }]}]"
|
v-decorator="['gateway', {rules: [{ required: true, message: `${this.$t('label.required')}` }]}]"
|
||||||
></a-input>
|
></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.netmask')" :required="true">
|
<a-form-item :label="$t('label.netmask')" :required="true">
|
||||||
<a-input
|
<a-input
|
||||||
:placeholder="placeholders.netmask"
|
:placeholder="placeholders.netmask"
|
||||||
v-decorator="['netmask', {rules: [{ required: true, message: 'Required' }]}]"
|
v-decorator="['netmask', {rules: [{ required: true, message: `${this.$t('label.required')}` }]}]"
|
||||||
></a-input>
|
></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.sourcenat')">
|
<a-form-item :label="$t('label.sourcenat')">
|
||||||
@ -160,7 +160,7 @@
|
|||||||
</a-spin>
|
</a-spin>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<a-tab-pane tab="VPN Gateway" key="vpngw" v-if="'listVpnGateways' in $store.getters.apis">
|
<a-tab-pane :tab="$t('label.vpn.gateway')" key="vpngw" v-if="'listVpnGateways' in $store.getters.apis">
|
||||||
<a-button
|
<a-button
|
||||||
v-if="vpnGateways.length === 0"
|
v-if="vpnGateways.length === 0"
|
||||||
type="dashed"
|
type="dashed"
|
||||||
@ -184,7 +184,7 @@
|
|||||||
</a-list-item>
|
</a-list-item>
|
||||||
</a-list>
|
</a-list>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<a-tab-pane tab="VPN Connections" key="vpnc" v-if="'listVpnConnections' in $store.getters.apis">
|
<a-tab-pane :tab="$t('label.vpn.connection')" key="vpnc" v-if="'listVpnConnections' in $store.getters.apis">
|
||||||
<a-button
|
<a-button
|
||||||
type="dashed"
|
type="dashed"
|
||||||
icon="plus"
|
icon="plus"
|
||||||
@ -236,7 +236,7 @@
|
|||||||
</a-spin>
|
</a-spin>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<a-tab-pane tab="Virtual Routers" key="vr" v-if="'listRouters' in $store.getters.apis">
|
<a-tab-pane :tab="$t('label.virtual.routers')" key="vr" v-if="'listRouters' in $store.getters.apis">
|
||||||
<RoutersTab :resource="resource" :loading="loading" />
|
<RoutersTab :resource="resource" :loading="loading" />
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
</a-tabs>
|
</a-tabs>
|
||||||
|
|||||||
@ -134,11 +134,11 @@
|
|||||||
<a-form-item :label="$t('label.name')">
|
<a-form-item :label="$t('label.name')">
|
||||||
<a-input
|
<a-input
|
||||||
placeholder="A unique name of the tier"
|
placeholder="A unique name of the tier"
|
||||||
v-decorator="['name',{rules: [{ required: true, message: 'Required' }]}]"></a-input>
|
v-decorator="['name',{rules: [{ required: true, message: `${this.$t('label.required')}` }]}]"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.networkofferingid')">
|
<a-form-item :label="$t('label.networkofferingid')">
|
||||||
<a-select
|
<a-select
|
||||||
v-decorator="['networkOffering',{rules: [{ required: true, message: 'Required' }]}]">
|
v-decorator="['networkOffering',{rules: [{ required: true, message: `${this.$t('label.required')}` }]}]">
|
||||||
<a-select-option v-for="item in networkOfferings" :key="item.id" :value="item.id">
|
<a-select-option v-for="item in networkOfferings" :key="item.id" :value="item.id">
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
@ -147,12 +147,12 @@
|
|||||||
<a-form-item :label="$t('label.gateway')">
|
<a-form-item :label="$t('label.gateway')">
|
||||||
<a-input
|
<a-input
|
||||||
placeholder="The gateway of the tier in the super CIDR range and not overlapping the CIDR of any other tier in this VPC."
|
placeholder="The gateway of the tier in the super CIDR range and not overlapping the CIDR of any other tier in this VPC."
|
||||||
v-decorator="['gateway',{rules: [{ required: true, message: 'Required' }]}]"></a-input>
|
v-decorator="['gateway',{rules: [{ required: true, message: `${this.$t('label.required')}` }]}]"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.netmask')">
|
<a-form-item :label="$t('label.netmask')">
|
||||||
<a-input
|
<a-input
|
||||||
placeholder="Netmask of the tier. For example, with VPC CIDR of 10.0.0.0/16 and network tier CIDR of 10.1.1.0/24, gateway is 10.1.1.1 and netmask is 255.255.255.0"
|
placeholder="Netmask of the tier. For example, with VPC CIDR of 10.0.0.0/16 and network tier CIDR of 10.1.1.0/24, gateway is 10.1.1.1 and netmask is 255.255.255.0"
|
||||||
v-decorator="['netmask',{rules: [{ required: true, message: 'Required' }]}]"></a-input>
|
v-decorator="['netmask',{rules: [{ required: true, message: `${this.$t('label.required')}` }]}]"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="$t('label.externalid')">
|
<a-form-item :label="$t('label.externalid')">
|
||||||
<a-input
|
<a-input
|
||||||
@ -201,7 +201,7 @@
|
|||||||
'algorithm',
|
'algorithm',
|
||||||
{
|
{
|
||||||
initialValue: 'Source',
|
initialValue: 'Source',
|
||||||
rules: [{ required: true, message: 'required'}]
|
rules: [{ required: true, message: `${this.$t('label.required')}`}]
|
||||||
}]">
|
}]">
|
||||||
<a-select-option v-for="(key, idx) in Object.keys(algorithms)" :key="idx" :value="algorithms[key]">
|
<a-select-option v-for="(key, idx) in Object.keys(algorithms)" :key="idx" :value="algorithms[key]">
|
||||||
{{ key }}
|
{{ key }}
|
||||||
|
|||||||
@ -170,7 +170,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
initialValue: 0
|
initialValue: 0
|
||||||
@ -313,7 +313,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
|
|||||||
@ -71,7 +71,7 @@
|
|||||||
rules: [
|
rules: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: 'Please select option'
|
message: `${this.$t('message.error.select')}`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]"
|
}]"
|
||||||
|
|||||||
@ -38,7 +38,7 @@
|
|||||||
showSearch
|
showSearch
|
||||||
allowClear
|
allowClear
|
||||||
v-decorator="['zoneid', {
|
v-decorator="['zoneid', {
|
||||||
rules: [{ required: true, message: 'Please select option' }]
|
rules: [{ required: true, message: `${this.$t('message.error.select')}` }]
|
||||||
}]"
|
}]"
|
||||||
:loading="zones.loading"
|
:loading="zones.loading"
|
||||||
@change="onChangeZone">
|
@change="onChangeZone">
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user