mirror of https://github.com/apache/cloudstack.git
config: automatic translation key migration (#370)
The new convention used:
- All lower keys
- Most keys start with `label.` prefix
- All spaces and underscores replaced with `.`
Quick ugly hack and similar for config `title`:
> IFS=$'\n'
> git grep -l "\$t('" | grep -v -e "\$t('label\." -e "\$t('message" -e "\$t('error" > ftr
> for f in $(cat ftr); do echo $f; for w in $(grep -Po '\$t\(\K[^)]*' $f | grep "^'" | grep -v -e ^\'message -e ^\'error -e ^\'label); do echo WORD IS $w; nw=$(echo $w | sed "s/$w/'label\.\L&/g" | sed "s/label\.'/label\./g" | sed "s/ /\./g" | sed "s/_/\./g"); echo $w = $nw; sed -i "s/\$t($w/\$t($nw/g" $f; done; done
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
parent
a04c8db8b1
commit
2f02da1c95
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
<a-tooltip placement="bottom" slot="suffixIcon">
|
||||
<template slot="title">
|
||||
<span>{{ $t('projects') }}</span>
|
||||
<span>{{ $t('label.projects') }}</span>
|
||||
</template>
|
||||
<a-icon style="font-size: 20px; color: #999; margin-top: -5px" type="project" />
|
||||
</a-tooltip>
|
||||
|
|
|
|||
|
|
@ -19,15 +19,15 @@
|
|||
<a-list-item v-if="dedicatedDomainId">
|
||||
<div>
|
||||
<div style="margin-bottom: 10px;">
|
||||
<strong>{{ $t('dedicated') }}</strong>
|
||||
<strong>{{ $t('label.dedicated') }}</strong>
|
||||
<div>Yes</div>
|
||||
</div>
|
||||
<p>
|
||||
<strong>{{ $t('domainid') }}</strong><br/>
|
||||
<strong>{{ $t('label.domainid') }}</strong><br/>
|
||||
<router-link :to="{ path: '/domain/' + dedicatedDomainId }">{{ dedicatedDomainId }}</router-link>
|
||||
</p>
|
||||
<p v-if="dedicatedAccountId">
|
||||
<strong>{{ $t('account') }}</strong><br/>
|
||||
<strong>{{ $t('label.account') }}</strong><br/>
|
||||
<router-link :to="{ path: '/account/' + dedicatedAccountId }">{{ dedicatedAccountId }}</router-link>
|
||||
</p>
|
||||
<a-button style="margin-top: 10px; margin-bottom: 10px;" type="danger" @click="handleRelease">
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
</a-list-item>
|
||||
<a-list-item v-else>
|
||||
<div>
|
||||
<strong>{{ $t('dedicated') }}</strong>
|
||||
<strong>{{ $t('label.dedicated') }}</strong>
|
||||
<div>No</div>
|
||||
<a-button type="primary" style="margin-top: 10px; margin-bottom: 10px;" @click="modalActive = true">
|
||||
{{ dedicatedButtonLabel }}
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@
|
|||
<div class="form">
|
||||
<div class="form__item" :class="{'error': domainError}">
|
||||
<a-spin :spinning="domainsLoading">
|
||||
<p class="form__label">{{ $t('domain') }}<span class="required">*</span></p>
|
||||
<p class="required required-label">{{ $t('required') }}</p>
|
||||
<p class="form__label">{{ $t('label.domain') }}<span class="required">*</span></p>
|
||||
<p class="required required-label">{{ $t('label.required') }}</p>
|
||||
<a-select style="width: 100%" @change="handleChangeDomain" v-model="domainId">
|
||||
<a-select-option v-for="(domain, index) in domainsList" :value="domain.id" :key="index">
|
||||
{{ domain.name }}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
:dataSource="$route.meta.details">
|
||||
<a-list-item slot="renderItem" slot-scope="item" v-if="item in resource">
|
||||
<div>
|
||||
<strong>{{ item === 'service' ? $t('supportedservices') : $t(item) }}</strong>
|
||||
<strong>{{ item === 'service' ? $t('label.supportedservices') : $t('label.' + item) }}</strong>
|
||||
<br/>
|
||||
<div v-if="Array.isArray(resource[item]) && item === 'service'">
|
||||
<div v-for="(service, idx) in resource[item]" :key="idx">
|
||||
|
|
|
|||
|
|
@ -50,10 +50,10 @@
|
|||
{{ resource.hypervisor }}
|
||||
</a-tag>
|
||||
<a-tag v-if="resource.haenable">
|
||||
{{ $t('haenable') }}
|
||||
{{ $t('label.haenable') }}
|
||||
</a-tag>
|
||||
<a-tag v-if="resource.isdynamicallyscalable">
|
||||
{{ $t('isdynamicallyscalable') }}
|
||||
{{ $t('label.isdynamicallyscalable') }}
|
||||
</a-tag>
|
||||
<a-tag v-if="resource.scope">
|
||||
{{ resource.scope }}
|
||||
|
|
@ -68,21 +68,21 @@
|
|||
<a-divider/>
|
||||
|
||||
<div class="resource-detail-item" v-if="resource.state || resource.status">
|
||||
<div class="resource-detail-item__label">{{ $t('status') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.status') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<status class="status" :text="resource.state || resource.status"/>
|
||||
<span>{{ resource.state || resource.status }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.allocationstate">
|
||||
<div class="resource-detail-item__label">{{ $t('allocationstate') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.allocationstate') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<status class="status" :text="resource.allocationstate"/>
|
||||
<span>{{ resource.allocationstate }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.resourcestate">
|
||||
<div class="resource-detail-item__label">{{ $t('resourcestate') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.resourcestate') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<status class="status" :text="resource.resourcestate"/>
|
||||
<span>{{ resource.resourcestate }}</span>
|
||||
|
|
@ -90,7 +90,7 @@
|
|||
</div>
|
||||
|
||||
<div class="resource-detail-item" v-if="resource.id">
|
||||
<div class="resource-detail-item__label">{{ $t('id') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.id') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-tooltip placement="right" >
|
||||
<template slot="title">
|
||||
|
|
@ -104,14 +104,14 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.ostypename && resource.ostypeid">
|
||||
<div class="resource-detail-item__label">{{ $t('ostypename') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.ostypename') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<os-logo :osId="resource.ostypeid" :osName="resource.ostypename" size="lg" style="margin-left: -1px" />
|
||||
<span style="margin-left: 8px">{{ resource.ostypename }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="(resource.cpunumber && resource.cpuspeed) || resource.cputotal">
|
||||
<div class="resource-detail-item__label">{{ $t('cpu') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.cpu') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="appstore" />
|
||||
<span v-if="resource.cpunumber && resource.cpuspeed">{{ resource.cpunumber }} CPU x {{ parseFloat(resource.cpuspeed / 1000.0).toFixed(2) }} Ghz</span>
|
||||
|
|
@ -125,7 +125,7 @@
|
|||
size="small"
|
||||
status="active"
|
||||
:percent="parseFloat(resource.cpuused)"
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('cpuusedghz')"
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('label.cpuusedghz')"
|
||||
/>
|
||||
</span>
|
||||
<span v-if="resource.cpuallocated">
|
||||
|
|
@ -133,13 +133,13 @@
|
|||
class="progress-bar"
|
||||
size="small"
|
||||
:percent="parseFloat(resource.cpuallocated)"
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('cpuallocatedghz')"
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('label.cpuallocatedghz')"
|
||||
/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.memory">
|
||||
<div class="resource-detail-item__label">{{ $t('memory') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.memory') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="bulb" />{{ resource.memory }} MB Memory
|
||||
</div>
|
||||
|
|
@ -150,13 +150,13 @@
|
|||
size="small"
|
||||
status="active"
|
||||
:percent="Number(parseFloat(100.0 * (resource.memorykbs - resource.memoryintfreekbs) / resource.memorykbs).toFixed(2))"
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('memoryusedgb')"
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('label.memoryusedgb')"
|
||||
/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-else-if="resource.memorytotalgb">
|
||||
<div class="resource-detail-item__label">{{ $t('memory') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.memory') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="bulb" />{{ resource.memorytotalgb }} Memory
|
||||
</div>
|
||||
|
|
@ -167,7 +167,7 @@
|
|||
size="small"
|
||||
status="active"
|
||||
:percent="Number(parseFloat(100.0 * parseFloat(resource.memoryusedgb) / parseFloat(resource.memorytotalgb)).toFixed(2))"
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('memoryusedgb')"
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('label.memoryusedgb')"
|
||||
/>
|
||||
</span>
|
||||
<span v-if="resource.memoryallocatedgb">
|
||||
|
|
@ -175,13 +175,13 @@
|
|||
class="progress-bar"
|
||||
size="small"
|
||||
:percent="Number(parseFloat(100.0 * parseFloat(resource.memoryallocatedgb) / parseFloat(resource.memorytotalgb)).toFixed(2))"
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('memoryallocatedgb')"
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('label.memoryallocatedgb')"
|
||||
/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-else-if="resource.memorytotal">
|
||||
<div class="resource-detail-item__label">{{ $t('Memory') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.memory') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
|
||||
<div style="display: flex; flex-direction: column; width: 100%;">
|
||||
|
|
@ -196,7 +196,7 @@
|
|||
size="small"
|
||||
status="active"
|
||||
:percent="parseFloat(resource.memoryused)"
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('memoryused')" />
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('label.memoryused')" />
|
||||
</span>
|
||||
<span
|
||||
v-if="resource.memoryallocated">
|
||||
|
|
@ -204,7 +204,7 @@
|
|||
class="progress-bar"
|
||||
size="small"
|
||||
:percent="parseFloat(resource.memoryallocated)"
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('memoryallocatedgb')" />
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('label.memoryallocatedgb')" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -212,7 +212,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.volumes || resource.sizegb">
|
||||
<div class="resource-detail-item__label">{{ $t('disksize') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.disksize') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="hdd" />
|
||||
<span style="width: 100%;" v-if="$route.meta.name === 'vm' && resource.volumes">{{ (resource.volumes.reduce((total, item) => total += item.size, 0) / (1024 * 1024 * 1024.0)).toFixed(2) }} GB Storage</span>
|
||||
|
|
@ -226,7 +226,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-else-if="resource.disksizetotalgb">
|
||||
<div class="resource-detail-item__label">{{ $t('disksize') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.disksize') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="database" />{{ resource.disksizetotalgb }}
|
||||
</div>
|
||||
|
|
@ -237,19 +237,19 @@
|
|||
size="small"
|
||||
status="active"
|
||||
:percent="Number(parseFloat(100.0 * parseFloat(resource.disksizeusedgb) / parseFloat(resource.disksizetotalgb)).toFixed(2))"
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('disksizeusedgb')" />
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('label.disksizeusedgb')" />
|
||||
</span>
|
||||
<span v-if="resource.disksizeallocatedgb">
|
||||
<a-progress
|
||||
class="progress-bar"
|
||||
size="small"
|
||||
:percent="Number(parseFloat(100.0 * parseFloat(resource.disksizeallocatedgb) / parseFloat(resource.disksizetotalgb)).toFixed(2))"
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('disksizeallocatedgb')" />
|
||||
:format="(percent, successPercent) => parseFloat(percent).toFixed(2) + '% ' + $t('label.disksizeallocatedgb')" />
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.nic || ('networkkbsread' in resource && 'networkkbswrite' in resource)">
|
||||
<div class="resource-detail-item__label">{{ $t('network') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.network') }}</div>
|
||||
<div class="resource-detail-item__details resource-detail-item__details--start">
|
||||
<a-icon type="wifi" />
|
||||
<div>
|
||||
|
|
@ -270,7 +270,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.ipaddress">
|
||||
<div class="resource-detail-item__label">{{ $t('ip') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.ip') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="environment" />
|
||||
<span v-if="resource.nic && resource.nic.length > 0">{{ resource.nic.filter(e => { return e.ipaddress }).map(e => { return e.ipaddress }).join(', ') }}</span>
|
||||
|
|
@ -284,21 +284,21 @@
|
|||
</div>
|
||||
|
||||
<div class="resource-detail-item" v-if="resource.groupid">
|
||||
<div class="resource-detail-item__label">{{ $t('group') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.group') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="gold" />
|
||||
<router-link :to="{ path: '/vmgroup/' + resource.groupid }">{{ resource.group || resource.groupid }}</router-link>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.keypair">
|
||||
<div class="resource-detail-item__label">{{ $t('keypair') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.keypair') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="key" />
|
||||
<router-link :to="{ path: '/ssh/' + resource.keypair }">{{ resource.keypair }}</router-link>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.virtualmachineid">
|
||||
<div class="resource-detail-item__label">{{ $t('vmname') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.vmname') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="desktop" />
|
||||
<router-link :to="{ path: '/vm/' + resource.virtualmachineid }">{{ resource.vmname || resource.vm || resource.virtualmachinename || resource.virtualmachineid }} </router-link>
|
||||
|
|
@ -306,35 +306,35 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.volumeid">
|
||||
<div class="resource-detail-item__label">{{ $t('volume') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.volume') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="hdd" />
|
||||
<router-link :to="{ path: '/volume/' + resource.volumeid }">{{ resource.volumename || resource.volume || resource.volumeid }} </router-link>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.associatednetworkid">
|
||||
<div class="resource-detail-item__label">{{ $t('associatednetwork') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.associatednetwork') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="wifi" />
|
||||
<router-link :to="{ path: '/guestnetwork/' + resource.associatednetworkid }">{{ resource.associatednetworkname || resource.associatednetworkid }} </router-link>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.guestnetworkid">
|
||||
<div class="resource-detail-item__label">{{ $t('guestNetwork') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.guestnetwork') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="gateway" />
|
||||
<router-link :to="{ path: '/guestnetwork/' + resource.guestnetworkid }">{{ resource.guestnetworkname || resource.guestnetworkid }} </router-link>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.vpcid">
|
||||
<div class="resource-detail-item__label">{{ $t('vpcname') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.vpcname') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="deployment-unit" />
|
||||
<router-link :to="{ path: '/vpc/' + resource.vpcid }">{{ resource.vpcname || resource.vpcid }}</router-link>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.affinitygroup && resource.affinitygroup.length > 0">
|
||||
<div class="resource-detail-item__label">{{ $t('affinitygroup') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.affinitygroup') }}</div>
|
||||
<a-icon type="swap" />
|
||||
<span
|
||||
v-for="(group, index) in resource.affinitygroup"
|
||||
|
|
@ -345,14 +345,14 @@
|
|||
</span>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.templateid">
|
||||
<div class="resource-detail-item__label">{{ $t('templatename') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.templatename') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="picture" />
|
||||
<router-link :to="{ path: '/template/' + resource.templateid }">{{ resource.templatename || resource.templateid }} </router-link>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.serviceofferingname && resource.serviceofferingid">
|
||||
<div class="resource-detail-item__label">{{ $t('serviceofferingname') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.serviceofferingname') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="cloud" />
|
||||
<router-link v-if="$router.resolve('/computeoffering/' + resource.serviceofferingid).route.name !== '404'" :to="{ path: '/computeoffering/' + resource.serviceofferingid }">{{ resource.serviceofferingname || resource.serviceofferingid }} </router-link>
|
||||
|
|
@ -360,7 +360,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.diskofferingname && resource.diskofferingid">
|
||||
<div class="resource-detail-item__label">{{ $t('diskoffering') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.diskoffering') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="hdd" />
|
||||
<router-link v-if="$router.resolve('/diskoffering/' + resource.diskofferingid).route.name !== '404'" :to="{ path: '/diskoffering/' + resource.diskofferingid }">{{ resource.diskofferingname || resource.diskofferingid }} </router-link>
|
||||
|
|
@ -368,26 +368,26 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.backupofferingid">
|
||||
<div class="resource-detail-item__label">{{ $t('backupofferingid') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.backupofferingid') }}</div>
|
||||
<a-icon type="cloud-upload" />
|
||||
<router-link :to="{ path: '/backupoffering/' + resource.backupofferingid }">{{ resource.backupofferingname || resource.backupofferingid }} </router-link>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.networkofferingid">
|
||||
<div class="resource-detail-item__label">{{ $t('networkofferingid') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.networkofferingid') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="wifi" />
|
||||
<router-link :to="{ path: '/networkoffering/' + resource.networkofferingid }">{{ resource.networkofferingname || resource.networkofferingid }} </router-link>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.vpcofferingid">
|
||||
<div class="resource-detail-item__label">{{ $t('vpcoffering') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.vpcoffering') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="deployment-unit" />
|
||||
<router-link :to="{ path: '/vpcoffering/' + resource.vpcofferingid }">{{ resource.vpcofferingname || resource.vpcofferingid }} </router-link>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.storageid">
|
||||
<div class="resource-detail-item__label">{{ $t('storagePool') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.storagepool') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="database" />
|
||||
<router-link v-if="$router.resolve('/storagepool/' + resource.storageid).route.name !== '404'" :to="{ path: '/storagepool/' + resource.storageid }">{{ resource.storage || resource.storageid }} </router-link>
|
||||
|
|
@ -398,7 +398,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.hostid">
|
||||
<div class="resource-detail-item__label">{{ $t('hostname') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.hostname') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="desktop" />
|
||||
<router-link v-if="$router.resolve('/host/' + resource.hostid).route.name !== '404'" :to="{ path: '/host/' + resource.hostid }">{{ resource.hostname || resource.hostid }} </router-link>
|
||||
|
|
@ -406,7 +406,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.clusterid">
|
||||
<div class="resource-detail-item__label">{{ $t('clusterid') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.clusterid') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="cluster" />
|
||||
<router-link v-if="$router.resolve('/cluster/' + resource.clusterid).route.name !== '404'" :to="{ path: '/cluster/' + resource.clusterid }">{{ resource.clustername || resource.cluster || resource.clusterid }}</router-link>
|
||||
|
|
@ -414,7 +414,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.podid">
|
||||
<div class="resource-detail-item__label">{{ $t('podId') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.podid') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="appstore" />
|
||||
<router-link v-if="$router.resolve('/pod/' + resource.podid).route.name !== '404'" :to="{ path: '/pod/' + resource.podid }">{{ resource.podname || resource.pod || resource.podid }}</router-link>
|
||||
|
|
@ -422,7 +422,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.zoneid">
|
||||
<div class="resource-detail-item__label">{{ $t('zone') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.zone') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="global" />
|
||||
<router-link v-if="$router.resolve('/zone/' + resource.zoneid).route.name !== '404'" :to="{ path: '/zone/' + resource.zoneid }">{{ resource.zonename || resource.zoneid }}</router-link>
|
||||
|
|
@ -430,14 +430,14 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.account">
|
||||
<div class="resource-detail-item__label">{{ $t('account') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.account') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="user" />
|
||||
<router-link :to="{ path: '/account', query: { name: resource.account, domainid: resource.domainid } }">{{ resource.account }}</router-link>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.roleid">
|
||||
<div class="resource-detail-item__label">{{ $t('role') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.role') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="idcard" />
|
||||
<router-link v-if="$router.resolve('/role/' + resource.roleid).route.name !== '404'" :to="{ path: '/role/' + resource.roleid }">{{ resource.rolename || resource.role || resource.roleid }}</router-link>
|
||||
|
|
@ -445,7 +445,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.domainid">
|
||||
<div class="resource-detail-item__label">{{ $t('domain') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.domain') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="block" />
|
||||
<router-link v-if="$router.resolve('/domain/' + resource.domainid).route.name !== '404'" :to="{ path: '/domain/' + resource.domainid }">{{ resource.domain || resource.domainid }}</router-link>
|
||||
|
|
@ -453,7 +453,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.managementserverid">
|
||||
<div class="resource-detail-item__label">{{ $t('Management Servers') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.management.servers') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="rocket" />
|
||||
<router-link v-if="$router.resolve('/managementserver/' + resource.managementserverid).route.name !== '404'" :to="{ path: '/managementserver/' + resource.managementserverid }">{{ resource.managementserver || resource.managementserverid }}</router-link>
|
||||
|
|
@ -461,7 +461,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="resource-detail-item" v-if="resource.created">
|
||||
<div class="resource-detail-item__label">{{ $t('created') }}</div>
|
||||
<div class="resource-detail-item__label">{{ $t('label.created') }}</div>
|
||||
<div class="resource-detail-item__details">
|
||||
<a-icon type="calendar" />{{ resource.created }}
|
||||
</div>
|
||||
|
|
@ -486,10 +486,10 @@
|
|||
<div class="user-keys">
|
||||
<a-icon type="key" />
|
||||
<strong>
|
||||
{{ $t('apikey') }}
|
||||
{{ $t('label.apikey') }}
|
||||
<a-tooltip placement="right" >
|
||||
<template slot="title">
|
||||
<span>Copy {{ $t('apikey') }}</span>
|
||||
<span>Copy {{ $t('label.apikey') }}</span>
|
||||
</template>
|
||||
<a-button shape="circle" type="dashed" size="small" v-clipboard:copy="resource.apikey">
|
||||
<a-icon type="copy"/>
|
||||
|
|
@ -503,10 +503,10 @@
|
|||
<div class="user-keys">
|
||||
<a-icon type="lock" />
|
||||
<strong>
|
||||
{{ $t('secretkey') }}
|
||||
{{ $t('label.secretkey') }}
|
||||
<a-tooltip placement="right" >
|
||||
<template slot="title">
|
||||
<span>Copy {{ $t('secretkey') }}</span>
|
||||
<span>Copy {{ $t('label.secretkey') }}</span>
|
||||
</template>
|
||||
<a-button shape="circle" type="dashed" size="small" v-clipboard:copy="resource.secretkey">
|
||||
<a-icon type="copy"/>
|
||||
|
|
@ -521,7 +521,7 @@
|
|||
|
||||
<div class="account-center-tags" v-if="resourceType && 'listTags' in $store.getters.apis">
|
||||
<a-divider/>
|
||||
<div class="title">Tags</div>
|
||||
<div class="title">{{ $t('label.tags') }}</div>
|
||||
<div>
|
||||
<template v-for="(tag, index) in tags">
|
||||
<a-tag :key="index" :closable="true" :afterClose="() => handleDeleteTag(tag)">
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
v-if="!($route.meta.name === 'domain' && resource.level === 0)"
|
||||
:loading="formLoading"
|
||||
type="primary"
|
||||
@click="handleSubmit">{{ $t('submit') }}</a-button>
|
||||
@click="handleSubmit">{{ $t('label.submit') }}</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
@change="onTabChange" >
|
||||
<a-tab-pane
|
||||
v-for="tab in tabs"
|
||||
:tab="$t(tab.name)"
|
||||
:tab="$t('label.' + tab.name)"
|
||||
:key="tab.name"
|
||||
v-if="showHideTab(tab)">
|
||||
<component :is="tab.component" :resource="resource" :loading="loading" :tab="activeTab" />
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@
|
|||
@change="onTabChange" >
|
||||
<a-tab-pane
|
||||
v-for="tab in tabs"
|
||||
:tab="$t(tab.name)"
|
||||
:tab="$t('label.' + tab.name)"
|
||||
:key="tab.name"
|
||||
v-if="checkShowTabDetail(tab)">
|
||||
<component
|
||||
|
|
|
|||
|
|
@ -19,15 +19,15 @@
|
|||
<a-list-item v-if="vmwaredc">
|
||||
<div>
|
||||
<div style="margin-bottom: 10px;">
|
||||
<div><strong>{{ $t('vmwaredcName') }}</strong></div>
|
||||
<div><strong>{{ $t('label.vmwaredcname') }}</strong></div>
|
||||
<div>{{ vmwaredc.name }}</div>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px;">
|
||||
<div><strong>{{ $t('vmwaredcVcenter') }}</strong></div>
|
||||
<div><strong>{{ $t('label.vmwaredcvcenter') }}</strong></div>
|
||||
<div>{{ vmwaredc.vcenter }}</div>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px;">
|
||||
<div><strong>{{ $t('vmwaredcId') }}</strong></div>
|
||||
<div><strong>{{ $t('label.vmwaredcid') }}</strong></div>
|
||||
<div>{{ vmwaredc.id }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -17,14 +17,14 @@
|
|||
|
||||
export default {
|
||||
name: 'account',
|
||||
title: 'Accounts',
|
||||
title: 'label.accounts',
|
||||
icon: 'team',
|
||||
permission: ['listAccounts'],
|
||||
columns: ['name', 'state', 'rolename', 'roletype', 'domain'],
|
||||
details: ['name', 'id', 'rolename', 'roletype', 'domain', 'networkdomain', 'iptotal', 'vmtotal', 'volumetotal', 'receivedbytes', 'sentbytes', 'vmlimit', 'iplimit', 'volumelimit', 'snapshotlimit', 'templatelimit', 'vpclimit', 'cpulimit', 'memorylimit', 'networklimit', 'primarystoragelimit', 'secondarystoragelimit'],
|
||||
related: [{
|
||||
name: 'accountuser',
|
||||
title: 'Users',
|
||||
title: 'label.users',
|
||||
param: 'account'
|
||||
}],
|
||||
tabs: [
|
||||
|
|
@ -42,7 +42,7 @@ export default {
|
|||
component: () => import('@/components/view/ResourceLimitTab.vue')
|
||||
},
|
||||
{
|
||||
name: 'Settings',
|
||||
name: 'settings',
|
||||
component: () => import('@/components/view/SettingsTab.vue'),
|
||||
show: (record, route, user) => { return ['Admin'].includes(user.roletype) }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -341,7 +341,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'kubernetes',
|
||||
title: 'Kubernetes',
|
||||
title: 'label.kubernetes',
|
||||
icon: kubernetes,
|
||||
permission: ['listKubernetesClusters'],
|
||||
columns: ['name', 'state', 'size', 'cpunumber', 'memory', 'account', 'zonename'],
|
||||
|
|
@ -402,7 +402,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'vmgroup',
|
||||
title: 'Instance Groups',
|
||||
title: 'label.instance.groups',
|
||||
icon: 'gold',
|
||||
docHelp: 'adminguide/virtual_machines.html#changing-the-vm-name-os-or-group',
|
||||
permission: ['listInstanceGroups'],
|
||||
|
|
@ -438,7 +438,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'ssh',
|
||||
title: 'SSH Key Pairs',
|
||||
title: 'label.ssh.key.pairs',
|
||||
icon: 'key',
|
||||
docHelp: 'adminguide/virtual_machines.html#using-ssh-keys-for-authentication',
|
||||
permission: ['listSSHKeyPairs'],
|
||||
|
|
@ -446,7 +446,7 @@ export default {
|
|||
details: ['name', 'fingerprint', 'account', 'domain'],
|
||||
related: [{
|
||||
name: 'vm',
|
||||
title: 'Instances',
|
||||
title: 'label.instances',
|
||||
param: 'keypair'
|
||||
}],
|
||||
actions: [
|
||||
|
|
@ -480,7 +480,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'affinitygroup',
|
||||
title: 'Affinity Groups',
|
||||
title: 'label.affinity.groups',
|
||||
icon: 'swap',
|
||||
docHelp: 'adminguide/virtual_machines.html#affinity-groups',
|
||||
permission: ['listAffinityGroups'],
|
||||
|
|
@ -488,7 +488,7 @@ export default {
|
|||
details: ['name', 'id', 'description', 'type', 'account', 'domain'],
|
||||
related: [{
|
||||
name: 'vm',
|
||||
title: 'Instances',
|
||||
title: 'label.instances',
|
||||
param: 'affinitygroupid'
|
||||
}],
|
||||
actions: [
|
||||
|
|
|
|||
|
|
@ -17,13 +17,13 @@
|
|||
|
||||
export default {
|
||||
name: 'config',
|
||||
title: 'Configuration',
|
||||
title: 'label.configuration',
|
||||
icon: 'setting',
|
||||
permission: ['listConfigurations'],
|
||||
children: [
|
||||
{
|
||||
name: 'globalsetting',
|
||||
title: 'Global Settings',
|
||||
title: 'label.global.settings',
|
||||
icon: 'setting',
|
||||
permission: ['listConfigurations'],
|
||||
columns: ['name', 'description', 'category', 'value', 'actions'],
|
||||
|
|
@ -31,7 +31,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'ldapsetting',
|
||||
title: 'LDAP Configuration',
|
||||
title: 'label.ldap.configuration',
|
||||
icon: 'team',
|
||||
permission: ['listLdapConfigurations'],
|
||||
columns: ['hostname', 'port', 'domainid'],
|
||||
|
|
@ -62,7 +62,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'hypervisorcapability',
|
||||
title: 'Hypervisor Capabilities',
|
||||
title: 'label.hypervisor.capabilities',
|
||||
icon: 'database',
|
||||
permission: ['listHypervisorCapabilities'],
|
||||
columns: ['hypervisor', 'hypervisorversion', 'maxguestslimit', 'maxdatavolumeslimit', 'maxhostspercluster'],
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
export default {
|
||||
name: 'domain',
|
||||
title: 'Domains',
|
||||
title: 'label.domains',
|
||||
icon: 'block',
|
||||
permission: ['listDomains', 'listDomainChildren'],
|
||||
resourceType: 'Domain',
|
||||
|
|
@ -25,12 +25,12 @@ export default {
|
|||
details: ['name', 'id', 'path', 'parentdomainname', 'level', 'networkdomain', 'iptotal', 'vmtotal', 'volumetotal', 'vmlimit', 'iplimit', 'volumelimit', 'snapshotlimit', 'templatelimit', 'vpclimit', 'cpulimit', 'memorylimit', 'networklimit', 'primarystoragelimit', 'secondarystoragelimit'],
|
||||
related: [{
|
||||
name: 'account',
|
||||
title: 'Accounts',
|
||||
title: 'label.accounts',
|
||||
param: 'domainid'
|
||||
}],
|
||||
tabs: [
|
||||
{
|
||||
name: 'Domain',
|
||||
name: 'domain',
|
||||
component: () => import('@/components/view/InfoCard.vue'),
|
||||
show: (record, route) => { return route.path === '/domain' }
|
||||
},
|
||||
|
|
@ -44,7 +44,7 @@ export default {
|
|||
component: () => import('@/components/view/ResourceLimitTab.vue')
|
||||
},
|
||||
{
|
||||
name: 'Settings',
|
||||
name: 'settings',
|
||||
component: () => import('@/components/view/SettingsTab.vue'),
|
||||
show: (record, route, user) => { return ['Admin'].includes(user.roletype) }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,14 +17,14 @@
|
|||
|
||||
export default {
|
||||
name: 'event',
|
||||
title: 'Events',
|
||||
title: 'label.events',
|
||||
icon: 'schedule',
|
||||
permission: ['listEvents'],
|
||||
columns: ['username', 'description', 'state', 'level', 'type', 'account', 'domain', 'created'],
|
||||
details: ['username', 'id', 'description', 'state', 'level', 'type', 'account', 'domain', 'created'],
|
||||
related: [{
|
||||
name: 'event',
|
||||
title: 'Event Timeline',
|
||||
title: 'label.event.timeline',
|
||||
param: 'startid'
|
||||
}],
|
||||
actions: [
|
||||
|
|
|
|||
|
|
@ -19,12 +19,12 @@ import kubernetes from '@/assets/icons/kubernetes.svg?inline'
|
|||
|
||||
export default {
|
||||
name: 'image',
|
||||
title: 'Images',
|
||||
title: 'label.images',
|
||||
icon: 'picture',
|
||||
children: [
|
||||
{
|
||||
name: 'template',
|
||||
title: 'Templates',
|
||||
title: 'label.templates',
|
||||
icon: 'save',
|
||||
permission: ['listTemplates'],
|
||||
params: { templatefilter: 'self' },
|
||||
|
|
@ -34,7 +34,7 @@ export default {
|
|||
details: ['name', 'id', 'displaytext', 'checksum', 'hypervisor', 'format', 'ostypename', 'size', 'isready', 'passwordenabled', 'directdownload', 'isextractable', 'isdynamicallyscalable', 'ispublic', 'isfeatured', 'crosszones', 'type', 'account', 'domain', 'created'],
|
||||
related: [{
|
||||
name: 'vm',
|
||||
title: 'Instances',
|
||||
title: 'label.instances',
|
||||
param: 'templateid'
|
||||
}],
|
||||
tabs: [{
|
||||
|
|
@ -101,7 +101,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'iso',
|
||||
title: 'ISOs',
|
||||
title: 'label.isos',
|
||||
icon: 'usb',
|
||||
permission: ['listIsos'],
|
||||
params: { isofilter: 'self' },
|
||||
|
|
@ -111,7 +111,7 @@ export default {
|
|||
details: ['name', 'id', 'displaytext', 'checksum', 'ostypename', 'size', 'bootable', 'isready', 'directdownload', 'isextractable', 'ispublic', 'isfeatured', 'crosszones', 'account', 'domain', 'created'],
|
||||
related: [{
|
||||
name: 'vm',
|
||||
title: 'Instances',
|
||||
title: 'label.instances',
|
||||
param: 'isoid'
|
||||
}],
|
||||
tabs: [{
|
||||
|
|
@ -176,7 +176,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'kubernetesiso',
|
||||
title: 'Kubernetes ISOs',
|
||||
title: 'label.kubernetes.isos',
|
||||
icon: kubernetes,
|
||||
permission: ['listKubernetesSupportedVersions'],
|
||||
columns: ['name', 'state', 'semanticversion', 'isostate', 'mincpunumber', 'minmemory', 'zonename'],
|
||||
|
|
|
|||
|
|
@ -29,13 +29,13 @@ import ilbvms from '@/config/section/infra/ilbvms'
|
|||
|
||||
export default {
|
||||
name: 'infra',
|
||||
title: 'Infrastructure',
|
||||
title: 'label.infrastructure',
|
||||
icon: 'bank',
|
||||
permission: ['listInfrastructure'],
|
||||
children: [
|
||||
{
|
||||
name: 'infrasummary',
|
||||
title: 'Summary',
|
||||
title: 'label.summary',
|
||||
icon: 'read',
|
||||
permission: ['listInfrastructure'],
|
||||
component: () => import('@/views/infra/InfraSummary.vue')
|
||||
|
|
@ -53,7 +53,7 @@ export default {
|
|||
ilbvms,
|
||||
{
|
||||
name: 'cpusocket',
|
||||
title: 'CPU Sockets',
|
||||
title: 'label.cpu.sockets',
|
||||
icon: 'inbox',
|
||||
permission: ['listHosts'],
|
||||
params: { type: 'routing' },
|
||||
|
|
@ -61,14 +61,14 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'managementserver',
|
||||
title: 'Management Servers',
|
||||
title: 'label.management.servers',
|
||||
icon: 'rocket',
|
||||
permission: ['listManagementServers'],
|
||||
columns: ['name', 'state', 'version']
|
||||
},
|
||||
{
|
||||
name: 'alert',
|
||||
title: 'Alerts',
|
||||
title: 'label.alerts',
|
||||
icon: 'flag',
|
||||
permission: ['listAlerts'],
|
||||
columns: ['name', 'description', 'type', 'sent'],
|
||||
|
|
|
|||
|
|
@ -17,21 +17,21 @@
|
|||
|
||||
export default {
|
||||
name: 'cluster',
|
||||
title: 'Clusters',
|
||||
title: 'label.clusters',
|
||||
icon: 'cluster',
|
||||
permission: ['listClustersMetrics'],
|
||||
columns: ['name', 'state', 'allocationstate', 'clustertype', 'hypervisortype', 'hosts', 'cpuused', 'cpumaxdeviation', 'cpuallocated', 'cputotal', 'memoryused', 'memorymaxdeviation', 'memoryallocated', 'memorytotal', 'podname', 'zonename'],
|
||||
details: ['name', 'id', 'allocationstate', 'clustertype', 'hypervisortype', 'podname', 'zonename'],
|
||||
related: [{
|
||||
name: 'host',
|
||||
title: 'Hosts',
|
||||
title: 'label.hosts',
|
||||
param: 'clusterid'
|
||||
}],
|
||||
tabs: [{
|
||||
name: 'details',
|
||||
component: () => import('@/components/view/DetailsTab.vue')
|
||||
}, {
|
||||
name: 'Settings',
|
||||
name: 'settings',
|
||||
component: () => import('@/components/view/SettingsTab.vue')
|
||||
}],
|
||||
actions: [
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
export default {
|
||||
name: 'host',
|
||||
title: 'Hosts',
|
||||
title: 'label.hosts',
|
||||
icon: 'desktop',
|
||||
permission: ['listHostsMetrics'],
|
||||
resourceType: 'Host',
|
||||
|
|
@ -28,12 +28,12 @@ export default {
|
|||
name: 'details',
|
||||
component: () => import('@/components/view/DetailsTab.vue')
|
||||
}, {
|
||||
name: 'Config',
|
||||
name: 'config',
|
||||
component: () => import('@/views/infra/HostInfoTab.vue')
|
||||
}],
|
||||
related: [{
|
||||
name: 'vm',
|
||||
title: 'Instances',
|
||||
title: 'label.instances',
|
||||
param: 'hostid'
|
||||
}],
|
||||
actions: [
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
export default {
|
||||
name: 'ilbvm',
|
||||
title: 'Internal LB VMs',
|
||||
title: 'label.internal.lb',
|
||||
icon: 'share-alt',
|
||||
permission: ['listInternalLoadBalancerVMs'],
|
||||
params: { projectid: '-1' },
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
export default {
|
||||
name: 'nsp',
|
||||
title: 'Network Service Providers',
|
||||
title: 'label.network.service.providers',
|
||||
icon: 'compass',
|
||||
hidden: true,
|
||||
permission: ['listNetworkServiceProviders'],
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
export default {
|
||||
name: 'physicalnetwork',
|
||||
title: 'Physical Networks',
|
||||
title: 'label.physical.networks',
|
||||
icon: 'api',
|
||||
hidden: true,
|
||||
permission: ['listPhysicalNetworks'],
|
||||
|
|
@ -27,18 +27,18 @@ export default {
|
|||
name: 'details',
|
||||
component: () => import('@/components/view/DetailsTab.vue')
|
||||
}, {
|
||||
name: 'Traffic Types',
|
||||
name: 'traffic.types',
|
||||
component: () => import('@/views/infra/network/TrafficTypesTab.vue')
|
||||
}, {
|
||||
name: 'Service Providers',
|
||||
name: 'network.service.providers',
|
||||
component: () => import('@/views/infra/network/ServiceProvidersTab.vue')
|
||||
}, {
|
||||
name: 'Dedicated VLAN/VNI Ranges',
|
||||
name: 'dedicated.vlan.vni.ranges',
|
||||
component: () => import('@/views/infra/network/DedicatedVLANTab.vue')
|
||||
}],
|
||||
related: [{
|
||||
name: 'guestnetwork',
|
||||
title: 'Networks',
|
||||
title: 'label.networks',
|
||||
param: 'physicalnetworkid'
|
||||
}],
|
||||
actions: [
|
||||
|
|
|
|||
|
|
@ -17,18 +17,18 @@
|
|||
|
||||
export default {
|
||||
name: 'pod',
|
||||
title: 'Pods',
|
||||
title: 'label.pods',
|
||||
icon: 'appstore',
|
||||
permission: ['listPods'],
|
||||
columns: ['name', 'allocationstate', 'gateway', 'netmask', 'zonename'],
|
||||
details: ['name', 'id', 'allocationstate', 'netmask', 'gateway', 'zonename'],
|
||||
related: [{
|
||||
name: 'cluster',
|
||||
title: 'Clusters',
|
||||
title: 'label.clusters',
|
||||
param: 'podid'
|
||||
}, {
|
||||
name: 'host',
|
||||
title: 'Hosts',
|
||||
title: 'label.hosts',
|
||||
param: 'podid'
|
||||
}],
|
||||
actions: [
|
||||
|
|
|
|||
|
|
@ -17,21 +17,21 @@
|
|||
|
||||
export default {
|
||||
name: 'storagepool',
|
||||
title: 'Primary Storage',
|
||||
title: 'label.primary.storage',
|
||||
icon: 'database',
|
||||
permission: ['listStoragePoolsMetrics'],
|
||||
columns: ['name', 'state', 'ipaddress', 'type', 'path', 'scope', 'disksizeusedgb', 'disksizetotalgb', 'disksizeallocatedgb', 'disksizeunallocatedgb', 'clustername', 'zonename'],
|
||||
details: ['name', 'id', 'ipaddress', 'type', 'scope', 'tags', 'path', 'provider', 'hypervisor', 'overprovisionfactor', 'disksizetotal', 'disksizeallocated', 'disksizeused', 'clustername', 'podname', 'zonename', 'created'],
|
||||
related: [{
|
||||
name: 'volume',
|
||||
title: 'Volumes',
|
||||
title: 'label.volumes',
|
||||
param: 'storageid'
|
||||
}],
|
||||
tabs: [{
|
||||
name: 'details',
|
||||
component: () => import('@/components/view/DetailsTab.vue')
|
||||
}, {
|
||||
name: 'Settings',
|
||||
name: 'settings',
|
||||
component: () => import('@/components/view/SettingsTab.vue')
|
||||
}],
|
||||
actions: [
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
export default {
|
||||
name: 'router',
|
||||
title: 'Virtual Routers',
|
||||
title: 'label.virtual.routers',
|
||||
icon: 'fork',
|
||||
permission: ['listRouters'],
|
||||
params: { projectid: '-1' },
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
export default {
|
||||
name: 'imagestore',
|
||||
title: 'Secondary Storages',
|
||||
title: 'label.secondary.storage',
|
||||
icon: 'picture',
|
||||
permission: ['listImageStores'],
|
||||
columns: ['name', 'url', 'protocol', 'scope', 'zonename'],
|
||||
|
|
@ -26,7 +26,7 @@ export default {
|
|||
name: 'details',
|
||||
component: () => import('@/components/view/DetailsTab.vue')
|
||||
}, {
|
||||
name: 'Settings',
|
||||
name: 'settings',
|
||||
component: () => import('@/components/view/SettingsTab.vue')
|
||||
}],
|
||||
actions: [
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
export default {
|
||||
name: 'systemvm',
|
||||
title: 'System VMs',
|
||||
title: 'label.system.vms',
|
||||
icon: 'thunderbolt',
|
||||
permission: ['listSystemVms'],
|
||||
columns: ['name', 'state', 'agentstate', 'systemvmtype', 'publicip', 'privateip', 'linklocalip', 'hostname', 'zonename'],
|
||||
|
|
|
|||
|
|
@ -17,40 +17,40 @@
|
|||
|
||||
export default {
|
||||
name: 'zone',
|
||||
title: 'Zones',
|
||||
title: 'label.zones',
|
||||
icon: 'global',
|
||||
permission: ['listZonesMetrics'],
|
||||
columns: ['name', 'state', 'allocationstate', 'networktype', 'clusters', 'cpuused', 'cpumaxdeviation', 'cpuallocated', 'cputotal', 'memoryused', 'memorymaxdeviation', 'memoryallocated', 'memorytotal', 'order'],
|
||||
details: ['name', 'id', 'allocationstate', 'networktype', 'guestcidraddress', 'localstorageenabled', 'securitygroupsenabled', 'dns1', 'dns2', 'internaldns1', 'internaldns2'],
|
||||
related: [{
|
||||
name: 'pod',
|
||||
title: 'Pods',
|
||||
title: 'label.pods',
|
||||
param: 'zoneid'
|
||||
}, {
|
||||
name: 'cluster',
|
||||
title: 'Clusters',
|
||||
title: 'label.clusters',
|
||||
param: 'zoneid'
|
||||
}, {
|
||||
name: 'host',
|
||||
title: 'Hosts',
|
||||
title: 'label.hosts',
|
||||
param: 'zoneid'
|
||||
}, {
|
||||
name: 'storagepool',
|
||||
title: 'Primate Storage',
|
||||
title: 'label.primate.storage',
|
||||
param: 'zoneid'
|
||||
}, {
|
||||
name: 'imagestore',
|
||||
title: 'Secondary Storage',
|
||||
title: 'label.secondary.storage',
|
||||
param: 'zoneid'
|
||||
}],
|
||||
tabs: [{
|
||||
name: 'details',
|
||||
component: () => import('@/components/view/DetailsTab.vue')
|
||||
}, {
|
||||
name: 'Physical Networks',
|
||||
name: 'physical.networks',
|
||||
component: () => import('@/views/infra/zone/PhysicalNetworksTab.vue')
|
||||
}, {
|
||||
name: 'System VMs',
|
||||
name: 'system.vms',
|
||||
component: () => import('@/views/infra/zone/SystemVmsTab.vue')
|
||||
}, {
|
||||
name: 'resources',
|
||||
|
|
|
|||
|
|
@ -39,15 +39,15 @@ export default {
|
|||
name: 'details',
|
||||
component: () => import('@/components/view/DetailsTab.vue')
|
||||
}, {
|
||||
name: 'Egress Rules',
|
||||
name: 'egress.rules',
|
||||
component: () => import('@/views/network/EgressRulesTab.vue'),
|
||||
show: (record) => { return record.type === 'Isolated' && 'listEgressFirewallRules' in store.getters.apis }
|
||||
}, {
|
||||
name: 'Public IP Addresses',
|
||||
name: 'public.ip.addresses',
|
||||
component: () => import('@/views/network/IpAddressesTab.vue'),
|
||||
show: (record) => { return record.type === 'Isolated' && 'listPublicIpAddresses' in store.getters.apis }
|
||||
}, {
|
||||
name: 'Virtual Routers',
|
||||
name: 'virtual.routers',
|
||||
component: () => import('@/views/network/RoutersTab.vue'),
|
||||
show: (record) => { return (record.type === 'Isolated' || record.type === 'Shared') && 'listRouters' in store.getters.apis }
|
||||
}],
|
||||
|
|
@ -109,19 +109,19 @@ export default {
|
|||
details: ['name', 'id', 'displaytext', 'cidr', 'networkdomain', 'ispersistent', 'redundantvpcrouter', 'restartrequired', 'zonename', 'account', 'domain'],
|
||||
related: [{
|
||||
name: 'vm',
|
||||
title: 'Instances',
|
||||
title: 'label.instances',
|
||||
param: 'vpcid'
|
||||
}, {
|
||||
name: 'router',
|
||||
title: 'Virtual Routers',
|
||||
title: 'label.virtual.routers',
|
||||
param: 'vpcid'
|
||||
}, {
|
||||
name: 'ilbvm',
|
||||
title: 'Internal LB VMs',
|
||||
title: 'label.internal.lb.vms',
|
||||
param: 'vpcid'
|
||||
}],
|
||||
tabs: [{
|
||||
name: 'VPC',
|
||||
name: 'vpc',
|
||||
component: () => import('@/views/network/VpcTab.vue')
|
||||
}],
|
||||
actions: [
|
||||
|
|
@ -156,7 +156,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'securitygroups',
|
||||
title: 'Security Groups',
|
||||
title: 'label.security.groups',
|
||||
icon: 'fire',
|
||||
permission: ['listSecurityGroups'],
|
||||
resourceType: 'SecurityGroup',
|
||||
|
|
@ -166,10 +166,10 @@ export default {
|
|||
name: 'details',
|
||||
component: () => import('@/components/view/DetailsTab.vue')
|
||||
}, {
|
||||
name: 'Ingress Rule',
|
||||
name: 'ingress.rule',
|
||||
component: () => import('@/views/network/IngressEgressRuleConfigure.vue')
|
||||
}, {
|
||||
name: 'Egress Rule',
|
||||
name: 'egress.rule',
|
||||
component: () => import('@/views/network/IngressEgressRuleConfigure.vue')
|
||||
}],
|
||||
actions: [
|
||||
|
|
@ -191,7 +191,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'publicip',
|
||||
title: 'Public IP Addresses',
|
||||
title: 'label.public.ip.addresses',
|
||||
icon: 'environment',
|
||||
permission: ['listPublicIpAddresses'],
|
||||
resourceType: 'PublicIpAddress',
|
||||
|
|
@ -201,19 +201,19 @@ export default {
|
|||
name: 'details',
|
||||
component: () => import('@/components/view/DetailsTab.vue')
|
||||
}, {
|
||||
name: 'Firewall',
|
||||
name: 'firewall',
|
||||
component: () => import('@/views/network/FirewallRules.vue'),
|
||||
networkServiceFilter: networkService => networkService.filter(x => x.name === 'Firewall').length > 0
|
||||
}, {
|
||||
name: 'Port Forwarding',
|
||||
name: 'portforwarding',
|
||||
component: () => import('@/views/network/PortForwarding.vue'),
|
||||
networkServiceFilter: networkService => networkService.filter(x => x.name === 'PortForwarding').length > 0
|
||||
}, {
|
||||
name: 'Load Balancing',
|
||||
name: 'loadbalancing',
|
||||
component: () => import('@/views/network/LoadBalancing.vue'),
|
||||
networkServiceFilter: networkService => networkService.filter(x => x.name === 'Lb').length > 0
|
||||
}, {
|
||||
name: 'VPN',
|
||||
name: 'vpn',
|
||||
component: () => import('@/views/network/VpnDetails.vue'),
|
||||
show: (record) => { return record.issourcenat }
|
||||
}],
|
||||
|
|
@ -258,7 +258,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'privategw',
|
||||
title: 'Private Gateway',
|
||||
title: 'label.private.gateway',
|
||||
icon: 'branches',
|
||||
hidden: true,
|
||||
permission: ['listPrivateGateways'],
|
||||
|
|
@ -268,7 +268,7 @@ export default {
|
|||
name: 'details',
|
||||
component: () => import('@/components/view/DetailsTab.vue')
|
||||
}, {
|
||||
name: 'Static Routes',
|
||||
name: 'static.routes',
|
||||
component: () => import('@/views/network/StaticRoutesTab.vue'),
|
||||
show: () => true
|
||||
}],
|
||||
|
|
@ -311,7 +311,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 's2svpn',
|
||||
title: 'Site-to-Site VPNs',
|
||||
title: 'label.site-to-site.vpns',
|
||||
icon: 'lock',
|
||||
hidden: true,
|
||||
permission: ['listVpnGateways'],
|
||||
|
|
@ -335,7 +335,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 's2svpnconn',
|
||||
title: 'Site-to-Site VPN Connections',
|
||||
title: 'label.site-to-site.vpn.connections',
|
||||
icon: 'sync',
|
||||
hidden: true,
|
||||
permission: ['listVpnConnections'],
|
||||
|
|
@ -373,7 +373,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'acllist',
|
||||
title: 'Network ACL Lists',
|
||||
title: 'label.network.acl.lists',
|
||||
icon: 'bars',
|
||||
hidden: true,
|
||||
permission: ['listNetworkACLLists'],
|
||||
|
|
@ -383,7 +383,7 @@ export default {
|
|||
name: 'details',
|
||||
component: () => import('@/components/view/DetailsTab.vue')
|
||||
}, {
|
||||
name: 'ACL List Rules',
|
||||
name: 'acl.list.rules',
|
||||
component: () => import('@/views/network/AclListRulesTab.vue'),
|
||||
show: () => true
|
||||
}],
|
||||
|
|
@ -412,7 +412,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'ilb',
|
||||
title: 'Internal LB',
|
||||
title: 'label.internal.lb',
|
||||
icon: 'share-alt',
|
||||
hidden: true,
|
||||
permission: ['listLoadBalancers'],
|
||||
|
|
@ -422,7 +422,7 @@ export default {
|
|||
name: 'details',
|
||||
component: () => import('@/components/view/DetailsTab.vue')
|
||||
}, {
|
||||
name: 'Assigned VMs',
|
||||
name: 'loadbalancerinstance',
|
||||
component: () => import('@/views/network/InternalLBAssignedVmTab.vue'),
|
||||
show: () => true
|
||||
}],
|
||||
|
|
@ -468,7 +468,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'vpnuser',
|
||||
title: 'VPN Users',
|
||||
title: 'label.vpn.users',
|
||||
icon: 'user',
|
||||
permission: ['listVpnUsers'],
|
||||
columns: ['username', 'state', 'account', 'domain'],
|
||||
|
|
@ -503,7 +503,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'vpncustomergateway',
|
||||
title: 'VPN Customer Gateway',
|
||||
title: 'label.vpncustomergatewayid',
|
||||
icon: 'lock',
|
||||
permission: ['listVpnCustomerGateways'],
|
||||
columns: ['name', 'gateway', 'cidrlist', 'ipsecpsk', 'account', 'domain'],
|
||||
|
|
|
|||
|
|
@ -17,13 +17,13 @@
|
|||
|
||||
export default {
|
||||
name: 'offering',
|
||||
title: 'Offerings',
|
||||
title: 'label.menu.service.offerings',
|
||||
icon: 'shopping',
|
||||
permission: ['listServiceOfferings', 'listDiskOfferings', 'listDomains'],
|
||||
children: [
|
||||
{
|
||||
name: 'computeoffering',
|
||||
title: 'Compute Offerings',
|
||||
title: 'label.compute.offerings',
|
||||
icon: 'cloud',
|
||||
permission: ['listServiceOfferings', 'listDomains'],
|
||||
params: { isrecursive: 'true' },
|
||||
|
|
@ -31,7 +31,7 @@ export default {
|
|||
details: ['name', 'id', 'displaytext', 'offerha', 'provisioningtype', 'storagetype', 'iscustomized', 'limitcpuuse', 'cpunumber', 'cpuspeed', 'memory', 'tags', 'domain', 'zone', 'created'],
|
||||
related: [{
|
||||
name: 'vm',
|
||||
title: 'Instances',
|
||||
title: 'label.instances',
|
||||
param: 'serviceofferingid'
|
||||
}],
|
||||
actions: [{
|
||||
|
|
@ -63,7 +63,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'systemoffering',
|
||||
title: 'System Offerings',
|
||||
title: 'label.system.offerings',
|
||||
icon: 'setting',
|
||||
permission: ['listServiceOfferings', 'listInfrastructure'],
|
||||
params: { issystem: 'true', isrecursive: 'true' },
|
||||
|
|
@ -94,7 +94,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'diskoffering',
|
||||
title: 'Disk Offerings',
|
||||
title: 'label.disk.offerings',
|
||||
icon: 'hdd',
|
||||
permission: ['listDiskOfferings', 'listDomains'],
|
||||
params: { isrecursive: 'true' },
|
||||
|
|
@ -102,7 +102,7 @@ export default {
|
|||
details: ['name', 'id', 'displaytext', 'disksize', 'provisioningtype', 'storagetype', 'iscustomized', 'tags', 'domain', 'zone', 'created'],
|
||||
related: [{
|
||||
name: 'volume',
|
||||
title: 'Volumes',
|
||||
title: 'label.volumes',
|
||||
param: 'diskofferingid'
|
||||
}],
|
||||
actions: [{
|
||||
|
|
@ -134,7 +134,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'backupoffering',
|
||||
title: 'Backup Offerings',
|
||||
title: 'label.backup.offerings',
|
||||
icon: 'cloud-upload',
|
||||
permission: ['listBackupOfferings', 'listInfrastructure'],
|
||||
columns: ['name', 'description', 'zoneid'],
|
||||
|
|
@ -155,7 +155,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'networkoffering',
|
||||
title: 'Network Offerings',
|
||||
title: 'label.network.offerings',
|
||||
icon: 'wifi',
|
||||
permission: ['listNetworkOfferings', 'listInfrastructure'],
|
||||
params: { isrecursive: 'true' },
|
||||
|
|
@ -219,7 +219,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'vpcoffering',
|
||||
title: 'VPC Offerings',
|
||||
title: 'label.vpc.offerings',
|
||||
icon: 'deployment-unit',
|
||||
permission: ['listVPCOfferings', 'listInfrastructure'],
|
||||
params: { isrecursive: 'true' },
|
||||
|
|
@ -228,7 +228,7 @@ export default {
|
|||
details: ['name', 'id', 'displaytext', 'distributedvpcrouter', 'tags', 'service', 'domain', 'zone', 'created'],
|
||||
related: [{
|
||||
name: 'vpc',
|
||||
title: 'VPCs',
|
||||
title: 'label.vpcs',
|
||||
param: 'vpcofferingid'
|
||||
}],
|
||||
actions: [{
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import cloudian from '@/assets/icons/cloudian.svg?inline'
|
|||
|
||||
export default {
|
||||
name: 'cloudian',
|
||||
title: 'Cloudian Storage',
|
||||
title: 'label.cloudian.storage',
|
||||
icon: cloudian,
|
||||
permission: ['cloudianSsoLogin'],
|
||||
component: () => import('@/views/plugins/CloudianPlugin.vue')
|
||||
|
|
|
|||
|
|
@ -17,13 +17,13 @@
|
|||
|
||||
export default {
|
||||
name: 'quota',
|
||||
title: 'Quota',
|
||||
title: 'label.quota',
|
||||
icon: 'pie-chart',
|
||||
permission: ['quotaSummary'],
|
||||
children: [
|
||||
{
|
||||
name: 'quotasummary',
|
||||
title: 'Summary',
|
||||
title: 'label.summary',
|
||||
icon: 'bars',
|
||||
permission: ['quotaSummary'],
|
||||
columns: ['account', 'domain', 'state', 'currency', 'balance', 'quota'],
|
||||
|
|
@ -31,7 +31,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'quotatariff',
|
||||
title: 'Tariff',
|
||||
title: 'label.tariff',
|
||||
icon: 'credit-card',
|
||||
permission: ['quotaTariffList'],
|
||||
columns: ['usageName', 'description', 'usageUnit', 'tariffValue'],
|
||||
|
|
@ -39,7 +39,7 @@ export default {
|
|||
},
|
||||
{
|
||||
name: 'quotaemailtemplate',
|
||||
title: 'Email Template',
|
||||
title: 'label.email.template',
|
||||
icon: 'mail',
|
||||
permission: ['quotaEmailTemplateList'],
|
||||
columns: ['templatetype', 'templatesubject', 'templatebody'],
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
export default {
|
||||
name: 'project',
|
||||
title: 'Projects',
|
||||
title: 'label.projects',
|
||||
icon: 'project',
|
||||
permission: ['listProjects'],
|
||||
resourceType: 'Project',
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
export default {
|
||||
name: 'role',
|
||||
title: 'Roles',
|
||||
title: 'label.roles',
|
||||
icon: 'idcard',
|
||||
permission: ['listRoles', 'listRolePermissions'],
|
||||
columns: ['name', 'type', 'description'],
|
||||
|
|
@ -26,7 +26,7 @@ export default {
|
|||
name: 'details',
|
||||
component: () => import('@/components/view/DetailsTab.vue')
|
||||
}, {
|
||||
name: 'Rules',
|
||||
name: 'rules',
|
||||
component: () => import('@/views/iam/RolePermissionTab.vue')
|
||||
}],
|
||||
actions: [
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
export default {
|
||||
name: 'accountuser',
|
||||
title: 'Users',
|
||||
title: 'label.users',
|
||||
icon: 'user',
|
||||
hidden: true,
|
||||
permission: ['listUsers'],
|
||||
|
|
|
|||
|
|
@ -428,6 +428,7 @@
|
|||
"label.available.public.ips": "Available Public IP Addresses",
|
||||
"label.back": "Back",
|
||||
"label.backup": "Backups",
|
||||
"label.backup.offerings": "Backup Offerings",
|
||||
"label.backup.offering.assign": "Assign VM to backup offering",
|
||||
"label.backup.offering.remove": "Remove VM from backup offering",
|
||||
"label.backup.restore": "Restore VM Backup",
|
||||
|
|
@ -921,6 +922,7 @@
|
|||
"label.ikehash": "IKE Hash",
|
||||
"label.ikelifetime": "IKE lifetime (second)",
|
||||
"label.ikepolicy": "IKE policy",
|
||||
"label.images": "Images",
|
||||
"label.import.backup.offering": "Import Backup Offering",
|
||||
"label.info": "Info",
|
||||
"label.info.upper": "INFO",
|
||||
|
|
@ -949,6 +951,7 @@
|
|||
"label.instancename": "Internal name",
|
||||
"label.instanceport": "Instance Port",
|
||||
"label.instances": "Instances",
|
||||
"label.instance.groups": "Instance Groups",
|
||||
"label.instanciate.template.associate.profile.blade": "Instanciate Template and Associate Profile to Blade",
|
||||
"label.intermediate.certificate": "Intermediate certificate {0}",
|
||||
"label.internal.dns.1": "Internal DNS 1",
|
||||
|
|
@ -1046,6 +1049,7 @@
|
|||
"label.keyboard": "Keyboard language",
|
||||
"label.keyboardtype": "Keyboard type",
|
||||
"label.keypair": "SSH Key Pair",
|
||||
"label.kubernetes": "Kubernetes",
|
||||
"label.kubernetes.cluster": "Kubernetes cluster",
|
||||
"label.kubernetes.cluster.create": "Create Kubernetes Cluster",
|
||||
"label.kubernetes.cluster.delete": "Delete Kubernetes Cluster",
|
||||
|
|
@ -1054,6 +1058,7 @@
|
|||
"label.kubernetes.cluster.start": "Start Kubernetes Cluster",
|
||||
"label.kubernetes.cluster.stop": "Stop Kubernetes Cluster",
|
||||
"label.kubernetes.cluster.upgrade": "Upgrade Kubernetes Cluster",
|
||||
"label.kubernetes.isos": "Kubernetes ISOs",
|
||||
"label.kubernetes.service": "Kubernetes Service",
|
||||
"label.kubernetes.version.add": "Add Kubernetes Version",
|
||||
"label.kubernetes.version.delete": "Delete Kubernetes Version",
|
||||
|
|
@ -1815,6 +1820,7 @@
|
|||
"label.submitted.by": "[Submitted by: <span id=\"submitted_by\"></span>]",
|
||||
"label.succeeded": "Succeeded",
|
||||
"label.suitability": "Suitability",
|
||||
"label.summary": "Summary",
|
||||
"label.sunday": "Sunday",
|
||||
"label.supportedservices": "Supported Services",
|
||||
"label.supportspublicaccess": "Supports Public Access",
|
||||
|
|
|
|||
|
|
@ -50,12 +50,12 @@
|
|||
<a-select
|
||||
v-if="filters && filters.length > 0"
|
||||
placeholder="Filter By"
|
||||
:value="$t(selectedFilter)"
|
||||
:value="$t('label.' + selectedFilter)"
|
||||
style="min-width: 100px; margin-left: 10px"
|
||||
@change="changeFilter">
|
||||
<a-icon slot="suffixIcon" type="filter" />
|
||||
<a-select-option v-for="filter in filters" :key="filter">
|
||||
{{ $t(filter) }}
|
||||
{{ $t('label.' + filter) }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
<a-input-search
|
||||
|
|
|
|||
|
|
@ -26,15 +26,15 @@
|
|||
</div>
|
||||
|
||||
<div class="form__item">
|
||||
<p class="form__label">{{ $t('accounttype') }}</p>
|
||||
<p class="form__label">{{ $t('label.accounttype') }}</p>
|
||||
<a-select v-model="selectedAccountType" defaultValue="account">
|
||||
<a-select-option :value="$t('account')">{{ $t('account') }}</a-select-option>
|
||||
<a-select-option :value="$t('project')">{{ $t('project') }}</a-select-option>
|
||||
<a-select-option :value="$t('label.account')">{{ $t('label.account') }}</a-select-option>
|
||||
<a-select-option :value="$t('label.project')">{{ $t('label.project') }}</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
|
||||
<div class="form__item">
|
||||
<p class="form__label"><span class="required">*</span>{{ $t('domain') }}</p>
|
||||
<p class="form__label"><span class="required">*</span>{{ $t('label.domain') }}</p>
|
||||
<a-select @change="changeDomain" v-model="selectedDomain" :defaultValue="selectedDomain">
|
||||
<a-select-option v-for="domain in domains" :key="domain.name" :value="domain.id">
|
||||
{{ domain.path }}
|
||||
|
|
@ -44,30 +44,30 @@
|
|||
|
||||
<template v-if="selectedAccountType === 'Account'">
|
||||
<div class="form__item">
|
||||
<p class="form__label"><span class="required">*</span>{{ $t('account') }}</p>
|
||||
<p class="form__label"><span class="required">*</span>{{ $t('label.account') }}</p>
|
||||
<a-select @change="changeAccount" v-model="selectedAccount">
|
||||
<a-select-option v-for="account in accounts" :key="account.name" :value="account.name">
|
||||
{{ account.name }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
<span v-if="accountError" class="required">{{ $t('required') }}</span>
|
||||
<span v-if="accountError" class="required">{{ $t('label.required') }}</span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template v-else>
|
||||
<div class="form__item">
|
||||
<p class="form__label"><span class="required">*</span>{{ $t('project') }}</p>
|
||||
<p class="form__label"><span class="required">*</span>{{ $t('label.project') }}</p>
|
||||
<a-select @change="changeProject" v-model="selectedProject">
|
||||
<a-select-option v-for="project in projects" :key="project.id" :value="project.id">
|
||||
{{ project.name }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
<span v-if="projectError" class="required">{{ $t('required') }}</span>
|
||||
<span v-if="projectError" class="required">{{ $t('label.required') }}</span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<div class="form__item">
|
||||
<p class="form__label">{{ $t('network') }}</p>
|
||||
<p class="form__label">{{ $t('label.network') }}</p>
|
||||
<a-select v-model="selectedNetwork">
|
||||
<a-select-option v-for="network in networks" :key="network.id" :value="network.id">
|
||||
{{ network.name ? network.name : '-' }}
|
||||
|
|
@ -76,7 +76,7 @@
|
|||
</div>
|
||||
|
||||
<a-button type="primary" class="submit-btn" @click="submitData">
|
||||
{{ $t('submit') }}
|
||||
{{ $t('label.submit') }}
|
||||
</a-button>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
<template>
|
||||
<div class="backup-layout">
|
||||
<a-tabs defaultActiveKey="1" :animated="false">
|
||||
<a-tab-pane :tab="$t('schedule')" key="1">
|
||||
<a-tab-pane :tab="$t('label.schedule')" key="1">
|
||||
<FormSchedule
|
||||
:loading="loading"
|
||||
:resource="resource"
|
||||
|
|
|
|||
|
|
@ -22,21 +22,21 @@
|
|||
:form="form"
|
||||
@submit="handleSubmit"
|
||||
layout="vertical">
|
||||
<a-form-item :label="$t('name')">
|
||||
<a-form-item :label="$t('label.name')">
|
||||
<a-input
|
||||
v-decorator="['name', {
|
||||
rules: [{ required: true, message: 'Please enter Kubernetes cluster name' }]
|
||||
}]"
|
||||
:placeholder="apiParams.name.description"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('description')">
|
||||
<a-form-item :label="$t('label.description')">
|
||||
<a-input
|
||||
v-decorator="['description', {
|
||||
rules: [{ required: true, message: 'Please enter Kubernetes cluster description' }]
|
||||
}]"
|
||||
:placeholder="apiParams.description.description"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('zoneid')">
|
||||
<a-form-item :label="$t('label.zoneid')">
|
||||
<a-select
|
||||
id="zone-selection"
|
||||
v-decorator="['zoneid', {
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('kubernetesversionid')">
|
||||
<a-form-item :label="$t('label.kubernetesversionid')">
|
||||
<a-select
|
||||
id="version-selection"
|
||||
v-decorator="['kubernetesversionid', {
|
||||
|
|
@ -74,7 +74,7 @@
|
|||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('serviceofferingid')">
|
||||
<a-form-item :label="$t('label.serviceofferingid')">
|
||||
<a-select
|
||||
id="offering-selection"
|
||||
v-decorator="['serviceofferingid', {
|
||||
|
|
@ -92,7 +92,7 @@
|
|||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('noderootdisksize')">
|
||||
<a-form-item :label="$t('label.noderootdisksize')">
|
||||
<a-input
|
||||
v-decorator="['noderootdisksize', {
|
||||
rules: [{
|
||||
|
|
@ -106,7 +106,7 @@
|
|||
}]"
|
||||
:placeholder="apiParams.noderootdisksize.description"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('networkid')">
|
||||
<a-form-item :label="$t('label.networkid')">
|
||||
<a-select
|
||||
id="network-selection"
|
||||
v-decorator="['networkid', {}]"
|
||||
|
|
@ -122,10 +122,10 @@
|
|||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('haenable')" v-if="this.selectedKubernetesVersion != null && this.selectedKubernetesVersion != undefined && this.selectedKubernetesVersion.supportsha === true">
|
||||
<a-form-item :label="$t('label.haenable')" v-if="this.selectedKubernetesVersion != null && this.selectedKubernetesVersion != undefined && this.selectedKubernetesVersion.supportsha === true">
|
||||
<a-switch v-decorator="['haenable', {initialValue: this.haEnabled}]" :checked="this.haEnabled" @change="val => { this.haEnabled = val }" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('masternodes')" v-if="this.haEnabled">
|
||||
<a-form-item :label="$t('label.masternodes')" v-if="this.haEnabled">
|
||||
<a-input
|
||||
v-decorator="['masternodes', {
|
||||
initialValue: '1',
|
||||
|
|
@ -142,12 +142,12 @@
|
|||
}]"
|
||||
:placeholder="apiParams.masternodes.description"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('externalloadbalanceripaddress')" v-if="this.haEnabled">
|
||||
<a-form-item :label="$t('label.externalloadbalanceripaddress')" v-if="this.haEnabled">
|
||||
<a-input
|
||||
v-decorator="['externalloadbalanceripaddress', {}]"
|
||||
:placeholder="apiParams.externalloadbalanceripaddress.description"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('cks.cluster.size')">
|
||||
<a-form-item :label="$t('label.cks.cluster.size')">
|
||||
<a-input
|
||||
v-decorator="['size', {
|
||||
initialValue: '1',
|
||||
|
|
@ -164,7 +164,7 @@
|
|||
}]"
|
||||
:placeholder="apiParams.size.description"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('keypair')">
|
||||
<a-form-item :label="$t('label.keypair')">
|
||||
<a-select
|
||||
id="keypair-selection"
|
||||
v-decorator="['keypair', {}]"
|
||||
|
|
@ -182,8 +182,8 @@
|
|||
</a-form-item>
|
||||
|
||||
<div :span="24" class="action-button">
|
||||
<a-button @click="closeAction">{{ this.$t('Cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('OK') }}</a-button>
|
||||
<a-button @click="closeAction">{{ this.$t('label.cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('label.ok') }}</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
|
|
|||
|
|
@ -23,19 +23,19 @@
|
|||
:form="form"
|
||||
@submit="handleSubmit"
|
||||
layout="vertical">
|
||||
<a-form-item :label="$t('name')">
|
||||
<a-form-item :label="$t('label.name')">
|
||||
<a-input
|
||||
v-decorator="['name', {
|
||||
rules: [{ required: true, message: 'Please enter name' }]
|
||||
}]"
|
||||
:placeholder="apiParams.name.description"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('publickey')">
|
||||
<a-form-item :label="$t('label.publickey')">
|
||||
<a-input
|
||||
v-decorator="['publickey', {}]"
|
||||
:placeholder="apiParams.publickey.description"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('domainid')" v-if="this.isAdminOrDomainAdmin()">
|
||||
<a-form-item :label="$t('label.domainid')" v-if="this.isAdminOrDomainAdmin()">
|
||||
<a-select
|
||||
id="domain-selection"
|
||||
v-decorator="['domainid', {}]"
|
||||
|
|
@ -52,15 +52,15 @@
|
|||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('account')" v-if="this.isAdminOrDomainAdmin() && !this.isObjectEmpty(this.selectedDomain) && this.selectedDomain.id !== null">
|
||||
<a-form-item :label="$t('label.account')" v-if="this.isAdminOrDomainAdmin() && !this.isObjectEmpty(this.selectedDomain) && this.selectedDomain.id !== null">
|
||||
<a-input
|
||||
v-decorator="['account', {}]"
|
||||
:placeholder="apiParams.account.description"/>
|
||||
</a-form-item>
|
||||
|
||||
<div :span="24" class="action-button">
|
||||
<a-button @click="closeAction">{{ this.$t('Cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('OK') }}</a-button>
|
||||
<a-button @click="closeAction">{{ this.$t('label.cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('label.ok') }}</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
|
|
|||
|
|
@ -19,22 +19,22 @@
|
|||
<div>
|
||||
<a-row :gutter="12">
|
||||
<a-col :md="24" :lg="17">
|
||||
<a-card :bordered="true" :title="this.$t('newInstance')">
|
||||
<a-card :bordered="true" :title="this.$t('label.newinstance')">
|
||||
<a-form
|
||||
:form="form"
|
||||
@submit="handleSubmit"
|
||||
layout="vertical"
|
||||
>
|
||||
<a-steps direction="vertical" size="small">
|
||||
<a-step :title="this.$t('details')" status="process">
|
||||
<a-step :title="this.$t('label.details')" status="process">
|
||||
<template slot="description">
|
||||
<div style="margin-top: 15px">
|
||||
<a-form-item :label="this.$t('name')">
|
||||
<a-form-item :label="this.$t('label.name')">
|
||||
<a-input
|
||||
v-decorator="['name']"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="this.$t('zoneid')">
|
||||
<a-form-item :label="this.$t('label.zoneid')">
|
||||
<a-select
|
||||
v-decorator="['zoneid', {
|
||||
rules: [{ required: true, message: 'Please select option' }]
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
</a-form-item>
|
||||
<a-form-item
|
||||
v-if="!isNormalAndDomainUser"
|
||||
:label="this.$t('podId')">
|
||||
:label="this.$t('label.podid')">
|
||||
<a-select
|
||||
v-decorator="['podid']"
|
||||
:options="podSelectOptions"
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
</a-form-item>
|
||||
<a-form-item
|
||||
v-if="!isNormalAndDomainUser"
|
||||
:label="this.$t('clusterid')">
|
||||
:label="this.$t('label.clusterid')">
|
||||
<a-select
|
||||
v-decorator="['clusterid']"
|
||||
:options="clusterSelectOptions"
|
||||
|
|
@ -64,23 +64,23 @@
|
|||
</a-form-item>
|
||||
<a-form-item
|
||||
v-if="!isNormalAndDomainUser"
|
||||
:label="this.$t('hostId')">
|
||||
:label="this.$t('label.hostid')">
|
||||
<a-select
|
||||
v-decorator="['hostid']"
|
||||
:options="hostSelectOptions"
|
||||
:loading="loading.hosts"
|
||||
></a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="this.$t('group')">
|
||||
<a-form-item :label="this.$t('label.group')">
|
||||
<a-input v-decorator="['group']" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="this.$t('keyboard')">
|
||||
<a-form-item :label="this.$t('label.keyboard')">
|
||||
<a-select
|
||||
v-decorator="['keyboard']"
|
||||
:options="keyboardSelectOptions"
|
||||
></a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="this.$t('userdata')">
|
||||
<a-form-item :label="this.$t('label.userdata')">
|
||||
<a-textarea
|
||||
v-decorator="['userdata']">
|
||||
</a-textarea>
|
||||
|
|
@ -89,7 +89,7 @@
|
|||
</template>
|
||||
</a-step>
|
||||
<a-step
|
||||
:title="this.$t('templateIso')"
|
||||
:title="this.$t('label.templateiso')"
|
||||
:status="zoneSelected ? 'process' : 'wait'">
|
||||
<template slot="description">
|
||||
<div v-if="zoneSelected" style="margin-top: 15px">
|
||||
|
|
@ -119,7 +119,7 @@
|
|||
:loading="loading.isos"
|
||||
:preFillContent="dataPreFill"
|
||||
@update-template-iso="updateFieldValue" />
|
||||
<a-form-item :label="this.$t('hypervisor')">
|
||||
<a-form-item :label="this.$t('label.hypervisor')">
|
||||
<a-select
|
||||
v-decorator="['hypervisor', {
|
||||
initialValue: hypervisorSelectOptions && hypervisorSelectOptions.length > 0
|
||||
|
|
@ -145,7 +145,7 @@
|
|||
</template>
|
||||
</a-step>
|
||||
<a-step
|
||||
:title="this.$t('serviceOfferingId')"
|
||||
:title="this.$t('label.serviceofferingid')"
|
||||
:status="zoneSelected ? 'process' : 'wait'">
|
||||
<template slot="description">
|
||||
<div v-if="zoneSelected">
|
||||
|
|
@ -189,7 +189,7 @@
|
|||
</template>
|
||||
</a-step>
|
||||
<a-step
|
||||
:title="this.$t('diskofferingid')"
|
||||
:title="this.$t('label.diskofferingid')"
|
||||
:status="zoneSelected ? 'process' : 'wait'">
|
||||
<template slot="description">
|
||||
<div v-if="zoneSelected">
|
||||
|
|
@ -213,7 +213,7 @@
|
|||
</template>
|
||||
</a-step>
|
||||
<a-step
|
||||
:title="this.$t('Affinity Groups')"
|
||||
:title="this.$t('label.affinity.groups')"
|
||||
:status="zoneSelected ? 'process' : 'wait'">
|
||||
<template slot="description">
|
||||
<div v-if="zoneSelected">
|
||||
|
|
@ -229,7 +229,7 @@
|
|||
</template>
|
||||
</a-step>
|
||||
<a-step
|
||||
:title="this.$t('networks')"
|
||||
:title="this.$t('label.networks')"
|
||||
:status="zoneSelected ? 'process' : 'wait'">
|
||||
<template slot="description">
|
||||
<div v-if="zoneSelected">
|
||||
|
|
@ -253,7 +253,7 @@
|
|||
</template>
|
||||
</a-step>
|
||||
<a-step
|
||||
:title="this.$t('sshKeyPairs')"
|
||||
:title="this.$t('label.sshkeypairs')"
|
||||
:status="zoneSelected ? 'process' : 'wait'">
|
||||
<template slot="description">
|
||||
<div v-if="zoneSelected">
|
||||
|
|
@ -272,11 +272,11 @@
|
|||
<div class="card-footer">
|
||||
<!-- ToDo extract as component -->
|
||||
<a-button @click="() => this.$router.back()" :loading="loading.deploy">
|
||||
{{ this.$t('cancel') }}
|
||||
{{ this.$t('label.cancel') }}
|
||||
</a-button>
|
||||
<a-button type="primary" @click="handleSubmit" :loading="loading.deploy">
|
||||
<a-icon type="rocket" />
|
||||
{{ this.$t('Launch VM') }}
|
||||
{{ this.$t('label.launch.vm') }}
|
||||
</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
|
|
@ -284,7 +284,7 @@
|
|||
</a-col>
|
||||
<a-col :md="24" :lg="7" v-if="!isMobile()">
|
||||
<a-affix :offsetTop="75">
|
||||
<info-card class="vm-info-card" :resource="vm" :title="this.$t('yourInstance')">
|
||||
<info-card class="vm-info-card" :resource="vm" :title="this.$t('label.yourinstance')">
|
||||
<!-- ToDo: Refactor this, maybe move everything to the info-card component -->
|
||||
<div slot="details" v-if="diskSize" style="margin-bottom: 12px;">
|
||||
<a-icon type="hdd"></a-icon>
|
||||
|
|
@ -421,11 +421,11 @@ export default {
|
|||
tabList: [
|
||||
{
|
||||
key: 'templateid',
|
||||
tab: this.$t('Templates')
|
||||
tab: this.$t('label.templates')
|
||||
},
|
||||
{
|
||||
key: 'isoid',
|
||||
tab: this.$t('ISOs')
|
||||
tab: this.$t('label.isos')
|
||||
}
|
||||
],
|
||||
tabKey: 'templateid',
|
||||
|
|
@ -816,7 +816,7 @@ export default {
|
|||
this.networkConfig = networks
|
||||
},
|
||||
updateSshKeyPairs (name) {
|
||||
if (name === this.$t('noselect')) {
|
||||
if (name === this.$t('label.noselect')) {
|
||||
this.form.setFieldsValue({
|
||||
keypair: undefined
|
||||
})
|
||||
|
|
@ -926,7 +926,7 @@ export default {
|
|||
deployVmData.displayname = values.name
|
||||
const title = this.$t('label.launch.vm')
|
||||
const description = values.name || ''
|
||||
const password = this.$t('password')
|
||||
const password = this.$t('label.password')
|
||||
api('deployVirtualMachine', deployVmData).then(response => {
|
||||
const jobId = response.deployvirtualmachineresponse.jobid
|
||||
if (jobId) {
|
||||
|
|
|
|||
|
|
@ -68,19 +68,19 @@
|
|||
<div>
|
||||
<a-divider class="divider-small" />
|
||||
<div class="attribute">
|
||||
<div class="label">{{ $t('size') }}</div>
|
||||
<div class="label">{{ $t('label.size') }}</div>
|
||||
<div>{{ (item.size / (1024 * 1024 * 1024.0)).toFixed(2) }} GB</div>
|
||||
</div>
|
||||
<div class="attribute" v-if="item.physicalsize">
|
||||
<div class="label">{{ $t('physicalsize') }}</div>
|
||||
<div class="label">{{ $t('label.physicalsize') }}</div>
|
||||
<div>{{ (item.physicalsize / (1024 * 1024 * 1024.0)).toFixed(4) }} GB</div>
|
||||
</div>
|
||||
<div class="attribute">
|
||||
<div class="label">{{ $t('storagePool') }}</div>
|
||||
<div class="label">{{ $t('label.storagepool') }}</div>
|
||||
<div>{{ item.storage }} ({{ item.storagetype }})</div>
|
||||
</div>
|
||||
<div class="attribute">
|
||||
<div class="label">{{ $t('id') }}</div>
|
||||
<div class="label">{{ $t('label.id') }}</div>
|
||||
<div><a-icon type="barcode"/> {{ item.id }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -155,7 +155,7 @@
|
|||
</div>
|
||||
<div class="tags">
|
||||
<a-tag v-if="item.isdefault">
|
||||
{{ $t('default') }}
|
||||
{{ $t('label.default') }}
|
||||
</a-tag>
|
||||
<a-tag v-if="item.type">
|
||||
{{ item.type }}
|
||||
|
|
@ -173,27 +173,27 @@
|
|||
<div>
|
||||
<a-divider class="divider-small" />
|
||||
<div class="attribute">
|
||||
<div class="label">{{ $t('macaddress') }}</div>
|
||||
<div class="label">{{ $t('label.macaddress') }}</div>
|
||||
<div>{{ item.macaddress }}</div>
|
||||
</div>
|
||||
<div class="attribute" v-if="item.ipaddress">
|
||||
<div class="label">{{ $t('IP Address') }}</div>
|
||||
<div class="label">{{ $t('label.ip.address') }}</div>
|
||||
<div>{{ item.ipaddress }}</div>
|
||||
</div>
|
||||
<div class="attribute" v-if="item.secondaryip && item.secondaryip.length > 0 && item.type !== 'L2'">
|
||||
<div class="label">{{ $t('Secondary IPs') }}</div>
|
||||
<div class="label">{{ $t('label.secondary.ips') }}</div>
|
||||
<div>{{ item.secondaryip.map(x => x.ipaddress).join(', ') }}</div>
|
||||
</div>
|
||||
<div class="attribute" v-if="item.netmask">
|
||||
<div class="label">{{ $t('netmask') }}</div>
|
||||
<div class="label">{{ $t('label.netmask') }}</div>
|
||||
<div>{{ item.netmask }}</div>
|
||||
</div>
|
||||
<div class="attribute" v-if="item.gateway">
|
||||
<div class="label">{{ $t('gateway') }}</div>
|
||||
<div class="label">{{ $t('label.gateway') }}</div>
|
||||
<div>{{ item.gateway }}</div>
|
||||
</div>
|
||||
<div class="attribute">
|
||||
<div class="label">{{ $t('id') }}</div>
|
||||
<div class="label">{{ $t('label.id') }}</div>
|
||||
<div><a-icon type="barcode"/> {{ item.id }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -210,7 +210,7 @@
|
|||
{{ $t('message.network.addVM.desc') }}
|
||||
|
||||
<div class="modal-form">
|
||||
<p class="modal-form__label">{{ $t('Network') }}:</p>
|
||||
<p class="modal-form__label">{{ $t('label.network') }}:</p>
|
||||
<a-select :defaultValue="addNetworkData.network" @change="e => addNetworkData.network === e">
|
||||
<a-select-option
|
||||
v-for="network in addNetworkData.allNetworks"
|
||||
|
|
@ -219,7 +219,7 @@
|
|||
{{ network.name }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
<p class="modal-form__label">{{ $t('publicip') }}:</p>
|
||||
<p class="modal-form__label">{{ $t('label.publicip') }}:</p>
|
||||
<a-input v-model="addNetworkData.ip"></a-input>
|
||||
</div>
|
||||
|
||||
|
|
@ -234,7 +234,7 @@
|
|||
{{ $t('message.network.updateIp') }}
|
||||
|
||||
<div class="modal-form">
|
||||
<p class="modal-form__label">{{ $t('publicip') }}:</p>
|
||||
<p class="modal-form__label">{{ $t('label.publicip') }}:</p>
|
||||
<a-input v-model="editIpAddressValue"></a-input>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -22,15 +22,15 @@
|
|||
:tabPosition="device === 'mobile' ? 'top' : 'left'"
|
||||
:animated="false"
|
||||
@change="handleChangeTab">
|
||||
<a-tab-pane :tab="$t('details')" key="details">
|
||||
<a-tab-pane :tab="$t('label.details')" key="details">
|
||||
<DetailsTab :resource="resource" :loading="loading" />
|
||||
</a-tab-pane>
|
||||
<a-tab-pane :tab="$t('access')" key="access">
|
||||
<a-tab-pane :tab="$t('label.access')" key="access">
|
||||
<a-card title="Kubernetes Cluster Config" :loading="this.versionLoading">
|
||||
<div v-if="this.clusterConfig !== ''">
|
||||
<a-textarea :value="this.clusterConfig" :rows="5" readonly />
|
||||
<div :span="24" class="action-button">
|
||||
<a-button @click="downloadKubernetesClusterConfig" type="primary">{{ this.$t('Download') }}</a-button>
|
||||
<a-button @click="downloadKubernetesClusterConfig" type="primary">{{ this.$t('label.download') }}</a-button>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
|
|
@ -92,7 +92,7 @@
|
|||
<p>More about accessing dashboard UI, <a href="https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/#accessing-the-dashboard-ui">https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/#accessing-the-dashboard-ui</a></p>
|
||||
</a-card>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane :tab="$t('instances')" key="instances">
|
||||
<a-tab-pane :tab="$t('label.instances')" key="instances">
|
||||
<a-table
|
||||
class="table"
|
||||
size="small"
|
||||
|
|
@ -109,13 +109,13 @@
|
|||
</template>
|
||||
</a-table>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane :tab="$t('firewall')" key="firewall">
|
||||
<a-tab-pane :tab="$t('label.firewall')" key="firewall">
|
||||
<FirewallRules :resource="this.publicIpAddress" :loading="this.networkLoading" />
|
||||
</a-tab-pane>
|
||||
<a-tab-pane :tab="$t('portforwarding')" key="portforwarding">
|
||||
<a-tab-pane :tab="$t('label.portforwarding')" key="portforwarding">
|
||||
<PortForwarding :resource="this.publicIpAddress" :loading="this.networkLoading" />
|
||||
</a-tab-pane>
|
||||
<a-tab-pane :tab="$t('loadbalancing')" key="loadbalancing">
|
||||
<a-tab-pane :tab="$t('label.loadbalancing')" key="loadbalancing">
|
||||
<LoadBalancing :resource="this.publicIpAddress" :loading="this.networkLoading" />
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
|
|
@ -173,48 +173,48 @@ export default {
|
|||
if (this.isAdminOrDomainAdmin()) {
|
||||
this.vmColumns = [
|
||||
{
|
||||
title: this.$t('name'),
|
||||
title: this.$t('label.name'),
|
||||
dataIndex: 'name',
|
||||
scopedSlots: { customRender: 'name' }
|
||||
},
|
||||
{
|
||||
title: this.$t('state'),
|
||||
title: this.$t('label.state'),
|
||||
dataIndex: 'state',
|
||||
scopedSlots: { customRender: 'state' }
|
||||
},
|
||||
{
|
||||
title: this.$t('instancename'),
|
||||
title: this.$t('label.instancename'),
|
||||
dataIndex: 'instancename'
|
||||
},
|
||||
{
|
||||
title: this.$t('ipaddress'),
|
||||
title: this.$t('label.ipaddress'),
|
||||
dataIndex: 'ipaddress'
|
||||
},
|
||||
{
|
||||
title: this.$t('zonename'),
|
||||
title: this.$t('label.zonename'),
|
||||
dataIndex: 'zonename'
|
||||
}
|
||||
]
|
||||
} else {
|
||||
this.vmColumns = [
|
||||
{
|
||||
title: this.$t('name'),
|
||||
title: this.$t('label.name'),
|
||||
dataIndex: 'name'
|
||||
},
|
||||
{
|
||||
title: this.$t('displayname'),
|
||||
title: this.$t('label.displayname'),
|
||||
dataIndex: 'displayname'
|
||||
},
|
||||
{
|
||||
title: this.$t('ipaddress'),
|
||||
title: this.$t('label.ipaddress'),
|
||||
dataIndex: 'ipaddress'
|
||||
},
|
||||
{
|
||||
title: this.$t('zonename'),
|
||||
title: this.$t('label.zonename'),
|
||||
dataIndex: 'zonename'
|
||||
},
|
||||
{
|
||||
title: this.$t('state'),
|
||||
title: this.$t('label.state'),
|
||||
dataIndex: 'state'
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@
|
|||
|
||||
<div style="margin-top: 20px; display: flex; justify-content:flex-end;">
|
||||
<a-button type="primary" :disabled="!selectedHost.id" @click="submitForm">
|
||||
{{ $t('ok') }}
|
||||
{{ $t('label.ok') }}
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -98,23 +98,23 @@ export default {
|
|||
pageSize: 10,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('name'),
|
||||
title: this.$t('label.name'),
|
||||
dataIndex: 'name'
|
||||
},
|
||||
{
|
||||
title: this.$t('Suitability'),
|
||||
title: this.$t('label.suitability'),
|
||||
scopedSlots: { customRender: 'suitability' }
|
||||
},
|
||||
{
|
||||
title: this.$t('cpuused'),
|
||||
title: this.$t('label.cpuused'),
|
||||
dataIndex: 'cpuused'
|
||||
},
|
||||
{
|
||||
title: this.$t('memused'),
|
||||
title: this.$t('label.memused'),
|
||||
scopedSlots: { customRender: 'memused' }
|
||||
},
|
||||
{
|
||||
title: this.$t('select'),
|
||||
title: this.$t('label.select'),
|
||||
scopedSlots: { customRender: 'select' }
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
:form="form"
|
||||
@submit="handleSubmit"
|
||||
layout="vertical">
|
||||
<a-form-item :label="$t('cks.cluster.size')">
|
||||
<a-form-item :label="$t('label.cks.cluster.size')">
|
||||
<a-input
|
||||
v-decorator="['size', {
|
||||
initialValue: originalSize,
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
}]"
|
||||
:placeholder="apiParams.size.description"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('serviceofferingid')">
|
||||
<a-form-item :label="$t('label.serviceofferingid')">
|
||||
<a-select
|
||||
id="offering-selection"
|
||||
v-decorator="['serviceofferingid', {}]"
|
||||
|
|
@ -55,8 +55,8 @@
|
|||
</a-form-item>
|
||||
|
||||
<div :span="24" class="action-button">
|
||||
<a-button @click="closeAction">{{ this.$t('Cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('OK') }}</a-button>
|
||||
<a-button @click="closeAction">{{ this.$t('label.cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('label.ok') }}</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
:form="form"
|
||||
@submit="handleSubmit"
|
||||
layout="vertical">
|
||||
<a-form-item :label="$t('kubernetesversionid')">
|
||||
<a-form-item :label="$t('label.kubernetesversionid')">
|
||||
<a-select
|
||||
id="version-selection"
|
||||
v-decorator="['kubernetesversionid', {
|
||||
|
|
@ -42,8 +42,8 @@
|
|||
</a-form-item>
|
||||
|
||||
<div :span="24" class="action-button">
|
||||
<a-button @click="closeAction">{{ this.$t('Cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('OK') }}</a-button>
|
||||
<a-button @click="closeAction">{{ this.$t('label.cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('label.ok') }}</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ export default {
|
|||
scopedSlots: { customRender: 'icon' }
|
||||
},
|
||||
{
|
||||
title: this.$t('time'),
|
||||
title: this.$t('label.time'),
|
||||
dataIndex: 'schedule',
|
||||
scopedSlots: { customRender: 'time' }
|
||||
},
|
||||
|
|
@ -122,12 +122,12 @@ export default {
|
|||
scopedSlots: { customRender: 'interval' }
|
||||
},
|
||||
{
|
||||
title: this.$t('timezone'),
|
||||
title: this.$t('label.timezone'),
|
||||
dataIndex: 'timezone',
|
||||
scopedSlots: { customRender: 'timezone' }
|
||||
},
|
||||
{
|
||||
title: this.$t('action'),
|
||||
title: this.$t('label.action'),
|
||||
dataIndex: 'action',
|
||||
width: 50,
|
||||
scopedSlots: { customRender: 'action' }
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
@submit="handleSubmit">
|
||||
<a-row :gutter="12">
|
||||
<a-col :md="24" :lg="24">
|
||||
<a-form-item :label="$t('intervaltype')">
|
||||
<a-form-item :label="$t('label.intervaltype')">
|
||||
<a-radio-group
|
||||
v-decorator="['intervaltype', {
|
||||
initialValue: intervalType
|
||||
|
|
@ -36,22 +36,22 @@
|
|||
buttonStyle="solid"
|
||||
@change="handleChangeIntervalType">
|
||||
<a-radio-button value="hourly">
|
||||
{{ $t('HOURLY') }}
|
||||
{{ $t('label.hourly') }}
|
||||
</a-radio-button>
|
||||
<a-radio-button value="daily">
|
||||
{{ $t('DAILY') }}
|
||||
{{ $t('label.daily') }}
|
||||
</a-radio-button>
|
||||
<a-radio-button value="weekly">
|
||||
{{ $t('WEEKLY') }}
|
||||
{{ $t('label.weekly') }}
|
||||
</a-radio-button>
|
||||
<a-radio-button value="monthly">
|
||||
{{ $t('MONTHLY') }}
|
||||
{{ $t('label.monthly') }}
|
||||
</a-radio-button>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="24" :lg="12" v-if="intervalType==='hourly'">
|
||||
<a-form-item :label="$t('time')">
|
||||
<a-form-item :label="$t('label.time')">
|
||||
<a-tooltip
|
||||
placement="right"
|
||||
:title="$t('label.minute.past.hour')">
|
||||
|
|
@ -68,7 +68,7 @@
|
|||
<a-col :md="24" :lg="12" v-if="['daily', 'weekly', 'monthly'].includes(intervalType)">
|
||||
<a-form-item
|
||||
class="custom-time-select"
|
||||
:label="$t('time')">
|
||||
:label="$t('label.time')">
|
||||
<a-time-picker
|
||||
use12Hours
|
||||
format="h:mm A"
|
||||
|
|
@ -112,7 +112,7 @@
|
|||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="24" :lg="24">
|
||||
<a-form-item :label="$t('timezone')">
|
||||
<a-form-item :label="$t('label.timezone')">
|
||||
<a-select
|
||||
showSearch
|
||||
v-decorator="['timezone', {
|
||||
|
|
@ -133,13 +133,13 @@
|
|||
<a-button
|
||||
:loading="actionLoading"
|
||||
@click="closeAction">
|
||||
{{ this.$t('Cancel') }}
|
||||
{{ this.$t('label.cancel') }}
|
||||
</a-button>
|
||||
<a-button
|
||||
:loading="actionLoading"
|
||||
type="primary"
|
||||
@click="handleSubmit">
|
||||
{{ this.$t('OK') }}
|
||||
{{ this.$t('label.ok') }}
|
||||
</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
|
|
@ -207,7 +207,7 @@ export default {
|
|||
const dayName = this.listDayOfWeek[index]
|
||||
this.dayOfWeek.push({
|
||||
id: dayName,
|
||||
name: this.$t(dayName)
|
||||
name: this.$t('label.' + dayName)
|
||||
})
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -65,12 +65,12 @@ export default {
|
|||
columns: [
|
||||
{
|
||||
dataIndex: 'name',
|
||||
title: this.$t('Affinity Groups'),
|
||||
title: this.$t('label.affinity.groups'),
|
||||
width: '40%'
|
||||
},
|
||||
{
|
||||
dataIndex: 'description',
|
||||
title: this.$t('description'),
|
||||
title: this.$t('label.description'),
|
||||
width: '60%'
|
||||
}
|
||||
],
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@
|
|||
@change="handleTableChange"
|
||||
:scroll="{ y: 225 }"
|
||||
>
|
||||
<span slot="cpuTitle"><a-icon type="appstore" /> {{ $t('cpu') }}</span>
|
||||
<span slot="ramTitle"><a-icon type="bulb" /> {{ $t('memory') }}</span>
|
||||
<span slot="cpuTitle"><a-icon type="appstore" /> {{ $t('label.cpu') }}</span>
|
||||
<span slot="ramTitle"><a-icon type="bulb" /> {{ $t('label.memory') }}</span>
|
||||
</a-table>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -65,7 +65,7 @@ export default {
|
|||
columns: [
|
||||
{
|
||||
dataIndex: 'name',
|
||||
title: this.$t('serviceOfferingId'),
|
||||
title: this.$t('label.serviceofferingid'),
|
||||
width: '40%'
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
<a-row>
|
||||
<a-col :md="colContraned" :lg="colContraned">
|
||||
<a-form-item
|
||||
:label="this.$t('cpunumber')"
|
||||
:label="this.$t('label.cpunumber')"
|
||||
:validate-status="errors.cpu.status"
|
||||
:help="errors.cpu.message">
|
||||
<a-row :gutter="12">
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
</a-col>
|
||||
<a-col :md="8" :lg="8" v-show="!isConstrained">
|
||||
<a-form-item
|
||||
:label="this.$t('cpuspeed')"
|
||||
:label="this.$t('label.cpuspeed')"
|
||||
:validate-status="errors.cpuspeed.status"
|
||||
:help="errors.cpuspeed.message">
|
||||
<a-input-number
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
</a-col>
|
||||
<a-col :md="colContraned" :lg="colContraned">
|
||||
<a-form-item
|
||||
:label="this.$t('memory')"
|
||||
:label="this.$t('label.memory')"
|
||||
:validate-status="errors.memory.status"
|
||||
:help="errors.memory.message">
|
||||
<a-row :gutter="12">
|
||||
|
|
|
|||
|
|
@ -32,10 +32,10 @@
|
|||
@change="handleTableChange"
|
||||
:scroll="{ y: 225 }"
|
||||
>
|
||||
<span slot="diskSizeTitle"><a-icon type="hdd" /> {{ $t('disksize') }}</span>
|
||||
<span slot="iopsTitle"><a-icon type="rocket" /> {{ $t('minMaxIops') }}</span>
|
||||
<span slot="diskSizeTitle"><a-icon type="hdd" /> {{ $t('label.disksize') }}</span>
|
||||
<span slot="iopsTitle"><a-icon type="rocket" /> {{ $t('label.minmaxiops') }}</span>
|
||||
<template slot="diskSize" slot-scope="text, record">
|
||||
<div v-if="record.isCustomized">{{ $t('isCustomized') }}</div>
|
||||
<div v-if="record.isCustomized">{{ $t('label.iscustomized') }}</div>
|
||||
<div v-else-if="record.diskSize">{{ record.diskSize }} GB</div>
|
||||
<div v-else>-</div>
|
||||
</template>
|
||||
|
|
@ -76,7 +76,7 @@ export default {
|
|||
columns: [
|
||||
{
|
||||
dataIndex: 'name',
|
||||
title: this.$t('diskoffering'),
|
||||
title: this.$t('label.diskoffering'),
|
||||
width: '40%'
|
||||
},
|
||||
{
|
||||
|
|
@ -156,7 +156,7 @@ export default {
|
|||
this.dataItems = []
|
||||
this.dataItems.push({
|
||||
id: '0',
|
||||
name: this.$t('noselect'),
|
||||
name: this.$t('label.noselect'),
|
||||
diskSize: undefined,
|
||||
miniops: undefined,
|
||||
maxiops: undefined,
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
<template>
|
||||
<a-form-item
|
||||
:label="this.$t('diskSize')"
|
||||
:label="this.$t('label.disksize')"
|
||||
class="form-item">
|
||||
<a-row :gutter="12">
|
||||
<a-col :md="10" :lg="10">
|
||||
|
|
|
|||
|
|
@ -28,13 +28,13 @@
|
|||
<template slot="ipAddress" slot-scope="text, record">
|
||||
<a-input
|
||||
style="width: 150px;"
|
||||
:placeholder="$t('ipaddress')"
|
||||
:placeholder="$t('label.ipaddress')"
|
||||
@change="($event) => updateNetworkData('ipAddress', record.id, $event.target.value)" />
|
||||
</template>
|
||||
<template slot="macAddress" slot-scope="text, record">
|
||||
<a-input
|
||||
style="width: 150px;"
|
||||
:placeholder="$t('macaddress')"
|
||||
:placeholder="$t('label.macaddress')"
|
||||
@change="($event) => updateNetworkData('macAddress', record.id, $event.target.value)" />
|
||||
</template>
|
||||
</a-table>
|
||||
|
|
@ -63,18 +63,18 @@ export default {
|
|||
columns: [
|
||||
{
|
||||
dataIndex: 'name',
|
||||
title: this.$t('defaultNetwork'),
|
||||
title: this.$t('label.defaultnetwork'),
|
||||
width: '30%'
|
||||
},
|
||||
{
|
||||
dataIndex: 'ip',
|
||||
title: this.$t('ip'),
|
||||
title: this.$t('label.ip'),
|
||||
width: '30%',
|
||||
scopedSlots: { customRender: 'ipAddress' }
|
||||
},
|
||||
{
|
||||
dataIndex: 'mac',
|
||||
title: this.$t('macaddress'),
|
||||
title: this.$t('label.macaddress'),
|
||||
width: '30%',
|
||||
scopedSlots: { customRender: 'macAddress' }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -135,17 +135,17 @@ export default {
|
|||
return [
|
||||
{
|
||||
dataIndex: 'name',
|
||||
title: this.$t('networks'),
|
||||
title: this.$t('label.networks'),
|
||||
width: '40%'
|
||||
},
|
||||
{
|
||||
dataIndex: 'type',
|
||||
title: this.$t('guestIpType'),
|
||||
title: this.$t('label.guestiptype'),
|
||||
width: '30%'
|
||||
},
|
||||
{
|
||||
dataIndex: 'vpcName',
|
||||
title: this.$t('VPC'),
|
||||
title: this.$t('label.vpc'),
|
||||
width: '30%',
|
||||
filters: vpcFilter,
|
||||
filteredValue: _.get(this.filteredInfo, 'id'),
|
||||
|
|
@ -214,11 +214,11 @@ export default {
|
|||
getDetails (network) {
|
||||
return [
|
||||
{
|
||||
title: this.$t('description'),
|
||||
title: this.$t('label.description'),
|
||||
description: network.displaytext
|
||||
},
|
||||
{
|
||||
title: this.$t('networkOfferingId'),
|
||||
title: this.$t('label.networkofferingid'),
|
||||
description: network.networkofferingdisplaytext
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@
|
|||
@change="handleTableChange"
|
||||
:scroll="{ y: 225 }"
|
||||
>
|
||||
<template v-slot:account><a-icon type="user" /> {{ $t('account') }}</template>
|
||||
<template v-slot:domain><a-icon type="block" /> {{ $t('domain') }}</template>
|
||||
<template v-slot:account><a-icon type="user" /> {{ $t('label.account') }}</template>
|
||||
<template v-slot:domain><a-icon type="block" /> {{ $t('label.domain') }}</template>
|
||||
</a-table>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -65,7 +65,7 @@ export default {
|
|||
columns: [
|
||||
{
|
||||
dataIndex: 'name',
|
||||
title: this.$t('sshKeyPairs'),
|
||||
title: this.$t('label.sshkeypairs'),
|
||||
width: '40%'
|
||||
},
|
||||
{
|
||||
|
|
@ -79,7 +79,7 @@ export default {
|
|||
width: '30%'
|
||||
}
|
||||
],
|
||||
selectedRowKeys: [this.$t('noselect')],
|
||||
selectedRowKeys: [this.$t('label.noselect')],
|
||||
dataItems: []
|
||||
}
|
||||
},
|
||||
|
|
@ -130,8 +130,8 @@ export default {
|
|||
this.selectedRowKeys = [this.preFillContent.keypair]
|
||||
this.$emit('select-ssh-key-pair-item', this.preFillContent.keypair)
|
||||
} else {
|
||||
this.selectedRowKeys = [this.$t('noselect')]
|
||||
this.$emit('select-ssh-key-pair-item', this.$t('noselect'))
|
||||
this.selectedRowKeys = [this.$t('label.noselect')]
|
||||
this.$emit('select-ssh-key-pair-item', this.$t('label.noselect'))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -140,7 +140,7 @@ export default {
|
|||
initDataItem () {
|
||||
this.dataItems = []
|
||||
this.dataItems.push({
|
||||
name: this.$t('noselect'),
|
||||
name: this.$t('label.noselect'),
|
||||
account: '-',
|
||||
domain: '-'
|
||||
})
|
||||
|
|
|
|||
|
|
@ -37,22 +37,22 @@
|
|||
:visible="os.ispublic && !os.isfeatured"
|
||||
color="blue"
|
||||
@click="onFilterTag('is: public')"
|
||||
>{{ $t('isPublic') }}</a-tag>
|
||||
>{{ $t('label.ispublic') }}</a-tag>
|
||||
<a-tag
|
||||
:visible="os.isfeatured"
|
||||
color="green"
|
||||
@click="onFilterTag('is: featured')"
|
||||
>{{ $t('isFeatured') }}</a-tag>
|
||||
>{{ $t('label.isfeatured') }}</a-tag>
|
||||
<a-tag
|
||||
:visible="isSelf(os)"
|
||||
color="orange"
|
||||
@click="onFilterTag('is: self')"
|
||||
>{{ $t('isSelf') }}</a-tag>
|
||||
>{{ $t('label.isself') }}</a-tag>
|
||||
<a-tag
|
||||
:visible="isShared(os)"
|
||||
color="cyan"
|
||||
@click="onFilterTag('is: shared')"
|
||||
>{{ $t('isShared') }}</a-tag>
|
||||
>{{ $t('label.isshared') }}</a-tag>
|
||||
</a-radio>
|
||||
</a-radio-group>
|
||||
</a-list-item>
|
||||
|
|
|
|||
|
|
@ -34,14 +34,14 @@
|
|||
:form="form"
|
||||
layout="vertical"
|
||||
@submit="handleSubmit">
|
||||
<a-form-item :label="$t('filter')">
|
||||
<a-form-item :label="$t('label.filter')">
|
||||
<a-select
|
||||
allowClear
|
||||
mode="multiple"
|
||||
v-decorator="['filter']">
|
||||
<a-select-option
|
||||
v-for="(opt) in filterOpts"
|
||||
:key="opt.id">{{ $t(opt.name) }}</a-select-option>
|
||||
:key="opt.id">{{ $t('label.' + opt.name) }}</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<div class="filter-group-button">
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
@change="onTabChange">
|
||||
<a-tab-pane
|
||||
v-for="tab in $route.meta.tabs"
|
||||
:tab="$t(tab.name)"
|
||||
:tab="$t('label.' + tab.name)"
|
||||
:key="tab.name"
|
||||
v-if="'show' in tab ? tab.show(project, $route, $store.getters.userInfo) : true">
|
||||
<component
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
@submit="handleSubmit"
|
||||
layout="vertical"
|
||||
>
|
||||
<a-form-item :label="$t('domain')">
|
||||
<a-form-item :label="$t('label.domain')">
|
||||
<a-select
|
||||
showSearch
|
||||
v-decorator="['domainid', {
|
||||
|
|
@ -63,13 +63,13 @@
|
|||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('account')">
|
||||
<a-form-item :label="$t('label.account')">
|
||||
<a-input
|
||||
v-decorator="['account']"
|
||||
:placeholder="apiParams.account.description"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('role')">
|
||||
<a-form-item :label="$t('label.role')">
|
||||
<a-select
|
||||
showSearch
|
||||
v-decorator="['roleid', {
|
||||
|
|
@ -82,7 +82,7 @@
|
|||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('timezone')">
|
||||
<a-form-item :label="$t('label.timezone')">
|
||||
<a-select
|
||||
showSearch
|
||||
v-decorator="['timezone']"
|
||||
|
|
@ -93,21 +93,21 @@
|
|||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('networkdomain')">
|
||||
<a-form-item :label="$t('label.networkdomain')">
|
||||
<a-input
|
||||
v-decorator="['networkdomain']"
|
||||
:placeholder="apiParams.networkdomain.description"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('group')">
|
||||
<a-form-item :label="$t('label.group')">
|
||||
<a-input
|
||||
v-decorator="['group']"
|
||||
:placeholder="apiParams.group.description"
|
||||
/>
|
||||
</a-form-item>
|
||||
<div class="card-footer">
|
||||
<a-button @click="handleClose">{{ $t('Close') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ $t('add') }}</a-button>
|
||||
<a-button @click="handleClose">{{ $t('label.close') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ $t('label.add') }}</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
</a-card>
|
||||
|
|
@ -160,19 +160,19 @@ export default {
|
|||
this.listRoles = []
|
||||
this.columns = [
|
||||
{
|
||||
title: this.$t('name'),
|
||||
title: this.$t('label.name'),
|
||||
dataIndex: 'name',
|
||||
width: 120,
|
||||
scopedSlots: { customRender: 'name' }
|
||||
},
|
||||
{
|
||||
title: this.$t('username'),
|
||||
title: this.$t('label.username'),
|
||||
dataIndex: 'username',
|
||||
width: 120,
|
||||
scopedSlots: { customRender: 'username' }
|
||||
},
|
||||
{
|
||||
title: this.$t('email'),
|
||||
title: this.$t('label.email'),
|
||||
dataIndex: 'email',
|
||||
scopedSlots: { customRender: 'email' }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
layout="vertical">
|
||||
<a-form-item v-if="!this.isAdminOrDomainAdmin()">
|
||||
<span slot="label">
|
||||
{{ $t('currentpassword') }}
|
||||
{{ $t('label.currentpassword') }}
|
||||
<a-tooltip :title="apiParams.currentpassword.description">
|
||||
<a-icon type="info-circle" style="color: rgba(0,0,0,.45)" />
|
||||
</a-tooltip>
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
</a-form-item>
|
||||
<a-form-item>
|
||||
<span slot="label">
|
||||
{{ $t('password') }}
|
||||
{{ $t('label.password') }}
|
||||
<a-tooltip :title="apiParams.password.description">
|
||||
<a-icon type="info-circle" style="color: rgba(0,0,0,.45)" />
|
||||
</a-tooltip>
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
</a-form-item>
|
||||
<a-form-item>
|
||||
<span slot="label">
|
||||
{{ $t('confirmpassword') }}
|
||||
{{ $t('label.confirmpassword') }}
|
||||
<a-tooltip :title="apiParams.password.description">
|
||||
<a-icon type="info-circle" style="color: rgba(0,0,0,.45)" />
|
||||
</a-tooltip>
|
||||
|
|
@ -71,8 +71,8 @@
|
|||
</a-form-item>
|
||||
|
||||
<div :span="24" class="action-button">
|
||||
<a-button @click="closeAction">{{ this.$t('Cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('OK') }}</a-button>
|
||||
<a-button @click="closeAction">{{ this.$t('label.cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('label.ok') }}</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
|
|
|||
|
|
@ -31,13 +31,13 @@
|
|||
<span slot="action" slot-scope="text, record" class="cert-button-action">
|
||||
<a-tooltip placement="top">
|
||||
<template slot="title">
|
||||
{{ $t('quickview') }}
|
||||
{{ $t('label.quickview') }}
|
||||
</template>
|
||||
<a-button type="primary" shape="circle" icon="eye" size="small" @click="onQuickView(record.id)" />
|
||||
</a-tooltip>
|
||||
<a-tooltip placement="top">
|
||||
<template slot="title">
|
||||
{{ $t('Delete SSL Certificate') }}
|
||||
{{ $t('label.delete.ssl.certificate') }}
|
||||
</template>
|
||||
<a-button
|
||||
type="danger"
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
|
||||
<a-list size="small" :dataSource="detailColumn" v-if="quickview">
|
||||
<div class="close-quickview">
|
||||
<a-button @click="() => { this.quickview = false }">{{ $t('close') }}</a-button>
|
||||
<a-button @click="() => { this.quickview = false }">{{ $t('label.close') }}</a-button>
|
||||
</div>
|
||||
<a-list-item slot="renderItem" slot-scope="item" v-if="item in detail">
|
||||
<div>
|
||||
|
|
@ -120,18 +120,18 @@ export default {
|
|||
created () {
|
||||
this.columns = [
|
||||
{
|
||||
title: this.$t('name'),
|
||||
title: this.$t('label.name'),
|
||||
dataIndex: 'name',
|
||||
scopedSlots: { customRender: 'name' }
|
||||
},
|
||||
{
|
||||
title: this.$t('certificateid'),
|
||||
title: this.$t('label.certificateid'),
|
||||
dataIndex: 'id',
|
||||
width: 450,
|
||||
scopedSlots: { customRender: 'id' }
|
||||
},
|
||||
{
|
||||
title: this.$t('action'),
|
||||
title: this.$t('label.action'),
|
||||
dataIndex: 'action',
|
||||
fixed: 'right',
|
||||
width: 80,
|
||||
|
|
@ -205,8 +205,8 @@ export default {
|
|||
},
|
||||
onShowConfirm (row) {
|
||||
const self = this
|
||||
let title = this.$t('deleteconfirm')
|
||||
title = title.replace('{name}', this.$t('certificate'))
|
||||
let title = this.$t('label.deleteconfirm')
|
||||
title = title.replace('{name}', this.$t('label.certificate'))
|
||||
|
||||
this.$confirm({
|
||||
title: title,
|
||||
|
|
|
|||
|
|
@ -22,21 +22,21 @@
|
|||
:form="form"
|
||||
@submit="handleSubmit"
|
||||
layout="vertical">
|
||||
<a-form-item :label="$t('semanticversion')">
|
||||
<a-form-item :label="$t('label.semanticversion')">
|
||||
<a-input
|
||||
v-decorator="['semanticversion', {
|
||||
rules: [{ required: true, message: 'Please enter Kubernetes semantic version' }]
|
||||
}]"
|
||||
:placeholder="apiParams.semanticversion.description"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('name')">
|
||||
<a-form-item :label="$t('label.name')">
|
||||
<a-input
|
||||
v-decorator="['name', {
|
||||
rules: [{ message: 'Please enter name' }]
|
||||
}]"
|
||||
:placeholder="$t('name')"/>
|
||||
:placeholder="$t('label.name')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('zoneid')">
|
||||
<a-form-item :label="$t('label.zoneid')">
|
||||
<a-select
|
||||
id="zone-selection"
|
||||
v-decorator="['zoneid', {
|
||||
|
|
@ -63,21 +63,21 @@
|
|||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('url')">
|
||||
<a-form-item :label="$t('label.url')">
|
||||
<a-input
|
||||
v-decorator="['url', {
|
||||
rules: [{ required: true, message: 'Please enter binaries ISO URL' }]
|
||||
}]"
|
||||
:placeholder="apiParams.url.description" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('checksum')">
|
||||
<a-form-item :label="$t('label.checksum')">
|
||||
<a-input
|
||||
v-decorator="['checksum', {
|
||||
rules: [{ required: false, message: 'Please enter input' }]
|
||||
}]"
|
||||
:placeholder="apiParams.checksum.description" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('mincpunumber')">
|
||||
<a-form-item :label="$t('label.mincpunumber')">
|
||||
<a-input
|
||||
v-decorator="['mincpunumber', {
|
||||
rules: [{ required: true, message: 'Please enter value' },
|
||||
|
|
@ -93,7 +93,7 @@
|
|||
}]"
|
||||
:placeholder="apiParams.mincpunumber.description"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('minmemory')">
|
||||
<a-form-item :label="$t('label.minmemory')">
|
||||
<a-input
|
||||
v-decorator="['minmemory', {
|
||||
rules: [{ required: true, message: 'Please enter value' },
|
||||
|
|
@ -111,8 +111,8 @@
|
|||
</a-form-item>
|
||||
|
||||
<div :span="24" class="action-button">
|
||||
<a-button @click="closeAction">{{ this.$t('Cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('OK') }}</a-button>
|
||||
<a-button @click="closeAction">{{ this.$t('label.cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('label.ok') }}</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@
|
|||
:pagination="false"
|
||||
:rowKey="record => record.zoneid">
|
||||
<div slot="isready" slot-scope="text, record">
|
||||
<span v-if="record.isready">{{ $t('Yes') }}</span>
|
||||
<span v-else>{{ $t('No') }}</span>
|
||||
<span v-if="record.isready">{{ $t('label.yes') }}</span>
|
||||
<span v-else>{{ $t('label.no') }}</span>
|
||||
</div>
|
||||
<template slot="action" slot-scope="text, record">
|
||||
<span style="margin-right: 5px">
|
||||
|
|
@ -43,8 +43,8 @@
|
|||
v-if="'deleteIso' in $store.getters.apis"
|
||||
placement="topRight"
|
||||
title="Delete the ISO for this zone?"
|
||||
:ok-text="$t('Yes')"
|
||||
:cancel-text="$t('No')"
|
||||
:ok-text="$t('label.yes')"
|
||||
:cancel-text="$t('label.no')"
|
||||
:loading="deleteLoading"
|
||||
@confirm="deleteIso(record)"
|
||||
>
|
||||
|
|
@ -83,7 +83,7 @@
|
|||
:form="form"
|
||||
@submit="handleCopyIsoSubmit"
|
||||
layout="vertical">
|
||||
<a-form-item :label="$t('zoneid')">
|
||||
<a-form-item :label="$t('label.zoneid')">
|
||||
<a-select
|
||||
id="zone-selection"
|
||||
mode="multiple"
|
||||
|
|
@ -155,15 +155,15 @@ export default {
|
|||
created () {
|
||||
this.columns = [
|
||||
{
|
||||
title: this.$t('zonename'),
|
||||
title: this.$t('label.zonename'),
|
||||
dataIndex: 'zonename'
|
||||
},
|
||||
{
|
||||
title: this.$t('status'),
|
||||
title: this.$t('label.status'),
|
||||
dataIndex: 'status'
|
||||
},
|
||||
{
|
||||
title: this.$t('isready'),
|
||||
title: this.$t('label.isready'),
|
||||
dataIndex: 'isready',
|
||||
scopedSlots: { customRender: 'isready' }
|
||||
},
|
||||
|
|
|
|||
|
|
@ -27,14 +27,14 @@
|
|||
:form="form"
|
||||
@submit="handleSubmit"
|
||||
layout="vertical">
|
||||
<a-form-item v-if="currentForm === 'Create'" :label="$t('url')">
|
||||
<a-form-item v-if="currentForm === 'Create'" :label="$t('label.url')">
|
||||
<a-input
|
||||
v-decorator="['url', {
|
||||
rules: [{ required: true, message: 'Please upload an ISO' }]
|
||||
}]"
|
||||
:placeholder="$t('iso.url.description')" />
|
||||
:placeholder="$t('label.iso.url.description')" />
|
||||
</a-form-item>
|
||||
<a-form-item v-if="currentForm === 'Upload'" :label="$t('templateFileUpload')">
|
||||
<a-form-item v-if="currentForm === 'Upload'" :label="$t('label.templatefileupload')">
|
||||
<a-upload-dragger
|
||||
:multiple="false"
|
||||
:fileList="fileList"
|
||||
|
|
@ -51,27 +51,27 @@
|
|||
</p>
|
||||
</a-upload-dragger>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('name')">
|
||||
<a-form-item :label="$t('label.name')">
|
||||
<a-input
|
||||
v-decorator="['name', {
|
||||
rules: [{ required: true, message: 'Please enter input' }]
|
||||
}]"
|
||||
:placeholder="$t('iso.name.description')" />
|
||||
:placeholder="$t('label.iso.name.description')" />
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item :label="$t('displaytext')">
|
||||
<a-form-item :label="$t('label.displaytext')">
|
||||
<a-input
|
||||
v-decorator="['displaytext', {
|
||||
rules: [{ required: true, message: 'Please enter input' }]
|
||||
}]"
|
||||
:placeholder="$t('iso.displaytext.description')" />
|
||||
:placeholder="$t('label.iso.displaytext.description')" />
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item v-if="allowed && currentForm !== 'Upload'" :label="$t('directdownload')">
|
||||
<a-form-item v-if="allowed && currentForm !== 'Upload'" :label="$t('label.directdownload')">
|
||||
<a-switch v-decorator="['directdownload']"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item :label="$t('zoneid')">
|
||||
<a-form-item :label="$t('label.zoneid')">
|
||||
<a-select
|
||||
v-decorator="['zoneid', {
|
||||
initialValue: this.selectedZone,
|
||||
|
|
@ -88,7 +88,7 @@
|
|||
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
}"
|
||||
:loading="zoneLoading"
|
||||
:placeholder="$t('iso.zoneid.description')">
|
||||
:placeholder="$t('label.iso.zoneid.description')">
|
||||
<a-select-option :value="opt.id" v-for="opt in zones" :key="opt.id">
|
||||
<div v-if="currentForm === 'Upload'">
|
||||
<div v-if="opt.name !== $t('label.all.zone')">
|
||||
|
|
@ -102,7 +102,7 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item :label="$t('bootable')">
|
||||
<a-form-item :label="$t('label.bootable')">
|
||||
<a-switch
|
||||
v-decorator="['bootable', {
|
||||
initialValue: true,
|
||||
|
|
@ -111,7 +111,7 @@
|
|||
@change="val => bootable = val"/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item v-if="bootable" :label="$t('ostypeid')">
|
||||
<a-form-item v-if="bootable" :label="$t('label.ostypeid')">
|
||||
<a-select
|
||||
v-decorator="['ostypeid', {
|
||||
initialValue: defaultOsType,
|
||||
|
|
@ -123,28 +123,28 @@
|
|||
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
}"
|
||||
:loading="osTypeLoading"
|
||||
:placeholder="$t('iso.ostypeid.description')">
|
||||
:placeholder="$t('label.iso.ostypeid.description')">
|
||||
<a-select-option :value="opt.description" v-for="(opt, optIndex) in osTypes" :key="optIndex">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item :label="$t('isextractable')">
|
||||
<a-form-item :label="$t('label.isextractable')">
|
||||
<a-switch
|
||||
v-decorator="['isextractable', {
|
||||
initialValue: false
|
||||
}]" />
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item :label="$t('ispublic')">
|
||||
<a-form-item :label="$t('label.ispublic')">
|
||||
<a-switch
|
||||
v-decorator="['ispublic', {
|
||||
initialValue: false
|
||||
}]" />
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item :label="$t('isfeatured')">
|
||||
<a-form-item :label="$t('label.isfeatured')">
|
||||
<a-switch
|
||||
v-decorator="['isfeatured', {
|
||||
initialValue: false
|
||||
|
|
@ -152,8 +152,8 @@
|
|||
</a-form-item>
|
||||
|
||||
<div :span="24" class="action-button">
|
||||
<a-button @click="closeAction">{{ this.$t('Cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('OK') }}</a-button>
|
||||
<a-button @click="closeAction">{{ this.$t('label.cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('label.ok') }}</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
layout="vertical">
|
||||
<div v-if="currentForm === 'Create'">
|
||||
<a-row :gutter="12">
|
||||
<a-form-item :label="$t('url')">
|
||||
<a-form-item :label="$t('label.url')">
|
||||
<a-input
|
||||
v-decorator="['url', {
|
||||
rules: [{ required: true, message: 'Please enter input' }]
|
||||
|
|
@ -39,7 +39,7 @@
|
|||
</a-row>
|
||||
</div>
|
||||
<div v-if="currentForm === 'Upload'">
|
||||
<a-form-item :label="$t('templateFileUpload')">
|
||||
<a-form-item :label="$t('label.templatefileupload')">
|
||||
<a-upload-dragger
|
||||
:multiple="false"
|
||||
:fileList="fileList"
|
||||
|
|
@ -58,7 +58,7 @@
|
|||
</a-form-item>
|
||||
</div>
|
||||
<a-row :gutter="12">
|
||||
<a-form-item :label="$t('name')">
|
||||
<a-form-item :label="$t('label.name')">
|
||||
<a-input
|
||||
v-decorator="['name', {
|
||||
rules: [{ required: true, message: 'Please upload a template ' }]
|
||||
|
|
@ -67,7 +67,7 @@
|
|||
</a-form-item>
|
||||
</a-row>
|
||||
<a-row :gutter="12">
|
||||
<a-form-item :label="$t('displaytext')">
|
||||
<a-form-item :label="$t('label.displaytext')">
|
||||
<a-input
|
||||
v-decorator="['displaytext', {
|
||||
rules: [{ required: true, message: 'Please enter input' }]
|
||||
|
|
@ -79,7 +79,7 @@
|
|||
<a-row :gutter="12">
|
||||
<a-col :md="24" :lg="24">
|
||||
<a-form-item
|
||||
:label="$t('zone')"
|
||||
:label="$t('label.zone')"
|
||||
:validate-status="zoneError"
|
||||
:help="zoneErrorMessage">
|
||||
<a-select
|
||||
|
|
@ -108,7 +108,7 @@
|
|||
<a-row :gutter="12">
|
||||
<a-col :md="24" :lg="24">
|
||||
<a-form-item
|
||||
:label="$t('zoneid')"
|
||||
:label="$t('label.zoneid')"
|
||||
:validate-status="zoneError"
|
||||
:help="zoneErrorMessage">
|
||||
<a-select
|
||||
|
|
@ -129,7 +129,7 @@
|
|||
</div>
|
||||
<a-row :gutter="12">
|
||||
<a-col :md="24" :lg="12">
|
||||
<a-form-item :label="$t('hypervisor')">
|
||||
<a-form-item :label="$t('label.hypervisor')">
|
||||
<a-select
|
||||
v-decorator="['hypervisor', {
|
||||
rules: [
|
||||
|
|
@ -149,7 +149,7 @@
|
|||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="24" :lg="12">
|
||||
<a-form-item :label="$t('format')">
|
||||
<a-form-item :label="$t('label.format')">
|
||||
<a-select
|
||||
v-decorator="['format', {
|
||||
rules: [
|
||||
|
|
@ -169,12 +169,12 @@
|
|||
</a-row>
|
||||
<a-row :gutter="12" v-if="allowed && hyperKVMShow && currentForm !== 'Upload'">
|
||||
<a-col :md="24" :lg="12">
|
||||
<a-form-item :label="$t('directdownload')">
|
||||
<a-form-item :label="$t('label.directdownload')">
|
||||
<a-switch v-decorator="['directdownload']" @change="handleChangeDirect" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="24" :lg="12" v-if="allowDirectDownload">
|
||||
<a-form-item :label="$t('checksum')">
|
||||
<a-form-item :label="$t('label.checksum')">
|
||||
<a-input
|
||||
v-decorator="['checksum', {
|
||||
rules: [{ required: false, message: 'Please enter input' }]
|
||||
|
|
@ -184,7 +184,7 @@
|
|||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="12" v-if="allowed && hyperXenServerShow">
|
||||
<a-form-item v-if="hyperXenServerShow" :label="$t('xenserverToolsVersion61plus')">
|
||||
<a-form-item v-if="hyperXenServerShow" :label="$t('label.xenservertoolsversion61plus')">
|
||||
<a-switch
|
||||
v-decorator="['xenserverToolsVersion61plus',{
|
||||
initialValue: xenServerProvider
|
||||
|
|
@ -194,7 +194,7 @@
|
|||
</a-row>
|
||||
<a-row :gutter="12" v-if="hyperKVMShow || hyperVMWShow">
|
||||
<a-col :md="24" :lg="24" v-if="hyperKVMShow">
|
||||
<a-form-item :label="$t('rootDiskControllerType')">
|
||||
<a-form-item :label="$t('label.rootdiskcontrollertype')">
|
||||
<a-select
|
||||
v-decorator="['rootDiskControllerType', {
|
||||
rules: [
|
||||
|
|
@ -205,7 +205,7 @@
|
|||
]
|
||||
}]"
|
||||
:loading="rootDisk.loading"
|
||||
:placeholder="$t('rootdiskcontroller')">
|
||||
:placeholder="$t('label.rootdiskcontroller')">
|
||||
<a-select-option v-for="opt in rootDisk.opts" :key="opt.id">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
|
|
@ -213,7 +213,7 @@
|
|||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="24" :lg="12" v-if="hyperVMWShow">
|
||||
<a-form-item :label="$t('rootDiskControllerType')">
|
||||
<a-form-item :label="$t('label.rootdiskcontrollertype')">
|
||||
<a-select
|
||||
v-decorator="['rootDiskControllerType', {
|
||||
rules: [
|
||||
|
|
@ -224,7 +224,7 @@
|
|||
]
|
||||
}]"
|
||||
:loading="rootDisk.loading"
|
||||
:placeholder="$t('rootdiskcontroller')">
|
||||
:placeholder="$t('label.rootdiskcontroller')">
|
||||
<a-select-option v-for="opt in rootDisk.opts" :key="opt.id">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
|
|
@ -232,7 +232,7 @@
|
|||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="24" :lg="12" v-if="hyperVMWShow">
|
||||
<a-form-item :label="$t('nicAdapterType')">
|
||||
<a-form-item :label="$t('label.nicadaptertype')">
|
||||
<a-select
|
||||
v-decorator="['nicAdapterType', {
|
||||
rules: [
|
||||
|
|
@ -242,7 +242,7 @@
|
|||
}
|
||||
]
|
||||
}]"
|
||||
:placeholder="$t('nicadaptertype')">
|
||||
:placeholder="$t('label.nicadaptertype')">
|
||||
<a-select-option v-for="opt in nicAdapterType.opts" :key="opt.id">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
|
|
@ -250,7 +250,7 @@
|
|||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="24" :lg="24">
|
||||
<a-form-item v-if="hyperVMWShow" :label="$t('keyboardType')">
|
||||
<a-form-item v-if="hyperVMWShow" :label="$t('label.keyboardtype')">
|
||||
<a-select
|
||||
v-decorator="['keyboardType', {
|
||||
rules: [
|
||||
|
|
@ -260,7 +260,7 @@
|
|||
}
|
||||
]
|
||||
}]"
|
||||
:placeholder="$t('keyboard')">
|
||||
:placeholder="$t('label.keyboard')">
|
||||
<a-select-option v-for="opt in keyboardType.opts" :key="opt.id">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
|
|
@ -270,7 +270,7 @@
|
|||
</a-row>
|
||||
<a-row :gutter="12">
|
||||
<a-col :md="24" :lg="24">
|
||||
<a-form-item :label="$t('ostypeid')">
|
||||
<a-form-item :label="$t('label.ostypeid')">
|
||||
<a-select
|
||||
showSearch
|
||||
v-decorator="['ostypeid', {
|
||||
|
|
@ -301,48 +301,48 @@
|
|||
<a-row>
|
||||
<a-col :span="12">
|
||||
<a-checkbox value="isextractable">
|
||||
{{ $t('isextractable') }}
|
||||
{{ $t('label.isextractable') }}
|
||||
</a-checkbox>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-checkbox value="passwordenabled">
|
||||
{{ $t('passwordenabled') }}
|
||||
{{ $t('label.passwordenabled') }}
|
||||
</a-checkbox>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row>
|
||||
<a-col :span="12">
|
||||
<a-checkbox value="isdynamicallyscalable">
|
||||
{{ $t('isdynamicallyscalable') }}
|
||||
{{ $t('label.isdynamicallyscalable') }}
|
||||
</a-checkbox>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-checkbox value="sshkeyenabled">
|
||||
{{ $t('sshkeyenabled') }}
|
||||
{{ $t('label.sshkeyenabled') }}
|
||||
</a-checkbox>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row>
|
||||
<a-col :span="12">
|
||||
<a-checkbox value="isrouting">
|
||||
{{ $t('isrouting') }}
|
||||
{{ $t('label.isrouting') }}
|
||||
</a-checkbox>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-checkbox value="ispublic">
|
||||
{{ $t('ispublic') }}
|
||||
{{ $t('label.ispublic') }}
|
||||
</a-checkbox>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row>
|
||||
<a-col :span="12">
|
||||
<a-checkbox value="requireshvm">
|
||||
{{ $t('requireshvm') }}
|
||||
{{ $t('label.requireshvm') }}
|
||||
</a-checkbox>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-checkbox value="isfeatured">
|
||||
{{ $t('isfeatured') }}
|
||||
{{ $t('label.isfeatured') }}
|
||||
</a-checkbox>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
|
@ -352,8 +352,8 @@
|
|||
</a-row>
|
||||
|
||||
<div :span="24" class="action-button">
|
||||
<a-button @click="closeAction">{{ this.$t('Cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('OK') }}</a-button>
|
||||
<a-button @click="closeAction">{{ this.$t('label.cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('label.ok') }}</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@
|
|||
:pagination="false"
|
||||
:rowKey="record => record.zoneid">
|
||||
<div slot="isready" slot-scope="text, record">
|
||||
<span v-if="record.isready">{{ $t('Yes') }}</span>
|
||||
<span v-else>{{ $t('No') }}</span>
|
||||
<span v-if="record.isready">{{ $t('label.yes') }}</span>
|
||||
<span v-else>{{ $t('label.no') }}</span>
|
||||
</div>
|
||||
<template slot="action" slot-scope="text, record">
|
||||
<span style="margin-right: 5px">
|
||||
|
|
@ -43,8 +43,8 @@
|
|||
v-if="'deleteTemplate' in $store.getters.apis"
|
||||
placement="topRight"
|
||||
title="Delete the template for this zone?"
|
||||
:ok-text="$t('Yes')"
|
||||
:cancel-text="$t('No')"
|
||||
:ok-text="$t('label.yes')"
|
||||
:cancel-text="$t('label.no')"
|
||||
:loading="deleteLoading"
|
||||
@confirm="deleteTemplate(record)"
|
||||
>
|
||||
|
|
@ -83,7 +83,7 @@
|
|||
:form="form"
|
||||
@submit="handleCopyTemplateSubmit"
|
||||
layout="vertical">
|
||||
<a-form-item :label="$t('zoneid')">
|
||||
<a-form-item :label="$t('label.zoneid')">
|
||||
<a-select
|
||||
id="zone-selection"
|
||||
mode="multiple"
|
||||
|
|
@ -155,15 +155,15 @@ export default {
|
|||
created () {
|
||||
this.columns = [
|
||||
{
|
||||
title: this.$t('zonename'),
|
||||
title: this.$t('label.zonename'),
|
||||
dataIndex: 'zonename'
|
||||
},
|
||||
{
|
||||
title: this.$t('status'),
|
||||
title: this.$t('label.status'),
|
||||
dataIndex: 'status'
|
||||
},
|
||||
{
|
||||
title: this.$t('isready'),
|
||||
title: this.$t('label.isready'),
|
||||
dataIndex: 'isready',
|
||||
scopedSlots: { customRender: 'isready' }
|
||||
},
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
:form="form"
|
||||
@submit="handleSubmit"
|
||||
layout="vertical">
|
||||
<a-form-item :label="$t('state')">
|
||||
<a-form-item :label="$t('label.state')">
|
||||
<a-select
|
||||
id="state-selection"
|
||||
v-decorator="['state', {
|
||||
|
|
@ -42,8 +42,8 @@
|
|||
</a-form-item>
|
||||
|
||||
<div :span="24" class="action-button">
|
||||
<a-button @click="closeAction">{{ this.$t('Cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('OK') }}</a-button>
|
||||
<a-button @click="closeAction">{{ this.$t('label.cancel') }}</a-button>
|
||||
<a-button :loading="loading" type="primary" @click="handleSubmit">{{ this.$t('label.ok') }}</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
|
@ -80,11 +80,11 @@ export default {
|
|||
this.states = [
|
||||
{
|
||||
id: 'Enabled',
|
||||
name: this.$t('enabled')
|
||||
name: this.$t('label.enabled')
|
||||
},
|
||||
{
|
||||
id: 'Disabled',
|
||||
name: this.$t('disabled')
|
||||
name: this.$t('label.disabled')
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
|||
|
|
@ -22,11 +22,11 @@
|
|||
</div>
|
||||
|
||||
<div class="form__item">
|
||||
<p class="form__label">{{ $t('operation') }}</p>
|
||||
<p class="form__label">{{ $t('label.operation') }}</p>
|
||||
<a-select v-model="selectedOperation" defaultValue="Add" @change="fetchData">
|
||||
<a-select-option :value="$t('add')">{{ $t('add') }}</a-select-option>
|
||||
<a-select-option :value="$t('remove')">{{ $t('remove') }}</a-select-option>
|
||||
<a-select-option :value="$t('reset')">{{ $t('reset') }}</a-select-option>
|
||||
<a-select-option :value="$t('label.add')">{{ $t('label.add') }}</a-select-option>
|
||||
<a-select-option :value="$t('label.remove')">{{ $t('label.remove') }}</a-select-option>
|
||||
<a-select-option :value="$t('label.reset')">{{ $t('label.reset') }}</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
|
||||
|
|
@ -34,18 +34,18 @@
|
|||
<div class="form__item">
|
||||
<p class="form__label">
|
||||
<span class="required">*</span>
|
||||
{{ $t('shareWith') }}
|
||||
{{ $t('label.sharewith') }}
|
||||
</p>
|
||||
<a-select v-model="selectedShareWith" defaultValue="Account" @change="fetchData">
|
||||
<a-select-option :value="$t('account')">{{ $t('account') }}</a-select-option>
|
||||
<a-select-option :value="$t('project')">{{ $t('project') }}</a-select-option>
|
||||
<a-select-option :value="$t('label.account')">{{ $t('label.account') }}</a-select-option>
|
||||
<a-select-option :value="$t('label.project')">{{ $t('label.project') }}</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
|
||||
<template v-if="selectedShareWith === 'Account'">
|
||||
<div class="form__item">
|
||||
<p class="form__label">
|
||||
{{ $t('account') }}
|
||||
{{ $t('label.account') }}
|
||||
</p>
|
||||
<div v-if="showAccountSelect">
|
||||
<a-select
|
||||
|
|
@ -67,7 +67,7 @@
|
|||
<template v-else>
|
||||
<div class="form__item">
|
||||
<p class="form__label">
|
||||
{{ $t('project') }}
|
||||
{{ $t('label.project') }}
|
||||
</p>
|
||||
<a-select
|
||||
mode="multiple"
|
||||
|
|
@ -83,10 +83,10 @@
|
|||
</template>
|
||||
<div class="actions">
|
||||
<a-button @click="closeModal">
|
||||
{{ $t('Cancel') }}
|
||||
{{ $t('label.cancel') }}
|
||||
</a-button>
|
||||
<a-button type="primary" @click="submitData">
|
||||
{{ $t('OK') }}
|
||||
{{ $t('label.ok') }}
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -113,7 +113,7 @@ export default {
|
|||
selectedProjects: [],
|
||||
selectedAccountsList: '',
|
||||
selectedOperation: 'Add',
|
||||
selectedShareWith: this.$t('account'),
|
||||
selectedShareWith: this.$t('label.account'),
|
||||
accountError: false,
|
||||
projectError: false,
|
||||
showAccountSelect: true,
|
||||
|
|
|
|||
|
|
@ -19,14 +19,14 @@
|
|||
<div class="form-layout">
|
||||
<a-spin :spinning="loading">
|
||||
<a-form :form="form" layout="vertical">
|
||||
<a-form-item :label="$t('scope')">
|
||||
<a-form-item :label="$t('label.scope')">
|
||||
<a-select v-decorator="['scope', { initialValue: 'cluster' }]" @change="val => { this.scope = val }">
|
||||
<a-select-option :value="'cluster'"> {{ $t('clusterid') }} </a-select-option>
|
||||
<a-select-option :value="'zone'"> {{ $t('zoneid') }} </a-select-option>
|
||||
<a-select-option :value="'cluster'"> {{ $t('label.clusterid') }} </a-select-option>
|
||||
<a-select-option :value="'zone'"> {{ $t('label.zoneid') }} </a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<div v-if="this.scope === 'zone'">
|
||||
<a-form-item :label="$t('hypervisor')">
|
||||
<a-form-item :label="$t('label.hypervisor')">
|
||||
<a-select
|
||||
v-decorator="['hypervisor', { initialValue: hypervisors[0]}]"
|
||||
@change="val => this.selectedHypervisor = val">
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
</div>
|
||||
<a-form-item :label="$t('zoneid')">
|
||||
<a-form-item :label="$t('label.zoneid')">
|
||||
<a-select
|
||||
v-decorator="['zone', { initialValue: this.zoneSelected, rules: [{ required: true, message: 'required'}] }]"
|
||||
@change="val => changeZone(val)">
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
<div v-if="this.scope === 'cluster' || this.scope === 'host'">
|
||||
<a-form-item :label="$t('podId')">
|
||||
<a-form-item :label="$t('label.podid')">
|
||||
<a-select
|
||||
v-decorator="['pod', { initialValue: this.podSelected, rules: [{ required: true, message: 'required'}] }]"
|
||||
@change="val => changePod(val)">
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('clusterId')">
|
||||
<a-form-item :label="$t('label.clusterid')">
|
||||
<a-select
|
||||
v-decorator="['cluster', { initialValue: this.clusterSelected, rules: [{ required: true, message: 'required'}] }]"
|
||||
@change="val => fetchHypervisor(val)">
|
||||
|
|
@ -66,7 +66,7 @@
|
|||
</a-form-item>
|
||||
</div>
|
||||
<div v-if="this.scope === 'host'">
|
||||
<a-form-item :label="$t('hostId')">
|
||||
<a-form-item :label="$t('label.hostid')">
|
||||
<a-select
|
||||
v-decorator="['host', { initialValue: this.hostSelected, rules: [{ required: true, message: 'required'}] }]"
|
||||
@change="val => this.hostSelected = val">
|
||||
|
|
@ -76,10 +76,10 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
</div>
|
||||
<a-form-item :label="$t('name')">
|
||||
<a-form-item :label="$t('label.name')">
|
||||
<a-input v-decorator="['name', { rules: [{ required: true, message: 'required' }] }]"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('protocol')">
|
||||
<a-form-item :label="$t('label.protocol')">
|
||||
<a-select
|
||||
v-decorator="['protocol', { initialValue: this.protocols[0], rules: [{ required: true, message: 'required'}] }]"
|
||||
@change="val => this.protocolSelected = val">
|
||||
|
|
@ -90,43 +90,43 @@
|
|||
</a-form-item>
|
||||
<div
|
||||
v-if="protocolSelected === 'nfs' || protocolSelected === 'SMB' || protocolSelected === 'iscsi' || protocolSelected === 'vmfs'|| protocolSelected === 'Gluster'">
|
||||
<a-form-item :label="$t('server')">
|
||||
<a-form-item :label="$t('label.server')">
|
||||
<a-input v-decorator="['server', { rules: [{ required: true, message: 'required' }] }]" />
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div v-if="protocolSelected === 'nfs' || protocolSelected === 'SMB' || protocolSelected === 'ocfs2' || protocolSelected === 'preSetup'|| protocolSelected === 'SharedMountPoint'">
|
||||
<a-form-item :label="$t('path')">
|
||||
<a-form-item :label="$t('label.path')">
|
||||
<a-input v-decorator="['path', { rules: [{ required: true, message: 'required' }] }]" />
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div v-if="protocolSelected === 'SMB'">
|
||||
<a-form-item :label="$t('smbUsername')">
|
||||
<a-form-item :label="$t('label.smbusername')">
|
||||
<a-input v-decorator="['smbUsername', { rules: [{ required: true, message: 'required' }] }]"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('smbPassword')">
|
||||
<a-form-item :label="$t('label.smbpassword')">
|
||||
<a-input-password v-decorator="['smbPassword', { rules: [{ required: true, message: 'required' }] }]"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('smbDomain')">
|
||||
<a-form-item :label="$t('label.smbdomain')">
|
||||
<a-input v-decorator="['smbDomain', { rules: [{ required: true, message: 'required' }] }]"/>
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div v-if="protocolSelected === 'iscsi'">
|
||||
<a-form-item :label="$t('iqn')">
|
||||
<a-form-item :label="$t('label.iqn')">
|
||||
<a-input v-decorator="['iqn', { rules: [{ required: true, message: 'required' }] }]"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('lun')">
|
||||
<a-form-item :label="$t('label.lun')">
|
||||
<a-input v-decorator="['lun', { rules: [{ required: true, message: 'required' }] }]"/>
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div v-if="protocolSelected === 'vmfs'">
|
||||
<a-form-item :label="$t('vCenterDataCenter')">
|
||||
<a-form-item :label="$t('label.vcenterdatacenter')">
|
||||
<a-input v-decorator="['vCenterDataCenter', { rules: [{ required: true, message: 'required' }] }]"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('vCenterDataStore')">
|
||||
<a-form-item :label="$t('label.vcenterdatastore')">
|
||||
<a-input v-decorator="['vCenterDataStore', { rules: [{ required: true, message: 'required' }] }]"/>
|
||||
</a-form-item>
|
||||
</div>
|
||||
<a-form-item :label="$t('providername')">
|
||||
<a-form-item :label="$t('label.providername')">
|
||||
<a-select
|
||||
v-decorator="['provider', { initialValue: providerSelected, rules: [{ required: true, message: 'required'}] }]"
|
||||
@change="val => this.providerSelected = val">
|
||||
|
|
@ -136,45 +136,45 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
<div v-if="this.providerSelected !== 'DefaultPrimary'">
|
||||
<a-form-item :label="$t('isManaged')">
|
||||
<a-form-item :label="$t('label.ismanaged')">
|
||||
<a-checkbox-group v-decorator="['managed']" >
|
||||
<a-checkbox value="ismanaged"></a-checkbox>
|
||||
</a-checkbox-group>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('capacityBytes')">
|
||||
<a-form-item :label="$t('label.capacitybytes')">
|
||||
<a-input v-decorator="['capacityBytes']" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('capacityIops')">
|
||||
<a-form-item :label="$t('label.capacityiops')">
|
||||
<a-input v-decorator="['capacityIops']" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('url')">
|
||||
<a-form-item :label="$t('label.url')">
|
||||
<a-input v-decorator="['url']" />
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div v-if="this.protocolSelected === 'RBD'">
|
||||
<a-form-item :label="$t('radosmonitor')">
|
||||
<a-form-item :label="$t('label.radosmonitor')">
|
||||
<a-input v-decorator="['radosmonitor']" />
|
||||
</a-form-item><a-form-item :label="$t('radospool')">
|
||||
</a-form-item><a-form-item :label="$t('label.radospool')">
|
||||
<a-input v-decorator="['radospool']" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('radosuser')">
|
||||
<a-form-item :label="$t('label.radosuser')">
|
||||
<a-input v-decorator="['radosuser']" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('radossecret')">
|
||||
<a-form-item :label="$t('label.radossecret')">
|
||||
<a-input v-decorator="['radossecret']" />
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div v-if="protocolSelected === 'CLVM'">
|
||||
<a-form-item :label="$t('volumegroup')">
|
||||
<a-form-item :label="$t('label.volumegroup')">
|
||||
<a-input v-decorator="['volumegroup', { rules: [{ required: true, message: 'required'}] }]" />
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div v-if="protocolSelected === 'Gluster'">
|
||||
<a-form-item :label="$t('volume')">
|
||||
<a-form-item :label="$t('label.volume')">
|
||||
<a-input v-decorator="['volume']" />
|
||||
</a-form-item>
|
||||
</div>
|
||||
<a-form-item :label="$t('storagetags')">
|
||||
<a-form-item :label="$t('label.storagetags')">
|
||||
<a-select
|
||||
mode="tags"
|
||||
v-model="selectedTags"
|
||||
|
|
@ -184,8 +184,8 @@
|
|||
</a-form-item>
|
||||
</a-form>
|
||||
<div class="actions">
|
||||
<a-button @click="closeModal">{{ $t('cancel') }}</a-button>
|
||||
<a-button type="primary" @click="handleSubmit">{{ $t('ok') }}</a-button>
|
||||
<a-button @click="closeModal">{{ $t('label.cancel') }}</a-button>
|
||||
<a-button type="primary" @click="handleSubmit">{{ $t('label.ok') }}</a-button>
|
||||
</div>
|
||||
</a-spin>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -19,10 +19,10 @@
|
|||
<div class="form-layout">
|
||||
<a-spin :spinning="loading">
|
||||
<a-form :form="form" layout="vertical">
|
||||
<a-form-item :label="$t('name')">
|
||||
<a-form-item :label="$t('label.name')">
|
||||
<a-input v-decorator="['name']" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('providername')">
|
||||
<a-form-item :label="$t('label.providername')">
|
||||
<a-select
|
||||
v-decorator="[
|
||||
'provider',
|
||||
|
|
@ -39,7 +39,7 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
<div v-if="provider !== 'Swift'">
|
||||
<a-form-item :label="$t('zone')">
|
||||
<a-form-item :label="$t('label.zone')">
|
||||
<a-select
|
||||
v-decorator="[
|
||||
'zone',
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
>{{ zone.name }}</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('server')">
|
||||
<a-form-item :label="$t('label.server')">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'server',
|
||||
|
|
@ -65,7 +65,7 @@
|
|||
}]"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('path')">
|
||||
<a-form-item :label="$t('label.path')">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'path',
|
||||
|
|
@ -76,7 +76,7 @@
|
|||
</a-form-item>
|
||||
</div>
|
||||
<div v-if="provider === 'SMB/CIFS'">
|
||||
<a-form-item :label="$t('smbUsername')">
|
||||
<a-form-item :label="$t('label.smbusername')">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'smbUsername',
|
||||
|
|
@ -85,7 +85,7 @@
|
|||
}]"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('smbPassword')">
|
||||
<a-form-item :label="$t('label.smbpassword')">
|
||||
<a-input-password
|
||||
v-decorator="[
|
||||
'smbPassword',
|
||||
|
|
@ -94,7 +94,7 @@
|
|||
}]"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('smbDomain')">
|
||||
<a-form-item :label="$t('label.smbdomain')">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'smbDomain',
|
||||
|
|
@ -105,7 +105,7 @@
|
|||
</a-form-item>
|
||||
</div>
|
||||
<div v-if="provider === 'Swift'">
|
||||
<a-form-item :label="$t('url')">
|
||||
<a-form-item :label="$t('label.url')">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'url',
|
||||
|
|
@ -114,7 +114,7 @@
|
|||
}]"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('account')">
|
||||
<a-form-item :label="$t('label.account')">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'account',
|
||||
|
|
@ -123,7 +123,7 @@
|
|||
}]"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('username')">
|
||||
<a-form-item :label="$t('label.username')">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'username',
|
||||
|
|
@ -132,7 +132,7 @@
|
|||
}]"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('key')">
|
||||
<a-form-item :label="$t('label.key')">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'key',
|
||||
|
|
@ -141,7 +141,7 @@
|
|||
}]"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('storagepolicy')">
|
||||
<a-form-item :label="$t('label.storagepolicy')">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'storagepolicy'
|
||||
|
|
@ -150,8 +150,8 @@
|
|||
</a-form-item>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<a-button @click="closeModal">{{ $t('Cancel') }}</a-button>
|
||||
<a-button type="primary" @click="handleSubmit">{{ $t('OK') }}</a-button>
|
||||
<a-button @click="closeModal">{{ $t('label.cancel') }}</a-button>
|
||||
<a-button type="primary" @click="handleSubmit">{{ $t('label.ok') }}</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
<a-spin :spinning="loading">
|
||||
<div class="form">
|
||||
<div class="form__item">
|
||||
<div class="form__label"><span class="required">* </span>{{ $t('zonenamelabel') }}</div>
|
||||
<div class="form__label"><span class="required">* </span>{{ $t('label.zonenamelabel') }}</div>
|
||||
<a-select v-model="zoneId" @change="fetchPods">
|
||||
<a-select-option
|
||||
v-for="zone in zonesList"
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
</div>
|
||||
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('hypervisor') }}</div>
|
||||
<div class="form__label">{{ $t('label.hypervisor') }}</div>
|
||||
<a-select v-model="hypervisor" @change="resetAllFields">
|
||||
<a-select-option
|
||||
v-for="hv in hypervisorsList"
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
</div>
|
||||
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('podname') }}</div>
|
||||
<div class="form__label">{{ $t('label.podname') }}</div>
|
||||
<a-select v-model="podId">
|
||||
<a-select-option
|
||||
v-for="pod in podsList"
|
||||
|
|
@ -55,35 +55,35 @@
|
|||
</div>
|
||||
|
||||
<div class="form__item">
|
||||
<div class="form__label"><span class="required">* </span>{{ $t('clusternamelabel') }}</div>
|
||||
<div class="form__label"><span class="required">* </span>{{ $t('label.clusternamelabel') }}</div>
|
||||
<span class="required required-label" ref="requiredCluster">Required</span>
|
||||
<a-input :placeholder="placeholder.clustername" v-model="clustername"></a-input>
|
||||
</div>
|
||||
|
||||
<template v-if="hypervisor === 'VMware'">
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('vCenterHost') }}</div>
|
||||
<div class="form__label">{{ $t('label.vcenterhost') }}</div>
|
||||
<a-input v-model="host"></a-input>
|
||||
</div>
|
||||
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('vCenterUsername') }}</div>
|
||||
<div class="form__label">{{ $t('label.vcenterusername') }}</div>
|
||||
<a-input v-model="username"></a-input>
|
||||
</div>
|
||||
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('vCenterPassword') }}</div>
|
||||
<div class="form__label">{{ $t('label.vcenterpassword') }}</div>
|
||||
<a-input v-model="password"></a-input>
|
||||
</div>
|
||||
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('vCenterDataCenter') }}</div>
|
||||
<div class="form__label">{{ $t('label.vcenterdatacenter') }}</div>
|
||||
<a-input v-model="dataCenter"></a-input>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('isDedicated') }}</div>
|
||||
<div class="form__label">{{ $t('label.isdedicated') }}</div>
|
||||
<a-checkbox @change="toggleDedicated" />
|
||||
</div>
|
||||
|
||||
|
|
@ -97,8 +97,8 @@
|
|||
<a-divider></a-divider>
|
||||
|
||||
<div class="actions">
|
||||
<a-button @click="() => this.$parent.$parent.close()">{{ $t('cancel') }}</a-button>
|
||||
<a-button @click="handleSubmitForm" type="primary">{{ $t('ok') }}</a-button>
|
||||
<a-button @click="() => this.$parent.$parent.close()">{{ $t('label.cancel') }}</a-button>
|
||||
<a-button @click="handleSubmitForm" type="primary">{{ $t('label.ok') }}</a-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
<div class="form">
|
||||
|
||||
<div class="form__item">
|
||||
<div class="form__label"><span class="required">* </span>{{ $t('zonenamelabel') }}</div>
|
||||
<div class="form__label"><span class="required">* </span>{{ $t('label.zonenamelabel') }}</div>
|
||||
<a-select v-model="zoneId" @change="fetchPods">
|
||||
<a-select-option
|
||||
v-for="zone in zonesList"
|
||||
|
|
@ -32,7 +32,7 @@
|
|||
</div>
|
||||
|
||||
<div class="form__item">
|
||||
<div class="form__label"><span class="required">* </span>{{ $t('podname') }}</div>
|
||||
<div class="form__label"><span class="required">* </span>{{ $t('label.podname') }}</div>
|
||||
<a-select v-model="podId" @change="fetchClusters">
|
||||
<a-select-option
|
||||
v-for="pod in podsList"
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
</div>
|
||||
|
||||
<div class="form__item">
|
||||
<div class="form__label"><span class="required">* </span>{{ $t('clustername') }}</div>
|
||||
<div class="form__label"><span class="required">* </span>{{ $t('label.clustername') }}</div>
|
||||
<a-select v-model="clusterId" @change="handleChangeCluster">
|
||||
<a-select-option
|
||||
v-for="cluster in clustersList"
|
||||
|
|
@ -56,41 +56,41 @@
|
|||
</div>
|
||||
|
||||
<div class="form__item required-field">
|
||||
<div class="form__label"><span class="required">* </span>{{ selectedClusterHyperVisorType === 'VMware' ? $t('vcenterHost') : $t('hostnamelabel') }}</div>
|
||||
<div class="form__label"><span class="required">* </span>{{ selectedClusterHyperVisorType === 'VMware' ? $t('label.vcenterhost') : $t('label.hostnamelabel') }}</div>
|
||||
<span class="required required-label">Required</span>
|
||||
<a-input v-model="hostname"></a-input>
|
||||
</div>
|
||||
|
||||
<div class="form__item required-field" v-if="selectedClusterHyperVisorType !== 'VMware'">
|
||||
<div class="form__label"><span class="required">* </span>{{ $t('username') }}</div>
|
||||
<div class="form__label"><span class="required">* </span>{{ $t('label.username') }}</div>
|
||||
<span class="required required-label">Required</span>
|
||||
<a-input :placeholder="placeholder.username" v-model="username"></a-input>
|
||||
</div>
|
||||
|
||||
<div class="form__item required-field" v-if="selectedClusterHyperVisorType !== 'VMware'">
|
||||
<div class="form__label"><span class="required">* </span>{{ $t('password') }}</div>
|
||||
<div class="form__label"><span class="required">* </span>{{ $t('label.password') }}</div>
|
||||
<span class="required required-label">Required</span>
|
||||
<a-input :placeholder="placeholder.password" type="password" v-model="password"></a-input>
|
||||
</div>
|
||||
|
||||
<template v-if="selectedClusterHyperVisorType === 'Ovm3'">
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('agentUsername') }}</div>
|
||||
<div class="form__label">{{ $t('label.agentusername') }}</div>
|
||||
<a-input v-model="agentusername"></a-input>
|
||||
</div>
|
||||
<div class="form__item required-field">
|
||||
<div class="form__label"><span class="required">* </span>{{ $t('agentPassword') }}</div>
|
||||
<div class="form__label"><span class="required">* </span>{{ $t('label.agentpassword') }}</div>
|
||||
<span class="required required-label">Required</span>
|
||||
<a-input type="password" v-model="agentpassword"></a-input>
|
||||
</div>
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('agentPort') }}</div>
|
||||
<div class="form__label">{{ $t('label.agentport') }}</div>
|
||||
<a-input v-model="agentport"></a-input>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('hostTags') }}</div>
|
||||
<div class="form__label">{{ $t('label.hosttags') }}</div>
|
||||
<a-select
|
||||
mode="tags"
|
||||
:placeholder="placeholder.hosttags"
|
||||
|
|
@ -101,7 +101,7 @@
|
|||
</div>
|
||||
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('isDedicated') }}</div>
|
||||
<div class="form__label">{{ $t('label.isdedicated') }}</div>
|
||||
<a-checkbox @change="toggleDedicated" />
|
||||
</div>
|
||||
|
||||
|
|
@ -115,8 +115,8 @@
|
|||
<a-divider></a-divider>
|
||||
|
||||
<div class="actions">
|
||||
<a-button @click="() => this.$parent.$parent.close()">{{ $t('cancel') }}</a-button>
|
||||
<a-button @click="handleSubmitForm" type="primary">{{ $t('ok') }}</a-button>
|
||||
<a-button @click="() => this.$parent.$parent.close()">{{ $t('label.cancel') }}</a-button>
|
||||
<a-button @click="handleSubmitForm" type="primary">{{ $t('label.ok') }}</a-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
<a-list size="small">
|
||||
<a-list-item>
|
||||
<div>
|
||||
<strong>{{ $t('hypervisorversion') }}</strong>
|
||||
<strong>{{ $t('label.hypervisorversion') }}</strong>
|
||||
<div v-if="host.details">
|
||||
{{ host.hypervisor }}
|
||||
{{ host.details['Host.OS'] + ' ' + host.details['Host.OS.Version'] }}
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
</a-list-item>
|
||||
<a-list-item v-if="host.details && host.details.secured">
|
||||
<div>
|
||||
<strong>{{ $t('Secured') }}</strong>
|
||||
<strong>{{ $t('label.secured') }}</strong>
|
||||
<div>
|
||||
{{ host.details.secured }}
|
||||
</div>
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
</a-list-item>
|
||||
<a-list-item>
|
||||
<div>
|
||||
<strong>{{ $t('hosttags') }}</strong>
|
||||
<strong>{{ $t('label.hosttags') }}</strong>
|
||||
<div>
|
||||
{{ host.hosttags }}
|
||||
</div>
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
</a-list-item>
|
||||
<a-list-item>
|
||||
<div>
|
||||
<strong>{{ $t('oscategoryid') }}</strong>
|
||||
<strong>{{ $t('label.oscategoryid') }}</strong>
|
||||
<div>
|
||||
{{ host.oscategoryname }}
|
||||
</div>
|
||||
|
|
@ -53,7 +53,7 @@
|
|||
</a-list-item>
|
||||
<a-list-item v-if="host.outofbandmanagement">
|
||||
<div>
|
||||
<strong>{{ $t('OOBM') }}</strong>
|
||||
<strong>{{ $t('label.oobm') }}</strong>
|
||||
<div>
|
||||
{{ host.outofbandmanagement.enabled }}
|
||||
</div>
|
||||
|
|
@ -61,7 +61,7 @@
|
|||
</a-list-item>
|
||||
<a-list-item v-if="host.outofbandmanagement">
|
||||
<div>
|
||||
<strong>{{ $t('powerstate') }}</strong>
|
||||
<strong>{{ $t('label.powerstate') }}</strong>
|
||||
<div>
|
||||
{{ host.outofbandmanagement.powerstate }}
|
||||
</div>
|
||||
|
|
@ -69,7 +69,7 @@
|
|||
</a-list-item>
|
||||
<a-list-item v-if="host.hostha">
|
||||
<div>
|
||||
<strong>{{ $t('haenable') }}</strong>
|
||||
<strong>{{ $t('label.haenable') }}</strong>
|
||||
<div>
|
||||
{{ host.hostha.haenable }}
|
||||
</div>
|
||||
|
|
@ -77,7 +77,7 @@
|
|||
</a-list-item>
|
||||
<a-list-item v-if="host.hostha">
|
||||
<div>
|
||||
<strong>{{ $t('hastate') }}</strong>
|
||||
<strong>{{ $t('label.hastate') }}</strong>
|
||||
<div>
|
||||
{{ host.hostha.hastate }}
|
||||
</div>
|
||||
|
|
@ -85,7 +85,7 @@
|
|||
</a-list-item>
|
||||
<a-list-item v-if="host.hostha">
|
||||
<div>
|
||||
<strong>{{ $t('haprovider') }}</strong>
|
||||
<strong>{{ $t('label.haprovider') }}</strong>
|
||||
<div>
|
||||
{{ host.hostha.haprovider }}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
size="small"
|
||||
shape="round"
|
||||
@click="fetchData()" >
|
||||
{{ $t('refresh') }}
|
||||
{{ $t('label.refresh') }}
|
||||
</a-button>
|
||||
<a-button
|
||||
style="margin-left: 12px; margin-top: 4px"
|
||||
|
|
@ -36,10 +36,10 @@
|
|||
size="small"
|
||||
shape="round"
|
||||
@click="sslFormVisible = true">
|
||||
{{ $t('Setup SSL Certificate') }}
|
||||
{{ $t('label.setup.ssl.certificate') }}
|
||||
</a-button>
|
||||
<a-modal
|
||||
:title="$t('SSL Certificate')"
|
||||
:title="$t('label.ssl.certificate')"
|
||||
:visible="sslFormVisible"
|
||||
:footer="null"
|
||||
@cancel="sslModalClose">
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
<a-spin :spinning="loading">
|
||||
<a-form :form="form" layout="vertical" class="form">
|
||||
|
||||
<a-form-item class="form__item" :label="$t('zone')">
|
||||
<a-form-item class="form__item" :label="$t('label.zone')">
|
||||
<a-select
|
||||
v-decorator="['zoneid', {
|
||||
initialValue: this.zoneId,
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item class="form__item" :label="$t('podname')">
|
||||
<a-form-item class="form__item" :label="$t('label.podname')">
|
||||
<a-input
|
||||
:placeholder="placeholder.name"
|
||||
v-decorator="[
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item class="form__item" :label="$t('reservedSystemGateway')">
|
||||
<a-form-item class="form__item" :label="$t('label.reservedsystemgateway')">
|
||||
<a-input
|
||||
:placeholder="placeholder.gateway"
|
||||
v-decorator="[
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item class="form__item" :label="$t('reservedSystemNetmask')">
|
||||
<a-form-item class="form__item" :label="$t('label.reservedsystemnetmask')">
|
||||
<a-input
|
||||
:placeholder="placeholder.netmask"
|
||||
v-decorator="[
|
||||
|
|
@ -67,7 +67,7 @@
|
|||
/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item class="form__item" :label="$t('reservedSystemStartIp')">
|
||||
<a-form-item class="form__item" :label="$t('label.reservedsystemstartip')">
|
||||
<a-input
|
||||
:placeholder="placeholder.startip"
|
||||
v-decorator="[
|
||||
|
|
@ -78,7 +78,7 @@
|
|||
/>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item class="form__item" :label="$t('reservedSystemEndIp')">
|
||||
<a-form-item class="form__item" :label="$t('label.reservedsystemendip')">
|
||||
<a-input
|
||||
:placeholder="placeholder.endip"
|
||||
v-decorator="['endip']"
|
||||
|
|
@ -86,7 +86,7 @@
|
|||
</a-form-item>
|
||||
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('isDedicated') }}</div>
|
||||
<div class="form__label">{{ $t('label.isdedicated') }}</div>
|
||||
<a-checkbox @change="toggleDedicate" />
|
||||
</div>
|
||||
|
||||
|
|
@ -100,8 +100,8 @@
|
|||
<a-divider></a-divider>
|
||||
|
||||
<div class="actions">
|
||||
<a-button @click="() => this.$parent.$parent.close()">{{ $t('cancel') }}</a-button>
|
||||
<a-button @click="handleSubmit" type="primary">{{ $t('ok') }}</a-button>
|
||||
<a-button @click="() => this.$parent.$parent.close()">{{ $t('label.cancel') }}</a-button>
|
||||
<a-button @click="handleSubmit" type="primary">{{ $t('label.ok') }}</a-button>
|
||||
</div>
|
||||
|
||||
</a-form>
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@
|
|||
:form="form"
|
||||
@submit="handleSubmit"
|
||||
layout="vertical" >
|
||||
<a-form-item :label="$t('vlanRange')">
|
||||
<a-form-item :label="$t('label.vlanrange')">
|
||||
<a-input
|
||||
v-decorator="['range', {
|
||||
rules: [{ required: true, message: 'Required' }]
|
||||
|
|
@ -64,14 +64,14 @@
|
|||
></a-input>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item :label="$t('scope')">
|
||||
<a-form-item :label="$t('label.scope')">
|
||||
<a-select defaultValue="account" v-model="selectedScope" @change="handleScopeChange">
|
||||
<a-select-option value="account">{{ $t('account') }}</a-select-option>
|
||||
<a-select-option value="project">{{ $t('project') }}</a-select-option>
|
||||
<a-select-option value="account">{{ $t('label.account') }}</a-select-option>
|
||||
<a-select-option value="project">{{ $t('label.project') }}</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item :label="$t('domain')">
|
||||
<a-form-item :label="$t('label.domain')">
|
||||
<a-select
|
||||
@change="handleDomainChange"
|
||||
v-decorator="['domain', {
|
||||
|
|
@ -82,7 +82,7 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item :label="$t('account')" v-if="selectedScope === 'account'">
|
||||
<a-form-item :label="$t('label.account')" v-if="selectedScope === 'account'">
|
||||
<a-select
|
||||
v-decorator="['account', {
|
||||
rules: [{ required: true, message: 'Required' }]
|
||||
|
|
@ -97,7 +97,7 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item :label="$t('project')" v-if="selectedScope === 'project'">
|
||||
<a-form-item :label="$t('label.project')" v-if="selectedScope === 'project'">
|
||||
<a-select
|
||||
v-decorator="['project', {
|
||||
rules: [{ required: true, message: 'Required' }]
|
||||
|
|
@ -149,19 +149,19 @@ export default {
|
|||
pageSize: 10,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('vlanrange'),
|
||||
title: this.$t('label.vlanrange'),
|
||||
dataIndex: 'guestvlanrange'
|
||||
},
|
||||
{
|
||||
title: this.$t('domain'),
|
||||
title: this.$t('label.domain'),
|
||||
dataIndex: 'domain'
|
||||
},
|
||||
{
|
||||
title: this.$t('account'),
|
||||
title: this.$t('label.account'),
|
||||
dataIndex: 'account'
|
||||
},
|
||||
{
|
||||
title: this.$t('action'),
|
||||
title: this.$t('label.action'),
|
||||
scopedSlots: { customRender: 'actions' }
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@
|
|||
layout="vertical"
|
||||
class="form"
|
||||
>
|
||||
<a-form-item :label="$t('podId')" class="form__item">
|
||||
<a-form-item :label="$t('label.podid')" class="form__item">
|
||||
<a-select
|
||||
v-decorator="['pod', {
|
||||
rules: [{ required: true, message: 'Required' }]
|
||||
|
|
@ -78,32 +78,32 @@
|
|||
<a-select-option v-for="item in items" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('gateway')" class="form__item">
|
||||
<a-form-item :label="$t('label.gateway')" class="form__item">
|
||||
<a-input
|
||||
v-decorator="['gateway', { rules: [{ required: true, message: 'Required' }] }]">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('netmask')" class="form__item">
|
||||
<a-form-item :label="$t('label.netmask')" class="form__item">
|
||||
<a-input
|
||||
v-decorator="['netmask', { rules: [{ required: true, message: 'Required' }] }]">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('vlan')" class="form__item">
|
||||
<a-form-item :label="$t('label.vlan')" class="form__item">
|
||||
<a-input
|
||||
v-decorator="['vlan']">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('startip')" class="form__item">
|
||||
<a-form-item :label="$t('label.startip')" class="form__item">
|
||||
<a-input
|
||||
v-decorator="['startip', { rules: [{ required: true, message: 'Required' }] }]">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('endip')" class="form__item">
|
||||
<a-form-item :label="$t('label.endip')" class="form__item">
|
||||
<a-input
|
||||
v-decorator="['endip', { rules: [{ required: true, message: 'Required' }] }]">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('System VMs')" class="form__item">
|
||||
<a-form-item :label="$t('label.system.vms')" class="form__item">
|
||||
<a-checkbox v-decorator="['vms']"></a-checkbox>
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
|
|
@ -139,39 +139,39 @@ export default {
|
|||
pageSize: 10,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('podid'),
|
||||
title: this.$t('label.podid'),
|
||||
dataIndex: 'name'
|
||||
},
|
||||
{
|
||||
title: this.$t('gateway'),
|
||||
title: this.$t('label.gateway'),
|
||||
dataIndex: 'gateway'
|
||||
},
|
||||
{
|
||||
title: this.$t('netmask'),
|
||||
title: this.$t('label.netmask'),
|
||||
dataIndex: 'netmask'
|
||||
},
|
||||
{
|
||||
title: this.$t('vlan'),
|
||||
title: this.$t('label.vlan'),
|
||||
dataIndex: 'vlanid',
|
||||
scopedSlots: { customRender: 'vlan' }
|
||||
},
|
||||
{
|
||||
title: this.$t('startip'),
|
||||
title: this.$t('label.startip'),
|
||||
dataIndex: 'startip',
|
||||
scopedSlots: { customRender: 'startip' }
|
||||
},
|
||||
{
|
||||
title: this.$t('endip'),
|
||||
title: this.$t('label.endip'),
|
||||
dataIndex: 'endip',
|
||||
scopedSlots: { customRender: 'endip' }
|
||||
},
|
||||
{
|
||||
title: this.$t('System VMs'),
|
||||
title: this.$t('label.system.vms'),
|
||||
dataIndex: 'forsystemvms',
|
||||
scopedSlots: { customRender: 'forsystemvms' }
|
||||
},
|
||||
{
|
||||
title: this.$t('action'),
|
||||
title: this.$t('label.action'),
|
||||
scopedSlots: { customRender: 'actions' }
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -78,15 +78,15 @@
|
|||
<a-modal v-model="accountModal" v-if="selectedItem" @ok="accountModal = false">
|
||||
<div>
|
||||
<div style="margin-bottom: 10px;">
|
||||
<div class="list__label">{{ $t('account') }}</div>
|
||||
<div class="list__label">{{ $t('label.account') }}</div>
|
||||
<div>{{ selectedItem.account }}</div>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px;">
|
||||
<div class="list__label">{{ $t('domain') }}</div>
|
||||
<div class="list__label">{{ $t('label.domain') }}</div>
|
||||
<div>{{ selectedItem.domain }}</div>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px;">
|
||||
<div class="list__label">{{ $t('System VMs') }}</div>
|
||||
<div class="list__label">{{ $t('label.system.vms') }}</div>
|
||||
<div>{{ selectedItem.forsystemvms }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -95,11 +95,11 @@
|
|||
<a-modal :zIndex="1001" v-model="addAccountModal" :title="$t('label.add.account')" @ok="handleAddAccount">
|
||||
<a-spin :spinning="domainsLoading">
|
||||
<div style="margin-bottom: 10px;">
|
||||
<div class="list__label">{{ $t('account') }}:</div>
|
||||
<div class="list__label">{{ $t('label.account') }}:</div>
|
||||
<a-input v-model="addAccount.account"></a-input>
|
||||
</div>
|
||||
<div>
|
||||
<div class="list__label">{{ $t('domain') }}:</div>
|
||||
<div class="list__label">{{ $t('label.domain') }}:</div>
|
||||
<a-select v-model="addAccount.domain">
|
||||
<a-select-option
|
||||
v-for="domain in domains"
|
||||
|
|
@ -118,27 +118,27 @@
|
|||
layout="vertical"
|
||||
class="form"
|
||||
>
|
||||
<a-form-item :label="$t('gateway')" class="form__item">
|
||||
<a-form-item :label="$t('label.gateway')" class="form__item">
|
||||
<a-input
|
||||
v-decorator="['gateway', { rules: [{ required: true, message: 'Required' }] }]">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('netmask')" class="form__item">
|
||||
<a-form-item :label="$t('label.netmask')" class="form__item">
|
||||
<a-input
|
||||
v-decorator="['netmask', { rules: [{ required: true, message: 'Required' }] }]">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('vlan')" class="form__item">
|
||||
<a-form-item :label="$t('label.vlan')" class="form__item">
|
||||
<a-input
|
||||
v-decorator="['vlan']">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('startip')" class="form__item">
|
||||
<a-form-item :label="$t('label.startip')" class="form__item">
|
||||
<a-input
|
||||
v-decorator="['startip', { rules: [{ required: true, message: 'Required' }] }]">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('endip')" class="form__item">
|
||||
<a-form-item :label="$t('label.endip')" class="form__item">
|
||||
<a-input
|
||||
v-decorator="['endip', { rules: [{ required: true, message: 'Required' }] }]">
|
||||
</a-input>
|
||||
|
|
@ -150,14 +150,14 @@
|
|||
<div v-if="showAccountFields" style="margin-top: 20px;">
|
||||
<p>(optional) Please specify an account to be associated with this IP range.</p>
|
||||
<p>System VMs: Enable dedication of public IP range for SSVM and CPVM, account field disabled. Reservation strictness defined on 'system.vm.public.ip.reservation.mode.strictness'.</p>
|
||||
<a-form-item :label="$t('System VMs')" class="form__item">
|
||||
<a-form-item :label="$t('label.system.vms')" class="form__item">
|
||||
<a-switch v-decorator="['forsystemvms']"></a-switch>
|
||||
</a-form-item>
|
||||
<a-spin :spinning="domainsLoading">
|
||||
<a-form-item :label="$t('account')" class="form__item">
|
||||
<a-form-item :label="$t('label.account')" class="form__item">
|
||||
<a-input v-decorator="['account']"></a-input>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('domain')" class="form__item">
|
||||
<a-form-item :label="$t('label.domain')" class="form__item">
|
||||
<a-select v-decorator="['domain']">
|
||||
<a-select-option
|
||||
v-for="domain in domains"
|
||||
|
|
@ -212,31 +212,31 @@ export default {
|
|||
pageSize: 10,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('gateway'),
|
||||
title: this.$t('label.gateway'),
|
||||
dataIndex: 'gateway'
|
||||
},
|
||||
{
|
||||
title: this.$t('netmask'),
|
||||
title: this.$t('label.netmask'),
|
||||
dataIndex: 'netmask'
|
||||
},
|
||||
{
|
||||
title: this.$t('vlan'),
|
||||
title: this.$t('label.vlan'),
|
||||
dataIndex: 'vlan'
|
||||
},
|
||||
{
|
||||
title: this.$t('startip'),
|
||||
title: this.$t('label.startip'),
|
||||
dataIndex: 'startip'
|
||||
},
|
||||
{
|
||||
title: this.$t('endip'),
|
||||
title: this.$t('label.endip'),
|
||||
dataIndex: 'endip'
|
||||
},
|
||||
{
|
||||
title: this.$t('account'),
|
||||
title: this.$t('label.account'),
|
||||
scopedSlots: { customRender: 'account' }
|
||||
},
|
||||
{
|
||||
title: this.$t('action'),
|
||||
title: this.$t('label.action'),
|
||||
scopedSlots: { customRender: 'actions' }
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@
|
|||
layout="vertical"
|
||||
class="form"
|
||||
>
|
||||
<a-form-item :label="$t('podId')" class="form__item">
|
||||
<a-form-item :label="$t('label.podid')" class="form__item">
|
||||
<a-select
|
||||
v-decorator="['pod', {
|
||||
rules: [{ required: true, message: 'Required' }]
|
||||
|
|
@ -76,27 +76,27 @@
|
|||
<a-select-option v-for="pod in pods" :key="pod.id" :value="pod.id">{{ pod.name }}</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('gateway')" class="form__item">
|
||||
<a-form-item :label="$t('label.gateway')" class="form__item">
|
||||
<a-input
|
||||
v-decorator="['gateway', { rules: [{ required: true, message: 'Required' }] }]">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('netmask')" class="form__item">
|
||||
<a-form-item :label="$t('label.netmask')" class="form__item">
|
||||
<a-input
|
||||
v-decorator="['netmask', { rules: [{ required: true, message: 'Required' }] }]">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('vlan')" class="form__item">
|
||||
<a-form-item :label="$t('label.vlan')" class="form__item">
|
||||
<a-input
|
||||
v-decorator="['vlan']">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('startip')" class="form__item">
|
||||
<a-form-item :label="$t('label.startip')" class="form__item">
|
||||
<a-input
|
||||
v-decorator="['startip', { rules: [{ required: true, message: 'Required' }] }]">
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('endip')" class="form__item">
|
||||
<a-form-item :label="$t('label.endip')" class="form__item">
|
||||
<a-input
|
||||
v-decorator="['endip', { rules: [{ required: true, message: 'Required' }] }]">
|
||||
</a-input>
|
||||
|
|
@ -133,31 +133,31 @@ export default {
|
|||
defaultSelectedPod: null,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('podId'),
|
||||
title: this.$t('label.podid'),
|
||||
scopedSlots: { customRender: 'name' }
|
||||
},
|
||||
{
|
||||
title: this.$t('gateway'),
|
||||
title: this.$t('label.gateway'),
|
||||
dataIndex: 'gateway'
|
||||
},
|
||||
{
|
||||
title: this.$t('netmask'),
|
||||
title: this.$t('label.netmask'),
|
||||
dataIndex: 'netmask'
|
||||
},
|
||||
{
|
||||
title: this.$t('vlan'),
|
||||
title: this.$t('label.vlan'),
|
||||
dataIndex: 'vlanid'
|
||||
},
|
||||
{
|
||||
title: this.$t('startip'),
|
||||
title: this.$t('label.startip'),
|
||||
dataIndex: 'startip'
|
||||
},
|
||||
{
|
||||
title: this.$t('endip'),
|
||||
title: this.$t('label.endip'),
|
||||
dataIndex: 'endip'
|
||||
},
|
||||
{
|
||||
title: this.$t('action'),
|
||||
title: this.$t('label.action'),
|
||||
scopedSlots: { customRender: 'actions' }
|
||||
}
|
||||
],
|
||||
|
|
|
|||
|
|
@ -28,11 +28,11 @@
|
|||
</div>
|
||||
<div v-if="item.traffictype === 'Public'">
|
||||
<div style="margin-bottom: 10px;">
|
||||
<div><strong>{{ $t('traffictype') }}</strong></div>
|
||||
<div><strong>{{ $t('label.traffictype') }}</strong></div>
|
||||
<div>{{ publicNetwork.traffictype }}</div>
|
||||
</div>
|
||||
<div style="margin-bottom: 10px;">
|
||||
<div><strong>{{ $t('broadcastdomaintype') }}</strong></div>
|
||||
<div><strong>{{ $t('label.broadcastdomaintype') }}</strong></div>
|
||||
<div>{{ publicNetwork.broadcastdomaintype }}</div>
|
||||
</div>
|
||||
<a-divider />
|
||||
|
|
|
|||
|
|
@ -23,19 +23,19 @@
|
|||
<div class="list__item-container">
|
||||
<div class="list__col">
|
||||
<div class="list__label">
|
||||
{{ $t('name') }}
|
||||
{{ $t('label.name') }}
|
||||
</div>
|
||||
<div>
|
||||
<router-link :to="{ path: '/physicalnetwork/' + network.id }">{{ network.name }}</router-link>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list__col">
|
||||
<div class="list__label">{{ $t('state') }}</div>
|
||||
<div class="list__label">{{ $t('label.state') }}</div>
|
||||
<div><status :text="network.state" displayText></status></div>
|
||||
</div>
|
||||
<div class="list__col">
|
||||
<div class="list__label">
|
||||
{{ $t('isolationmethods') }}
|
||||
{{ $t('label.isolationmethods') }}
|
||||
</div>
|
||||
<div>
|
||||
{{ network.isolationmethods }}
|
||||
|
|
@ -43,13 +43,13 @@
|
|||
</div>
|
||||
<div class="list__col">
|
||||
<div class="list__label">
|
||||
{{ $t('vlan') }}
|
||||
{{ $t('label.vlan') }}
|
||||
</div>
|
||||
<div>{{ network.vlan }}</div>
|
||||
</div>
|
||||
<div class="list__col">
|
||||
<div class="list__label">
|
||||
{{ $t('broadcastdomainrange') }}
|
||||
{{ $t('label.broadcastdomainrange') }}
|
||||
</div>
|
||||
<div>{{ network.broadcastdomainrange }}</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -23,23 +23,23 @@
|
|||
<div class="list__item-container">
|
||||
<div class="list__col">
|
||||
<div class="list__label">
|
||||
{{ $t('name') }}
|
||||
{{ $t('label.name') }}
|
||||
</div>
|
||||
<div>
|
||||
<router-link :to="{ path: '/systemvm/' + vm.id }">{{ vm.name }}</router-link>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list__col">
|
||||
<div class="list__label">{{ $t('vmstate') }}</div>
|
||||
<div class="list__label">{{ $t('label.vmstate') }}</div>
|
||||
<div><status :text="vm.state" displayText></status></div>
|
||||
</div>
|
||||
<div class="list__col">
|
||||
<div class="list__label">{{ $t('agentstate') }}</div>
|
||||
<div class="list__label">{{ $t('label.agentstate') }}</div>
|
||||
<div><status :text="vm.agentstate || 'Unknown'" displayText></status></div>
|
||||
</div>
|
||||
<div class="list__col">
|
||||
<div class="list__label">
|
||||
{{ $t('type') }}
|
||||
{{ $t('label.type') }}
|
||||
</div>
|
||||
<div>
|
||||
{{ vm.systemvmtype == 'consoleproxy' ? 'Console Proxy VM' : 'Secondary Storage VM' }}
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
</div>
|
||||
<div class="list__col">
|
||||
<div class="list__label">
|
||||
{{ $t('publicip') }}
|
||||
{{ $t('label.publicip') }}
|
||||
</div>
|
||||
<div>
|
||||
{{ vm.publicip }}
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
</div>
|
||||
<div class="list__col">
|
||||
<div class="list__label">
|
||||
{{ $t('hostname') }}
|
||||
{{ $t('label.hostname') }}
|
||||
</div>
|
||||
<div>
|
||||
<router-link :to="{ path: '/host/' + vm.hostid }">{{ vm.hostname }}</router-link>
|
||||
|
|
|
|||
|
|
@ -748,7 +748,7 @@ export default {
|
|||
if (['KVM', 'VMware', 'Hyperv'].includes(hypervisor)) {
|
||||
scope.push({
|
||||
id: 'zone',
|
||||
description: this.$t('zone')
|
||||
description: this.$t('label.zone')
|
||||
})
|
||||
scope.push({
|
||||
id: 'cluster',
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
<a-spin :spinning="fetchLoading">
|
||||
<div style="width: 100%; display: flex">
|
||||
<a-button type="dashed" icon="plus" style="width: 100%; margin-right: 10px" @click="openAddRuleModal">
|
||||
{{ $t('add') }} {{ $t('aclid') }}
|
||||
{{ $t('label.add') }} {{ $t('label.aclid') }}
|
||||
</a-button>
|
||||
|
||||
<a-button type="dashed" @click="exportAclList" style="width: 100%" icon="download">
|
||||
|
|
@ -41,43 +41,43 @@
|
|||
</div>
|
||||
<div class="list__container">
|
||||
<div class="list__col">
|
||||
<div class="list__label">{{ $t('number') }}</div>
|
||||
<div class="list__label">{{ $t('label.number') }}</div>
|
||||
<div>{{ acl.number }}</div>
|
||||
</div>
|
||||
<div class="list__col">
|
||||
<div class="list__label">{{ $t('cidrlist') }}</div>
|
||||
<div class="list__label">{{ $t('label.cidrlist') }}</div>
|
||||
<div>{{ acl.cidrlist }}</div>
|
||||
</div>
|
||||
<div class="list__col">
|
||||
<div class="list__label">{{ $t('action') }}</div>
|
||||
<div class="list__label">{{ $t('label.action') }}</div>
|
||||
<div>{{ acl.action }}</div>
|
||||
</div>
|
||||
<div class="list__col">
|
||||
<div class="list__label">{{ $t('protocol') }}</div>
|
||||
<div class="list__label">{{ $t('label.protocol') }}</div>
|
||||
<div>{{ acl.protocol }}</div>
|
||||
</div>
|
||||
<div class="list__col" v-if="acl.startport">
|
||||
<div class="list__label">{{ $t('startport') }}</div>
|
||||
<div class="list__label">{{ $t('label.startport') }}</div>
|
||||
<div>{{ acl.startport }}</div>
|
||||
</div>
|
||||
<div class="list__col" v-if="acl.endport">
|
||||
<div class="list__label">{{ $t('endport') }}</div>
|
||||
<div class="list__label">{{ $t('label.endport') }}</div>
|
||||
<div>{{ acl.endport }}</div>
|
||||
</div>
|
||||
<div class="list__col" v-if="acl.icmpcode">
|
||||
<div class="list__label">{{ $t('icmpcode') }}</div>
|
||||
<div class="list__label">{{ $t('label.icmpcode') }}</div>
|
||||
<div>{{ acl.icmpcode }}</div>
|
||||
</div>
|
||||
<div class="list__col" v-if="acl.icmptype">
|
||||
<div class="list__label">{{ $t('icmptype') }}</div>
|
||||
<div class="list__label">{{ $t('label.icmptype') }}</div>
|
||||
<div>{{ acl.icmptype }}</div>
|
||||
</div>
|
||||
<div class="list__col">
|
||||
<div class="list__label">{{ $t('traffictype') }}</div>
|
||||
<div class="list__label">{{ $t('label.traffictype') }}</div>
|
||||
<div>{{ acl.traffictype }}</div>
|
||||
</div>
|
||||
<div class="list__col">
|
||||
<div class="list__label">{{ $t('reason') }}</div>
|
||||
<div class="list__label">{{ $t('label.reason') }}</div>
|
||||
<div>{{ acl.reason }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -97,13 +97,13 @@
|
|||
<div v-else>
|
||||
<a-form :form="newTagsForm" class="add-tags" @submit="handleAddTag">
|
||||
<div class="add-tags__input">
|
||||
<p class="add-tags__label">{{ $t('key') }}</p>
|
||||
<p class="add-tags__label">{{ $t('label.key') }}</p>
|
||||
<a-form-item>
|
||||
<a-input v-decorator="['key', { rules: [{ required: true, message: 'Please specify a tag key'}] }]" />
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div class="add-tags__input">
|
||||
<p class="add-tags__label">{{ $t('value') }}</p>
|
||||
<p class="add-tags__label">{{ $t('label.value') }}</p>
|
||||
<a-form-item>
|
||||
<a-input v-decorator="['value', { rules: [{ required: true, message: 'Please specify a tag value'}] }]" />
|
||||
</a-form-item>
|
||||
|
|
@ -121,25 +121,25 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<a-button class="add-tags-done" @click="tagsModalVisible = false" type="primary">{{ $t('OK') }}</a-button>
|
||||
<a-button class="add-tags-done" @click="tagsModalVisible = false" type="primary">{{ $t('label.ok') }}</a-button>
|
||||
</div>
|
||||
|
||||
</a-modal>
|
||||
<a-modal :title="ruleModalTitle" v-model="ruleModalVisible" @ok="handleRuleModalForm">
|
||||
<a-form :form="ruleForm" @submit="handleRuleModalForm">
|
||||
<a-form-item :label="$t('number')">
|
||||
<a-form-item :label="$t('label.number')">
|
||||
<a-input v-decorator="['number']" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('cidrlist')">
|
||||
<a-form-item :label="$t('label.cidrlist')">
|
||||
<a-input v-decorator="['cidr']" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('action')">
|
||||
<a-form-item :label="$t('label.action')">
|
||||
<a-select v-decorator="['action']">
|
||||
<a-select-option value="allow">Allow</a-select-option>
|
||||
<a-select-option value="deny">Deny</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('protocol')">
|
||||
<a-form-item :label="$t('label.protocol')">
|
||||
<a-select v-decorator="['protocol']">
|
||||
<a-select-option value="tcp">TCP</a-select-option>
|
||||
<a-select-option value="udp">UDP</a-select-option>
|
||||
|
|
@ -149,35 +149,35 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item v-if="ruleForm.getFieldValue('protocol') === 'protocolnumber'" :label="$t('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-form-item>
|
||||
|
||||
<div v-if="ruleForm.getFieldValue('protocol') === 'icmp' || ruleForm.getFieldValue('protocol') === 'protocolnumber'">
|
||||
<a-form-item :label="$t('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-form-item>
|
||||
<a-form-item :label="$t('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-form-item>
|
||||
</div>
|
||||
|
||||
<div v-if="ruleForm.getFieldValue('protocol') === 'tcp' || ruleForm.getFieldValue('protocol') === 'udp' || ruleForm.getFieldValue('protocol') === 'protocolnumber'">
|
||||
<a-form-item :label="$t('startport')">
|
||||
<a-form-item :label="$t('label.startport')">
|
||||
<a-input v-decorator="['startport']" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('endport')">
|
||||
<a-form-item :label="$t('label.endport')">
|
||||
<a-input v-decorator="['endport']" />
|
||||
</a-form-item>
|
||||
</div>
|
||||
|
||||
<a-form-item :label="$t('traffictype')">
|
||||
<a-form-item :label="$t('label.traffictype')">
|
||||
<a-select v-decorator="['traffictype']">
|
||||
<a-select-option value="ingress">Ingress</a-select-option>
|
||||
<a-select-option value="egress">Egress</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('reason')">
|
||||
<a-form-item :label="$t('label.reason')">
|
||||
<a-textarea
|
||||
v-decorator="['reason']"
|
||||
:autosize="{ minRows: 2 }"
|
||||
|
|
|
|||
|
|
@ -23,21 +23,21 @@
|
|||
:form="form"
|
||||
layout="vertical"
|
||||
@submit="handleSubmit">
|
||||
<a-form-item :label="$t('name')">
|
||||
<a-form-item :label="$t('label.name')">
|
||||
<a-input
|
||||
v-decorator="['name', {
|
||||
rules: [{ required: true, message: 'Please enter name' }]
|
||||
}]"
|
||||
:placeholder="this.$t('Name')"/>
|
||||
:placeholder="this.$t('label.name')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('displaytext')">
|
||||
<a-form-item :label="$t('label.displaytext')">
|
||||
<a-input
|
||||
v-decorator="['displaytext', {
|
||||
rules: [{ required: true, message: 'Please enter display text' }]
|
||||
}]"
|
||||
:placeholder="this.$t('Display text')"/>
|
||||
:placeholder="this.$t('label.display.text')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('zoneid')">
|
||||
<a-form-item :label="$t('label.zoneid')">
|
||||
<a-select
|
||||
v-decorator="['zoneid', {
|
||||
rules: [
|
||||
|
|
@ -53,14 +53,14 @@
|
|||
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
}"
|
||||
:loading="zoneLoading"
|
||||
:placeholder="this.$t('.zoneid')"
|
||||
:placeholder="this.$t('label..zoneid')"
|
||||
@change="val => { this.handleZoneChange(this.zones[val]) }">
|
||||
<a-select-option v-for="(opt, optIndex) in this.zones" :key="optIndex">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('domain')" v-if="this.isAdminOrDomainAdmin()">
|
||||
<a-form-item :label="$t('label.domain')" v-if="this.isAdminOrDomainAdmin()">
|
||||
<a-select
|
||||
v-decorator="['domainid', {}]"
|
||||
showSearch
|
||||
|
|
@ -69,14 +69,14 @@
|
|||
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
}"
|
||||
:loading="domainLoading"
|
||||
:placeholder="this.$t('domainid')"
|
||||
:placeholder="this.$t('label.domainid')"
|
||||
@change="val => { this.handleDomainChange(this.domains[val]) }">
|
||||
<a-select-option v-for="(opt, optIndex) in this.domains" :key="optIndex">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('networkofferingid')">
|
||||
<a-form-item :label="$t('label.networkofferingid')">
|
||||
<a-select
|
||||
v-decorator="['networkofferingid', {
|
||||
rules: [
|
||||
|
|
@ -92,21 +92,21 @@
|
|||
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
}"
|
||||
:loading="networkOfferingLoading"
|
||||
:placeholder="this.$t('networkofferingid')"
|
||||
:placeholder="this.$t('label.networkofferingid')"
|
||||
@change="val => { this.handleNetworkOfferingChange(this.networkOfferings[val]) }">
|
||||
<a-select-option v-for="(opt, optIndex) in this.networkOfferings" :key="optIndex">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('vlan')" v-if="!this.isObjectEmpty(this.selectedNetworkOffering) && this.selectedNetworkOffering.specifyvlan">
|
||||
<a-form-item :label="$t('label.vlan')" v-if="!this.isObjectEmpty(this.selectedNetworkOffering) && this.selectedNetworkOffering.specifyvlan">
|
||||
<a-input
|
||||
v-decorator="['vlanid', {
|
||||
rules: [{ required: true, message: 'Please enter value' }]
|
||||
}]"
|
||||
:placeholder="this.$t('vlanid')"/>
|
||||
:placeholder="this.$t('label.vlanid')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('vpcid')" v-if="!this.isObjectEmpty(this.selectedNetworkOffering) && this.selectedNetworkOffering.forvpc">
|
||||
<a-form-item :label="$t('label.vpcid')" v-if="!this.isObjectEmpty(this.selectedNetworkOffering) && this.selectedNetworkOffering.forvpc">
|
||||
<a-select
|
||||
v-decorator="['vpcid', {
|
||||
rules: [
|
||||
|
|
@ -122,53 +122,53 @@
|
|||
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
}"
|
||||
:loading="vpcLoading"
|
||||
:placeholder="this.$t('vpcid')"
|
||||
:placeholder="this.$t('label.vpcid')"
|
||||
@change="val => { this.selectedVpc = this.vpcs[val] }">
|
||||
<a-select-option v-for="(opt, optIndex) in this.vpcs" :key="optIndex">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('externalid')">
|
||||
<a-form-item :label="$t('label.externalid')">
|
||||
<a-input
|
||||
v-decorator="['externalid', {}]"
|
||||
:placeholder="$t('externalid')"/>
|
||||
:placeholder="$t('label.externalid')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('gateway')">
|
||||
<a-form-item :label="$t('label.gateway')">
|
||||
<a-input
|
||||
v-decorator="['gateway', {}]"
|
||||
:placeholder="this.$t('gateway')"/>
|
||||
:placeholder="this.$t('label.gateway')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('netmask')">
|
||||
<a-form-item :label="$t('label.netmask')">
|
||||
<a-input
|
||||
v-decorator="['netmask', {}]"
|
||||
:placeholder="this.$t('netmask')"/>
|
||||
:placeholder="this.$t('label.netmask')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('networkdomain')" v-if="!this.isObjectEmpty(this.selectedNetworkOffering) && !this.selectedNetworkOffering.forvpc">
|
||||
<a-form-item :label="$t('label.networkdomain')" v-if="!this.isObjectEmpty(this.selectedNetworkOffering) && !this.selectedNetworkOffering.forvpc">
|
||||
<a-input
|
||||
v-decorator="['networkdomain', {}]"
|
||||
:placeholder="this.$t('networkdomain')"/>
|
||||
:placeholder="this.$t('label.networkdomain')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('account')" v-if="this.accountVisible">
|
||||
<a-form-item :label="$t('label.account')" v-if="this.accountVisible">
|
||||
<a-input
|
||||
v-decorator="['account', {
|
||||
rules: [
|
||||
{ required: true, message: this.$t('required') }
|
||||
{ required: true, message: this.$t('label.required') }
|
||||
]
|
||||
}]"
|
||||
:placeholder="this.$t('account')"/>
|
||||
:placeholder="this.$t('label.account')"/>
|
||||
</a-form-item>
|
||||
<div :span="24" class="action-button">
|
||||
<a-button
|
||||
:loading="actionLoading"
|
||||
@click="closeAction">
|
||||
{{ this.$t('Cancel') }}
|
||||
{{ this.$t('label.cancel') }}
|
||||
</a-button>
|
||||
<a-button
|
||||
:loading="actionLoading"
|
||||
type="primary"
|
||||
@click="handleSubmit">
|
||||
{{ this.$t('OK') }}
|
||||
{{ this.$t('label.ok') }}
|
||||
</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
|
|
|
|||
|
|
@ -23,21 +23,21 @@
|
|||
:form="form"
|
||||
layout="vertical"
|
||||
@submit="handleSubmit">
|
||||
<a-form-item :label="$t('name')">
|
||||
<a-form-item :label="$t('label.name')">
|
||||
<a-input
|
||||
v-decorator="['name', {
|
||||
rules: [{ required: true, message: 'Please enter name' }]
|
||||
}]"
|
||||
:placeholder="this.$t('Name')"/>
|
||||
:placeholder="this.$t('label.name')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('displaytext')">
|
||||
<a-form-item :label="$t('label.displaytext')">
|
||||
<a-input
|
||||
v-decorator="['displaytext', {
|
||||
rules: [{ required: true, message: 'Please enter display text' }]
|
||||
}]"
|
||||
:placeholder="this.$t('displaytext')"/>
|
||||
:placeholder="this.$t('label.displaytext')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('zoneid')">
|
||||
<a-form-item :label="$t('label.zoneid')">
|
||||
<a-select
|
||||
v-decorator="['zoneid', {
|
||||
rules: [
|
||||
|
|
@ -53,14 +53,14 @@
|
|||
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
}"
|
||||
:loading="zoneLoading"
|
||||
:placeholder="this.$t('zoneid')"
|
||||
:placeholder="this.$t('label.zoneid')"
|
||||
@change="val => { this.handleZoneChange(this.zones[val]) }">
|
||||
<a-select-option v-for="(opt, optIndex) in this.zones" :key="optIndex">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('domain')" v-if="this.isAdminOrDomainAdmin()">
|
||||
<a-form-item :label="$t('label.domain')" v-if="this.isAdminOrDomainAdmin()">
|
||||
<a-select
|
||||
v-decorator="['domainid', {}]"
|
||||
showSearch
|
||||
|
|
@ -69,14 +69,14 @@
|
|||
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
}"
|
||||
:loading="domainLoading"
|
||||
:placeholder="this.$t('domainid')"
|
||||
:placeholder="this.$t('label.domainid')"
|
||||
@change="val => { this.handleDomainChange(this.domains[val]) }">
|
||||
<a-select-option v-for="(opt, optIndex) in this.domains" :key="optIndex">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('networkofferingid')">
|
||||
<a-form-item :label="$t('label.networkofferingid')">
|
||||
<a-select
|
||||
v-decorator="['networkofferingid', {
|
||||
rules: [
|
||||
|
|
@ -92,43 +92,43 @@
|
|||
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
}"
|
||||
:loading="networkOfferingLoading"
|
||||
:placeholder="this.$t('networkofferingid')"
|
||||
:placeholder="this.$t('label.networkofferingid')"
|
||||
@change="val => { this.handleNetworkOfferingChange(this.networkOfferings[val]) }">
|
||||
<a-select-option v-for="(opt, optIndex) in this.networkOfferings" :key="optIndex">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('vlan')" v-if="!this.isObjectEmpty(this.selectedNetworkOffering) && this.selectedNetworkOffering.specifyvlan">
|
||||
<a-form-item :label="$t('label.vlan')" v-if="!this.isObjectEmpty(this.selectedNetworkOffering) && this.selectedNetworkOffering.specifyvlan">
|
||||
<a-input
|
||||
v-decorator="['vlanid', {
|
||||
rules: [{ required: true, message: 'Please enter value' }]
|
||||
}]"
|
||||
:placeholder="this.$t('vlanid')"/>
|
||||
:placeholder="this.$t('label.vlanid')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('bypassvlanoverlapcheck')" v-if="!this.isObjectEmpty(this.selectedNetworkOffering) && this.selectedNetworkOffering.specifyvlan">
|
||||
<a-form-item :label="$t('label.bypassvlanoverlapcheck')" v-if="!this.isObjectEmpty(this.selectedNetworkOffering) && this.selectedNetworkOffering.specifyvlan">
|
||||
<a-switch v-decorator="['bypassvlanoverlapcheck']" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('account')" v-if="this.accountVisible">
|
||||
<a-form-item :label="$t('label.account')" v-if="this.accountVisible">
|
||||
<a-input
|
||||
v-decorator="['account', {
|
||||
rules: [
|
||||
{ required: true, message: this.$t('required') }
|
||||
{ required: true, message: this.$t('label.required') }
|
||||
]
|
||||
}]"
|
||||
:placeholder="this.$t('account')"/>
|
||||
:placeholder="this.$t('label.account')"/>
|
||||
</a-form-item>
|
||||
<div :span="24" class="action-button">
|
||||
<a-button
|
||||
:loading="actionLoading"
|
||||
@click="closeAction">
|
||||
{{ this.$t('Cancel') }}
|
||||
{{ this.$t('label.cancel') }}
|
||||
</a-button>
|
||||
<a-button
|
||||
:loading="actionLoading"
|
||||
type="primary"
|
||||
@click="handleSubmit">
|
||||
{{ this.$t('OK') }}
|
||||
{{ this.$t('label.ok') }}
|
||||
</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
|
|
|
|||
|
|
@ -18,21 +18,21 @@
|
|||
<template>
|
||||
<div class="form-layout">
|
||||
<a-tabs defaultActiveKey="1" :animated="false">
|
||||
<a-tab-pane :tab="$t('Isolated')" key="1" v-if="this.isAdvancedZoneWithoutSGAvailable()">
|
||||
<a-tab-pane :tab="$t('label.isolated')" key="1" v-if="this.isAdvancedZoneWithoutSGAvailable()">
|
||||
<CreateIsolatedNetworkForm
|
||||
:loading="loading"
|
||||
@close-action="closeAction"
|
||||
@refresh-data="refreshParent"
|
||||
@refresh="handleRefresh"/>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane :tab="$t('L2')" key="2">
|
||||
<a-tab-pane :tab="$t('label.l2')" key="2">
|
||||
<CreateL2NetworkForm
|
||||
:loading="loading"
|
||||
@close-action="closeAction"
|
||||
@refresh-data="refreshParent"
|
||||
@refresh="handleRefresh"/>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane :tab="$t('Shared')" key="3" v-if="this.isAdmin()">
|
||||
<a-tab-pane :tab="$t('label.shared')" key="3" v-if="this.isAdmin()">
|
||||
<CreateSharedNetworkForm
|
||||
:loading="loading"
|
||||
@close-action="closeAction"
|
||||
|
|
|
|||
|
|
@ -23,21 +23,21 @@
|
|||
:form="form"
|
||||
layout="vertical"
|
||||
@submit="handleSubmit">
|
||||
<a-form-item :label="$t('name')">
|
||||
<a-form-item :label="$t('label.name')">
|
||||
<a-input
|
||||
v-decorator="['name', {
|
||||
rules: [{ required: true, message: 'Please enter name' }]
|
||||
}]"
|
||||
:placeholder="this.$t('Name')"/>
|
||||
:placeholder="this.$t('label.name')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('displaytext')">
|
||||
<a-form-item :label="$t('label.displaytext')">
|
||||
<a-input
|
||||
v-decorator="['displaytext', {
|
||||
rules: [{ required: true, message: 'Please enter display text' }]
|
||||
}]"
|
||||
:placeholder="this.$t('Display text')"/>
|
||||
:placeholder="this.$t('label.display.text')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('zoneid')" v-if="this.isObjectEmpty(this.zone)">
|
||||
<a-form-item :label="$t('label.zoneid')" v-if="this.isObjectEmpty(this.zone)">
|
||||
<a-select
|
||||
v-decorator="['zoneid', {
|
||||
rules: [
|
||||
|
|
@ -53,14 +53,14 @@
|
|||
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
}"
|
||||
:loading="zoneLoading"
|
||||
:placeholder="this.$t('zoneid')"
|
||||
:placeholder="this.$t('label.zoneid')"
|
||||
@change="val => { this.handleZoneChange(this.zones[val]) }">
|
||||
<a-select-option v-for="(opt, optIndex) in this.zones" :key="optIndex">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('physicalnetworkid')" v-if="this.isObjectEmpty(this.zone)">
|
||||
<a-form-item :label="$t('label.physicalnetworkid')" v-if="this.isObjectEmpty(this.zone)">
|
||||
<a-select
|
||||
v-decorator="['physicalnetworkid', {}]"
|
||||
showSearch
|
||||
|
|
@ -69,24 +69,24 @@
|
|||
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
}"
|
||||
:loading="zoneLoading"
|
||||
:placeholder="this.$t('physicalnetworkid')"
|
||||
:placeholder="this.$t('label.physicalnetworkid')"
|
||||
@change="val => { this.handleZoneChange(this.formPhysicalNetworks[val]) }">
|
||||
<a-select-option v-for="(opt, optIndex) in this.formPhysicalNetworks" :key="optIndex">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('vlan')">
|
||||
<a-form-item :label="$t('label.vlan')">
|
||||
<a-input
|
||||
v-decorator="['vlanid', {
|
||||
rules: [{ required: true, message: 'Please enter value' }]
|
||||
}]"
|
||||
:placeholder="this.$t('vlanid')"/>
|
||||
:placeholder="this.$t('label.vlanid')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('bypassvlanoverlapcheck')">
|
||||
<a-form-item :label="$t('label.bypassvlanoverlapcheck')">
|
||||
<a-switch v-decorator="['bypassvlanoverlapcheck']" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('isolatedpvlantype')">
|
||||
<a-form-item :label="$t('label.isolatedpvlantype')">
|
||||
<a-radio-group
|
||||
v-decorator="['isolatedpvlantype', {
|
||||
initialValue: this.isolatePvlanType
|
||||
|
|
@ -94,25 +94,25 @@
|
|||
buttonStyle="solid"
|
||||
@change="selected => { this.handleIsolatedPvlanTypeChange(selected.target.value) }">
|
||||
<a-radio-button value="none">
|
||||
{{ $t('None') }}
|
||||
{{ $t('label.none') }}
|
||||
</a-radio-button>
|
||||
<a-radio-button value="community">
|
||||
{{ $t('Community') }}
|
||||
{{ $t('label.community') }}
|
||||
</a-radio-button>
|
||||
<a-radio-button value="isolated">
|
||||
{{ $t('Isolated') }}
|
||||
{{ $t('label.isolated') }}
|
||||
</a-radio-button>
|
||||
<a-radio-button value="promiscuous">
|
||||
{{ $t('Promiscuous') }}
|
||||
{{ $t('label.promiscuous') }}
|
||||
</a-radio-button>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('isolatedpvlan')" v-if="this.isolatePvlanType=='community' || this.isolatePvlanType=='isolated'">
|
||||
<a-form-item :label="$t('label.isolatedpvlan')" v-if="this.isolatePvlanType=='community' || this.isolatePvlanType=='isolated'">
|
||||
<a-input
|
||||
v-decorator="['isolatedpvlan', {}]"
|
||||
:placeholder="this.$t('isolatedpvlan')"/>
|
||||
:placeholder="this.$t('label.isolatedpvlan')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('scope')">
|
||||
<a-form-item :label="$t('label.scope')">
|
||||
<a-radio-group
|
||||
v-decorator="['scope', {
|
||||
initialValue: this.scopeType
|
||||
|
|
@ -120,20 +120,20 @@
|
|||
buttonStyle="solid"
|
||||
@change="selected => { this.handleScopeTypeChange(selected.target.value) }">
|
||||
<a-radio-button value="all">
|
||||
{{ $t('All') }}
|
||||
{{ $t('label.all') }}
|
||||
</a-radio-button>
|
||||
<a-radio-button value="domain" v-if="!this.parseBooleanValueForKey(this.selectedZone, 'securitygroupsenabled')">
|
||||
{{ $t('Domain') }}
|
||||
{{ $t('label.domain') }}
|
||||
</a-radio-button>
|
||||
<a-radio-button value="account" v-if="!this.parseBooleanValueForKey(this.selectedZone, 'securitygroupsenabled')">
|
||||
{{ $t('Account') }}
|
||||
{{ $t('label.account') }}
|
||||
</a-radio-button>
|
||||
<a-radio-button value="project" v-if="!this.parseBooleanValueForKey(this.selectedZone, 'securitygroupsenabled')">
|
||||
{{ $t('Project') }}
|
||||
{{ $t('label.project') }}
|
||||
</a-radio-button>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('domain')" v-if="this.scopeType !== 'all'">
|
||||
<a-form-item :label="$t('label.domain')" v-if="this.scopeType !== 'all'">
|
||||
<a-select
|
||||
v-decorator="['domainid', {
|
||||
rules: [
|
||||
|
|
@ -149,22 +149,22 @@
|
|||
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
}"
|
||||
:loading="domainLoading"
|
||||
:placeholder="this.$t('domainid')"
|
||||
:placeholder="this.$t('label.domainid')"
|
||||
@change="val => { this.handleDomainChange(this.domains[val]) }">
|
||||
<a-select-option v-for="(opt, optIndex) in this.domains" :key="optIndex">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('subdomainaccess')" v-if="this.scopeType === 'domain'">
|
||||
<a-form-item :label="$t('label.subdomainaccess')" v-if="this.scopeType === 'domain'">
|
||||
<a-switch v-decorator="['subdomainaccess']" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('account')" v-if="this.scopeType === 'account'">
|
||||
<a-form-item :label="$t('label.account')" v-if="this.scopeType === 'account'">
|
||||
<a-input
|
||||
v-decorator="['account', {}]"
|
||||
:placeholder="this.$t('account')"/>
|
||||
:placeholder="this.$t('label.account')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('projectid')" v-if="this.scopeType === 'project'">
|
||||
<a-form-item :label="$t('label.projectid')" v-if="this.scopeType === 'project'">
|
||||
<a-select
|
||||
v-decorator="['projectid', {
|
||||
rules: [
|
||||
|
|
@ -180,14 +180,14 @@
|
|||
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
}"
|
||||
:loading="projectLoading"
|
||||
:placeholder="this.$t('projectid')"
|
||||
:placeholder="this.$t('label.projectid')"
|
||||
@change="val => { this.handleProjectChange(this.projects[val]) }">
|
||||
<a-select-option v-for="(opt, optIndex) in this.projects" :key="optIndex">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('networkofferingid')">
|
||||
<a-form-item :label="$t('label.networkofferingid')">
|
||||
<a-select
|
||||
v-decorator="['networkofferingid', {
|
||||
rules: [
|
||||
|
|
@ -203,72 +203,72 @@
|
|||
return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
}"
|
||||
:loading="networkOfferingLoading"
|
||||
:placeholder="this.$t('networkofferingid')"
|
||||
:placeholder="this.$t('label.networkofferingid')"
|
||||
@change="val => { this.handleNetworkOfferingChange(this.networkOfferings[val]) }">
|
||||
<a-select-option v-for="(opt, optIndex) in this.networkOfferings" :key="optIndex">
|
||||
{{ opt.name || opt.description }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('ip4gateway')">
|
||||
<a-form-item :label="$t('label.ip4gateway')">
|
||||
<a-input
|
||||
v-decorator="['ip4gateway', {}]"
|
||||
:placeholder="this.$t('ip4gateway')"/>
|
||||
:placeholder="this.$t('label.ip4gateway')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('ip4Netmask')">
|
||||
<a-form-item :label="$t('label.ip4netmask')">
|
||||
<a-input
|
||||
v-decorator="['netmask', {}]"
|
||||
:placeholder="this.$t('netmask')"/>
|
||||
:placeholder="this.$t('label.netmask')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('startipv4')">
|
||||
<a-form-item :label="$t('label.startipv4')">
|
||||
<a-input
|
||||
v-decorator="['startipv4', {}]"
|
||||
:placeholder="this.$t('startipv4')"/>
|
||||
:placeholder="this.$t('label.startipv4')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('endipv4')">
|
||||
<a-form-item :label="$t('label.endipv4')">
|
||||
<a-input
|
||||
v-decorator="['endipv4', {}]"
|
||||
:placeholder="this.$t('endipv4')"/>
|
||||
:placeholder="this.$t('label.endipv4')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('ip6gateway')">
|
||||
<a-form-item :label="$t('label.ip6gateway')">
|
||||
<a-input
|
||||
v-decorator="['ip6gateway', {}]"
|
||||
:placeholder="this.$t('ip6gateway')"/>
|
||||
:placeholder="this.$t('label.ip6gateway')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('ip6cidr')">
|
||||
<a-form-item :label="$t('label.ip6cidr')">
|
||||
<a-input
|
||||
v-decorator="['ip6cidr', {}]"
|
||||
:placeholder="this.$t('ip6cidr')"/>
|
||||
:placeholder="this.$t('label.ip6cidr')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('startipv6')">
|
||||
<a-form-item :label="$t('label.startipv6')">
|
||||
<a-input
|
||||
v-decorator="['startipv6', {}]"
|
||||
:placeholder="this.$t('startipv6')"/>
|
||||
:placeholder="this.$t('label.startipv6')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('endipv6')">
|
||||
<a-form-item :label="$t('label.endipv6')">
|
||||
<a-input
|
||||
v-decorator="['endipv6', {}]"
|
||||
:placeholder="this.$t('endipv6')"/>
|
||||
:placeholder="this.$t('label.endipv6')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('networkdomain')">
|
||||
<a-form-item :label="$t('label.networkdomain')">
|
||||
<a-input
|
||||
v-decorator="['networkdomain', {}]"
|
||||
:placeholder="this.$t('networkdomain')"/>
|
||||
:placeholder="this.$t('label.networkdomain')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('hideipaddressusage')">
|
||||
<a-form-item :label="$t('label.hideipaddressusage')">
|
||||
<a-switch v-decorator="['hideipaddressusage']" />
|
||||
</a-form-item>
|
||||
<div :span="24" class="action-button">
|
||||
<a-button
|
||||
:loading="actionLoading"
|
||||
@click="closeAction">
|
||||
{{ this.$t('Cancel') }}
|
||||
{{ this.$t('label.cancel') }}
|
||||
</a-button>
|
||||
<a-button
|
||||
:loading="actionLoading"
|
||||
type="primary"
|
||||
@click="handleSubmit">
|
||||
{{ this.$t('OK') }}
|
||||
{{ this.$t('label.ok') }}
|
||||
</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
<template>
|
||||
<div>
|
||||
<a-form class="form-layout" :form="form" layout="vertical">
|
||||
<a-form-item :label="$t('name')">
|
||||
<a-form-item :label="$t('label.name')">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'name',
|
||||
|
|
@ -25,9 +25,9 @@
|
|||
rules: [{ required: true, message: 'required' }],
|
||||
}
|
||||
]"
|
||||
:placeholder="$t('vpncustomergatewayname')" />
|
||||
:placeholder="$t('label.vpncustomergatewayname')" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('gateway')">
|
||||
<a-form-item :label="$t('label.gateway')">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'gateway',
|
||||
|
|
@ -35,9 +35,9 @@
|
|||
rules: [{ required: true, message: 'required'}],
|
||||
}
|
||||
]"
|
||||
:placeholder="$t('vpncustomergateway')" />
|
||||
:placeholder="$t('label.vpncustomergateway')" />
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('cidrlist')">
|
||||
<a-form-item :label="$t('label.cidrlist')">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'cidrlist',
|
||||
|
|
@ -45,10 +45,10 @@
|
|||
rules: [{ required: true, message: 'required'}],
|
||||
}
|
||||
]"
|
||||
:placeholder="$t('vpncustomergateway_cidrlist')" />
|
||||
:placeholder="$t('label.vpncustomergateway.cidrlist')" />
|
||||
</a-form-item>
|
||||
<a-form-item
|
||||
:label="$t('ipsecpsk')">
|
||||
:label="$t('label.ipsecpsk')">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'ipsecpsk',
|
||||
|
|
@ -56,10 +56,10 @@
|
|||
rules: [{ required: true, message: 'required'}],
|
||||
}
|
||||
]"
|
||||
:placeholder="$t('vpncustomergateway_secretkey')" />
|
||||
:placeholder="$t('label.vpncustomergateway.secretkey')" />
|
||||
</a-form-item>
|
||||
<a-form-item
|
||||
:label="$t('ikeEncryption')">
|
||||
:label="$t('label.ikeencryption')">
|
||||
<a-select
|
||||
v-decorator="[
|
||||
'ikeEncryption',
|
||||
|
|
@ -73,7 +73,7 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item
|
||||
:label="$t('ikeHash')">
|
||||
:label="$t('label.ikehash')">
|
||||
<a-select
|
||||
v-decorator="[
|
||||
'ikeHash',
|
||||
|
|
@ -87,7 +87,7 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item
|
||||
:label="$t('ikeDh')">
|
||||
:label="$t('label.ikedh')">
|
||||
<a-select
|
||||
v-decorator="[
|
||||
'ikeDh',
|
||||
|
|
@ -103,7 +103,7 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item
|
||||
:label="$t('espEncryption')">
|
||||
:label="$t('label.espencryption')">
|
||||
<a-select
|
||||
v-decorator="[
|
||||
'espEncryption',
|
||||
|
|
@ -117,7 +117,7 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item
|
||||
:label="$t('espHash')">
|
||||
:label="$t('label.esphash')">
|
||||
<a-select
|
||||
v-decorator="[
|
||||
'espHash',
|
||||
|
|
@ -131,7 +131,7 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item
|
||||
:label="$t('perfectForwardSecrecy')">
|
||||
:label="$t('label.perfectforwardsecrecy')">
|
||||
<a-select
|
||||
v-decorator="[
|
||||
'perfectForwardSecrecy',
|
||||
|
|
@ -150,7 +150,7 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item
|
||||
:label="$t('ikelifetime')">
|
||||
:label="$t('label.ikelifetime')">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'ikelifetime',
|
||||
|
|
@ -158,10 +158,10 @@
|
|||
initialValue: '86400',
|
||||
},
|
||||
]"
|
||||
:placeholder="$t('vpncustomergateway_ikelifetime')"/>
|
||||
:placeholder="$t('label.vpncustomergateway.ikelifetime')"/>
|
||||
</a-form-item>
|
||||
<a-form-item
|
||||
:label="$t('esplifetime')">
|
||||
:label="$t('label.esplifetime')">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'esplifetime',
|
||||
|
|
@ -169,9 +169,9 @@
|
|||
initialValue: '3600',
|
||||
},
|
||||
]"
|
||||
:placeholder="$t('vpncustomergateway_esplifetime')"/>
|
||||
:placeholder="$t('label.vpncustomergateway.esplifetime')"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('dpd')">
|
||||
<a-form-item :label="$t('label.dpd')">
|
||||
<a-switch
|
||||
v-decorator="[
|
||||
'dpd',
|
||||
|
|
@ -180,7 +180,7 @@
|
|||
},
|
||||
]"/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="$t('forceencap')">
|
||||
<a-form-item :label="$t('label.forceencap')">
|
||||
<a-switch
|
||||
v-decorator="[
|
||||
'forceencap',
|
||||
|
|
@ -191,10 +191,10 @@
|
|||
</a-form-item>
|
||||
<div class="actions">
|
||||
<a-button @click="closeModal">
|
||||
{{ $t('Cancel') }}
|
||||
{{ $t('label.cancel') }}
|
||||
</a-button>
|
||||
<a-button type="primary" @click="handleSubmit">
|
||||
{{ $t('OK') }}
|
||||
{{ $t('label.ok') }}
|
||||
</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
|
|
|
|||
|
|
@ -20,15 +20,15 @@
|
|||
<div>
|
||||
<div class="form">
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('sourcecidr') }}</div>
|
||||
<div class="form__label">{{ $t('label.sourcecidr') }}</div>
|
||||
<a-input v-model="newRule.cidrlist"></a-input>
|
||||
</div>
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('destcidr') }}</div>
|
||||
<div class="form__label">{{ $t('label.destcidr') }}</div>
|
||||
<a-input v-model="newRule.destcidrlist"></a-input>
|
||||
</div>
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('protocol') }}</div>
|
||||
<div class="form__label">{{ $t('label.protocol') }}</div>
|
||||
<a-select v-model="newRule.protocol" style="width: 100%;" @change="resetRulePorts">
|
||||
<a-select-option value="tcp">TCP</a-select-option>
|
||||
<a-select-option value="udp">UDP</a-select-option>
|
||||
|
|
@ -37,23 +37,23 @@
|
|||
</a-select>
|
||||
</div>
|
||||
<div v-show="newRule.protocol === 'tcp' || newRule.protocol === 'udp'" class="form__item">
|
||||
<div class="form__label">{{ $t('startport') }}</div>
|
||||
<div class="form__label">{{ $t('label.startport') }}</div>
|
||||
<a-input v-model="newRule.startport"></a-input>
|
||||
</div>
|
||||
<div v-show="newRule.protocol === 'tcp' || newRule.protocol === 'udp'" class="form__item">
|
||||
<div class="form__label">{{ $t('endport') }}</div>
|
||||
<div class="form__label">{{ $t('label.endport') }}</div>
|
||||
<a-input v-model="newRule.endport"></a-input>
|
||||
</div>
|
||||
<div v-show="newRule.protocol === 'icmp'" class="form__item">
|
||||
<div class="form__label">{{ $t('icmptype') }}</div>
|
||||
<div class="form__label">{{ $t('label.icmptype') }}</div>
|
||||
<a-input v-model="newRule.icmptype"></a-input>
|
||||
</div>
|
||||
<div v-show="newRule.protocol === 'icmp'" class="form__item">
|
||||
<div class="form__label">{{ $t('icmpcode') }}</div>
|
||||
<div class="form__label">{{ $t('label.icmpcode') }}</div>
|
||||
<a-input v-model="newRule.icmpcode"></a-input>
|
||||
</div>
|
||||
<div class="form__item">
|
||||
<a-button type="primary" icon="plus" @click="addRule">{{ $t('add') }}</a-button>
|
||||
<a-button type="primary" icon="plus" @click="addRule">{{ $t('label.add') }}</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -126,15 +126,15 @@ export default {
|
|||
pageSize: 10,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('sourcecidr'),
|
||||
title: this.$t('label.sourcecidr'),
|
||||
dataIndex: 'cidrlist'
|
||||
},
|
||||
{
|
||||
title: this.$t('destcidr'),
|
||||
title: this.$t('label.destcidr'),
|
||||
dataIndex: 'destcidrlist'
|
||||
},
|
||||
{
|
||||
title: this.$t('protocol'),
|
||||
title: this.$t('label.protocol'),
|
||||
scopedSlots: { customRender: 'protocol' }
|
||||
},
|
||||
{
|
||||
|
|
@ -146,7 +146,7 @@ export default {
|
|||
scopedSlots: { customRender: 'endport' }
|
||||
},
|
||||
{
|
||||
title: this.$t('action'),
|
||||
title: this.$t('label.action'),
|
||||
scopedSlots: { customRender: 'actions' }
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -81,8 +81,8 @@
|
|||
showSizeChanger/>
|
||||
|
||||
<div class="list__footer">
|
||||
<a-button @click="handleClose">{{ $t('cancel') }}</a-button>
|
||||
<a-button @click="handleSubmit" type="primary" :disabled="!selectedVm || !selectedNic">{{ $t('OK') }}</a-button>
|
||||
<a-button @click="handleClose">{{ $t('label.cancel') }}</a-button>
|
||||
<a-button @click="handleSubmit" type="primary" :disabled="!selectedVm || !selectedNic">{{ $t('label.ok') }}</a-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
@ -113,27 +113,27 @@ export default {
|
|||
selectedNic: null,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('name'),
|
||||
title: this.$t('label.name'),
|
||||
scopedSlots: { customRender: 'name' }
|
||||
},
|
||||
{
|
||||
title: this.$t('instancename'),
|
||||
title: this.$t('label.instancename'),
|
||||
dataIndex: 'instancename'
|
||||
},
|
||||
{
|
||||
title: this.$t('displayname'),
|
||||
title: this.$t('label.displayname'),
|
||||
dataIndex: 'displayname'
|
||||
},
|
||||
{
|
||||
title: this.$t('account'),
|
||||
title: this.$t('label.account'),
|
||||
dataIndex: 'account'
|
||||
},
|
||||
{
|
||||
title: this.$t('zonenamelabel'),
|
||||
title: this.$t('label.zonenamelabel'),
|
||||
dataIndex: 'zonename'
|
||||
},
|
||||
{
|
||||
title: this.$t('state'),
|
||||
title: this.$t('label.state'),
|
||||
dataIndex: 'state',
|
||||
scopedSlots: { customRender: 'state' }
|
||||
},
|
||||
|
|
|
|||
|
|
@ -20,35 +20,35 @@
|
|||
<div>
|
||||
<div class="form">
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('sourcecidr') }}</div>
|
||||
<div class="form__label">{{ $t('label.sourcecidr') }}</div>
|
||||
<a-input v-model="newRule.cidrlist"></a-input>
|
||||
</div>
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('protocol') }}</div>
|
||||
<div class="form__label">{{ $t('label.protocol') }}</div>
|
||||
<a-select v-model="newRule.protocol" style="width: 100%;" @change="resetRulePorts">
|
||||
<a-select-option value="tcp">{{ $t('tcp') }}</a-select-option>
|
||||
<a-select-option value="udp">{{ $t('udp') }}</a-select-option>
|
||||
<a-select-option value="icmp">{{ $t('icmp') }}</a-select-option>
|
||||
<a-select-option value="tcp">{{ $t('label.tcp') }}</a-select-option>
|
||||
<a-select-option value="udp">{{ $t('label.udp') }}</a-select-option>
|
||||
<a-select-option value="icmp">{{ $t('label.icmp') }}</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
<div v-show="newRule.protocol === 'tcp' || newRule.protocol === 'udp'" class="form__item">
|
||||
<div class="form__label">{{ $t('startport') }}</div>
|
||||
<div class="form__label">{{ $t('label.startport') }}</div>
|
||||
<a-input v-model="newRule.startport"></a-input>
|
||||
</div>
|
||||
<div v-show="newRule.protocol === 'tcp' || newRule.protocol === 'udp'" class="form__item">
|
||||
<div class="form__label">{{ $t('endport') }}</div>
|
||||
<div class="form__label">{{ $t('label.endport') }}</div>
|
||||
<a-input v-model="newRule.endport"></a-input>
|
||||
</div>
|
||||
<div v-show="newRule.protocol === 'icmp'" class="form__item">
|
||||
<div class="form__label">{{ $t('icmptype') }}</div>
|
||||
<div class="form__label">{{ $t('label.icmptype') }}</div>
|
||||
<a-input v-model="newRule.icmptype"></a-input>
|
||||
</div>
|
||||
<div v-show="newRule.protocol === 'icmp'" class="form__item">
|
||||
<div class="form__label">{{ $t('icmpcode') }}</div>
|
||||
<div class="form__label">{{ $t('label.icmpcode') }}</div>
|
||||
<a-input v-model="newRule.icmpcode"></a-input>
|
||||
</div>
|
||||
<div class="form__item" style="margin-left: auto;">
|
||||
<a-button type="primary" @click="addRule">{{ $t('add') }}</a-button>
|
||||
<a-button type="primary" @click="addRule">{{ $t('label.add') }}</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -67,10 +67,10 @@
|
|||
{{ record.protocol | capitalise }}
|
||||
</template>
|
||||
<template slot="startport" slot-scope="record">
|
||||
{{ record.icmptype || record.startport >= 0 ? record.icmptype || record.startport : $t('all') }}
|
||||
{{ record.icmptype || record.startport >= 0 ? record.icmptype || record.startport : $t('label.all') }}
|
||||
</template>
|
||||
<template slot="endport" slot-scope="record">
|
||||
{{ record.icmpcode || record.endport >= 0 ? record.icmpcode || record.endport : $t('all') }}
|
||||
{{ record.icmpcode || record.endport >= 0 ? record.icmpcode || record.endport : $t('label.all') }}
|
||||
</template>
|
||||
<template slot="actions" slot-scope="record">
|
||||
<div class="actions">
|
||||
|
|
@ -94,14 +94,14 @@
|
|||
<a-modal title="Edit Tags" v-model="tagsModalVisible" :footer="null" :afterClose="closeModal">
|
||||
<div class="add-tags">
|
||||
<div class="add-tags__input">
|
||||
<p class="add-tags__label">{{ $t('key') }}</p>
|
||||
<p class="add-tags__label">{{ $t('label.key') }}</p>
|
||||
<a-input v-model="newTag.key"></a-input>
|
||||
</div>
|
||||
<div class="add-tags__input">
|
||||
<p class="add-tags__label">{{ $t('value') }}</p>
|
||||
<p class="add-tags__label">{{ $t('label.value') }}</p>
|
||||
<a-input v-model="newTag.value"></a-input>
|
||||
</div>
|
||||
<a-button type="primary" @click="() => handleAddTag()" :loading="addTagLoading">{{ $t('add') }}</a-button>
|
||||
<a-button type="primary" @click="() => handleAddTag()" :loading="addTagLoading">{{ $t('label.add') }}</a-button>
|
||||
</div>
|
||||
|
||||
<a-divider></a-divider>
|
||||
|
|
@ -114,7 +114,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<a-button class="add-tags-done" @click="tagsModalVisible = false" type="primary">{{ $t('done') }}</a-button>
|
||||
<a-button class="add-tags-done" @click="tagsModalVisible = false" type="primary">{{ $t('label.done') }}</a-button>
|
||||
</a-modal>
|
||||
|
||||
</div>
|
||||
|
|
@ -157,27 +157,27 @@ export default {
|
|||
pageSize: 10,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('sourcecidr'),
|
||||
title: this.$t('label.sourcecidr'),
|
||||
dataIndex: 'cidrlist'
|
||||
},
|
||||
{
|
||||
title: this.$t('protocol'),
|
||||
title: this.$t('label.protocol'),
|
||||
scopedSlots: { customRender: 'protocol' }
|
||||
},
|
||||
{
|
||||
title: `${this.$t('startport')}/${this.$t('icmptype')}`,
|
||||
title: `${this.$t('label.startport')}/${this.$t('label.icmptype')}`,
|
||||
scopedSlots: { customRender: 'startport' }
|
||||
},
|
||||
{
|
||||
title: `${this.$t('endport')}/${this.$t('icmpcode')}`,
|
||||
title: `${this.$t('label.endport')}/${this.$t('label.icmpcode')}`,
|
||||
scopedSlots: { customRender: 'endport' }
|
||||
},
|
||||
{
|
||||
title: this.$t('state'),
|
||||
title: this.$t('label.state'),
|
||||
dataIndex: 'state'
|
||||
},
|
||||
{
|
||||
title: this.$t('action'),
|
||||
title: this.$t('label.action'),
|
||||
scopedSlots: { customRender: 'actions' }
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -29,27 +29,27 @@
|
|||
|
||||
<div class="form">
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('protocol') }}</div>
|
||||
<div class="form__label">{{ $t('label.protocol') }}</div>
|
||||
<a-select v-model="newRule.protocol" style="width: 100%;" @change="resetRulePorts">
|
||||
<a-select-option value="tcp">{{ $t('tcp') | capitalise }}</a-select-option>
|
||||
<a-select-option value="udp">{{ $t('udp') | capitalise }}</a-select-option>
|
||||
<a-select-option value="icmp">{{ $t('icmp') | capitalise }}</a-select-option>
|
||||
<a-select-option value="tcp">{{ $t('label.tcp') | capitalise }}</a-select-option>
|
||||
<a-select-option value="udp">{{ $t('label.udp') | capitalise }}</a-select-option>
|
||||
<a-select-option value="icmp">{{ $t('label.icmp') | capitalise }}</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
<div v-show="newRule.protocol === 'tcp' || newRule.protocol === 'udp'" class="form__item">
|
||||
<div class="form__label">{{ $t('startport') }}</div>
|
||||
<div class="form__label">{{ $t('label.startport') }}</div>
|
||||
<a-input v-model="newRule.startport"></a-input>
|
||||
</div>
|
||||
<div v-show="newRule.protocol === 'tcp' || newRule.protocol === 'udp'" class="form__item">
|
||||
<div class="form__label">{{ $t('endport') }}</div>
|
||||
<div class="form__label">{{ $t('label.endport') }}</div>
|
||||
<a-input v-model="newRule.endport"></a-input>
|
||||
</div>
|
||||
<div v-show="newRule.protocol === 'icmp'" class="form__item">
|
||||
<div class="form__label">{{ $t('icmptype') }}</div>
|
||||
<div class="form__label">{{ $t('label.icmptype') }}</div>
|
||||
<a-input v-model="newRule.icmptype"></a-input>
|
||||
</div>
|
||||
<div v-show="newRule.protocol === 'icmp'" class="form__item">
|
||||
<div class="form__label">{{ $t('icmpcode') }}</div>
|
||||
<div class="form__label">{{ $t('label.icmpcode') }}</div>
|
||||
<a-input v-model="newRule.icmpcode"></a-input>
|
||||
</div>
|
||||
<div class="form__item" v-if="addType === 'cidr'">
|
||||
|
|
@ -103,13 +103,13 @@
|
|||
<div v-else>
|
||||
<a-form :form="newTagsForm" class="add-tags" @submit="handleAddTag">
|
||||
<div class="add-tags__input">
|
||||
<p class="add-tags__label">{{ $t('key') }}</p>
|
||||
<p class="add-tags__label">{{ $t('label.key') }}</p>
|
||||
<a-form-item>
|
||||
<a-input v-decorator="['key', { rules: [{ required: true, message: 'Please specify a tag key'}] }]" />
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div class="add-tags__input">
|
||||
<p class="add-tags__label">{{ $t('value') }}</p>
|
||||
<p class="add-tags__label">{{ $t('label.value') }}</p>
|
||||
<a-form-item>
|
||||
<a-input v-decorator="['value', { rules: [{ required: true, message: 'Please specify a tag value'}] }]" />
|
||||
</a-form-item>
|
||||
|
|
@ -127,7 +127,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<a-button class="add-tags-done" @click="tagsModalVisible = false" type="primary">{{ $t('OK') }}</a-button>
|
||||
<a-button class="add-tags-done" @click="tagsModalVisible = false" type="primary">{{ $t('label.ok') }}</a-button>
|
||||
</div>
|
||||
|
||||
</a-modal>
|
||||
|
|
@ -174,15 +174,15 @@ export default {
|
|||
tabType: null,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('protocol'),
|
||||
title: this.$t('label.protocol'),
|
||||
scopedSlots: { customRender: 'protocol' }
|
||||
},
|
||||
{
|
||||
title: this.$t('startport'),
|
||||
title: this.$t('label.startport'),
|
||||
dataIndex: 'startport'
|
||||
},
|
||||
{
|
||||
title: this.$t('endport'),
|
||||
title: this.$t('label.endport'),
|
||||
dataIndex: 'endport'
|
||||
},
|
||||
{
|
||||
|
|
@ -202,7 +202,7 @@ export default {
|
|||
scopedSlots: { customRender: 'account' }
|
||||
},
|
||||
{
|
||||
title: this.$t('action'),
|
||||
title: this.$t('label.action'),
|
||||
scopedSlots: { customRender: 'actions' }
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -19,14 +19,14 @@
|
|||
<a-spin :spinning="fetchLoading">
|
||||
<div>
|
||||
<div class="vm-modal__header">
|
||||
<span style="min-width: 200px;">{{ $t('name') }}</span>
|
||||
<span>{{ $t('state') }}</span>
|
||||
<span>{{ $t('instancename') }}</span>
|
||||
<span>{{ $t('displayname') }}</span>
|
||||
<span>{{ $t('ip') }}</span>
|
||||
<span>{{ $t('account') }}</span>
|
||||
<span>{{ $t('zonenamelabel') }}</span>
|
||||
<span>{{ $t('select') }}</span>
|
||||
<span style="min-width: 200px;">{{ $t('label.name') }}</span>
|
||||
<span>{{ $t('label.state') }}</span>
|
||||
<span>{{ $t('label.instancename') }}</span>
|
||||
<span>{{ $t('label.displayname') }}</span>
|
||||
<span>{{ $t('label.ip') }}</span>
|
||||
<span>{{ $t('label.account') }}</span>
|
||||
<span>{{ $t('label.zonenamelabel') }}</span>
|
||||
<span>{{ $t('label.select') }}</span>
|
||||
</div>
|
||||
|
||||
<a-checkbox-group style="width: 100%;">
|
||||
|
|
@ -70,10 +70,10 @@
|
|||
</div>
|
||||
<div class="actions">
|
||||
<a-button @click="closeModal">
|
||||
{{ $t('Cancel') }}
|
||||
{{ $t('label.cancel') }}
|
||||
</a-button>
|
||||
<a-button type="primary" @click="handleSubmit">
|
||||
{{ $t('OK') }}
|
||||
{{ $t('label.ok') }}
|
||||
</a-button>
|
||||
</div>
|
||||
</a-spin>
|
||||
|
|
|
|||
|
|
@ -76,12 +76,12 @@ export default {
|
|||
totalInstances: 0,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('name'),
|
||||
title: this.$t('label.name'),
|
||||
dataIndex: 'displayname',
|
||||
scopedSlots: { customRender: 'displayname' }
|
||||
},
|
||||
{
|
||||
title: this.$t('ipaddress'),
|
||||
title: this.$t('label.ipaddress'),
|
||||
dataIndex: 'ipaddress',
|
||||
scopedSlots: { customRender: 'ipaddress' }
|
||||
},
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
<template>
|
||||
<a-spin :spinning="fetchLoading">
|
||||
<a-button type="dashed" icon="plus" style="width: 100%; margin-bottom: 15px" @click="acquireIpAddress">
|
||||
{{ $t("label.acquire.new.ip") }}
|
||||
{{ $t('label.acquire.new.ip') }}
|
||||
</a-button>
|
||||
<div v-if="$route.path.startsWith('/vpc')">
|
||||
Select Tier:
|
||||
|
|
@ -30,7 +30,7 @@
|
|||
@change="handleTierSelect"
|
||||
>
|
||||
<a-select-option key="all" value="">
|
||||
{{ $t('Show All') }}
|
||||
{{ $t('label.show.all') }}
|
||||
</a-select-option>
|
||||
<a-select-option v-for="network in networksList" :key="network.id" :value="network.id">
|
||||
{{ network.name }}
|
||||
|
|
@ -118,22 +118,22 @@ export default {
|
|||
tiersSelect: false,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('ipaddress'),
|
||||
title: this.$t('label.ipaddress'),
|
||||
dataIndex: 'ipaddress',
|
||||
scopedSlots: { customRender: 'ipaddress' }
|
||||
},
|
||||
{
|
||||
title: this.$t('state'),
|
||||
title: this.$t('label.state'),
|
||||
dataIndex: 'state',
|
||||
scopedSlots: { customRender: 'state' }
|
||||
},
|
||||
{
|
||||
title: this.$t('vm'),
|
||||
title: this.$t('label.vm'),
|
||||
dataIndex: 'virtualmachineid',
|
||||
scopedSlots: { customRender: 'virtualmachineid' }
|
||||
},
|
||||
{
|
||||
title: this.$t('Network'),
|
||||
title: this.$t('label.network'),
|
||||
dataIndex: 'associatednetworkname',
|
||||
scopedSlots: { customRender: 'associatednetworkname' }
|
||||
},
|
||||
|
|
|
|||
|
|
@ -20,22 +20,22 @@
|
|||
<div>
|
||||
<div class="form">
|
||||
<div class="form__item" ref="newRuleName">
|
||||
<div class="form__label"><span class="form__required">*</span>{{ $t('name') }}</div>
|
||||
<div class="form__label"><span class="form__required">*</span>{{ $t('label.name') }}</div>
|
||||
<a-input v-model="newRule.name"></a-input>
|
||||
<span class="error-text">Required</span>
|
||||
</div>
|
||||
<div class="form__item" ref="newRulePublicPort">
|
||||
<div class="form__label"><span class="form__required">*</span>{{ $t('publicport') }}</div>
|
||||
<div class="form__label"><span class="form__required">*</span>{{ $t('label.publicport') }}</div>
|
||||
<a-input v-model="newRule.publicport"></a-input>
|
||||
<span class="error-text">Required</span>
|
||||
</div>
|
||||
<div class="form__item" ref="newRulePrivatePort">
|
||||
<div class="form__label"><span class="form__required">*</span>{{ $t('privateport') }}</div>
|
||||
<div class="form__label"><span class="form__required">*</span>{{ $t('label.privateport') }}</div>
|
||||
<a-input v-model="newRule.privateport"></a-input>
|
||||
<span class="error-text">Required</span>
|
||||
</div>
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('algorithm') }}</div>
|
||||
<div class="form__label">{{ $t('label.algorithm') }}</div>
|
||||
<a-select v-model="newRule.algorithm">
|
||||
<a-select-option value="roundrobin">Round-robin</a-select-option>
|
||||
<a-select-option value="leastconn">Least connections</a-select-option>
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
</a-select>
|
||||
</div>
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('protocol') }}</div>
|
||||
<div class="form__label">{{ $t('label.protocol') }}</div>
|
||||
<a-select v-model="newRule.protocol" style="min-width: 100px">
|
||||
<a-select-option value="tcp-proxy">TCP Proxy</a-select-option>
|
||||
<a-select-option value="tcp">TCP</a-select-option>
|
||||
|
|
@ -80,7 +80,7 @@
|
|||
</template>
|
||||
<template slot="add" slot-scope="record">
|
||||
<a-button type="primary" icon="plus" @click="() => { selectedRule = record; handleOpenAddVMModal() }">
|
||||
{{ $t('add') }}
|
||||
{{ $t('label.add') }}
|
||||
</a-button>
|
||||
</template>
|
||||
<template slot="expandedRowRender" slot-scope="record">
|
||||
|
|
@ -138,13 +138,13 @@
|
|||
|
||||
<a-form :form="newTagsForm" class="add-tags" @submit="handleAddTag">
|
||||
<div class="add-tags__input">
|
||||
<p class="add-tags__label">{{ $t('key') }}</p>
|
||||
<p class="add-tags__label">{{ $t('label.key') }}</p>
|
||||
<a-form-item>
|
||||
<a-input v-decorator="['key', { rules: [{ required: true, message: 'Please specify a tag key'}] }]" />
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div class="add-tags__input">
|
||||
<p class="add-tags__label">{{ $t('value') }}</p>
|
||||
<p class="add-tags__label">{{ $t('label.value') }}</p>
|
||||
<a-form-item>
|
||||
<a-input v-decorator="['value', { rules: [{ required: true, message: 'Please specify a tag value'}] }]" />
|
||||
</a-form-item>
|
||||
|
|
@ -162,7 +162,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<a-button class="add-tags-done" @click="tagsModalVisible = false" type="primary">{{ $t('done') }}</a-button>
|
||||
<a-button class="add-tags-done" @click="tagsModalVisible = false" type="primary">{{ $t('label.done') }}</a-button>
|
||||
</a-modal>
|
||||
|
||||
<a-modal
|
||||
|
|
@ -244,11 +244,11 @@
|
|||
|
||||
<div class="edit-rule" v-if="selectedRule">
|
||||
<div class="edit-rule__item">
|
||||
<p class="edit-rule__label">{{ $t('name') }}</p>
|
||||
<p class="edit-rule__label">{{ $t('label.name') }}</p>
|
||||
<a-input v-model="editRuleDetails.name" />
|
||||
</div>
|
||||
<div class="edit-rule__item">
|
||||
<p class="edit-rule__label">{{ $t('algorithm') }}</p>
|
||||
<p class="edit-rule__label">{{ $t('label.algorithm') }}</p>
|
||||
<a-select v-model="editRuleDetails.algorithm">
|
||||
<a-select-option value="roundrobin">Round-robin</a-select-option>
|
||||
<a-select-option value="leastconn">Least connections</a-select-option>
|
||||
|
|
@ -256,7 +256,7 @@
|
|||
</a-select>
|
||||
</div>
|
||||
<div class="edit-rule__item">
|
||||
<p class="edit-rule__label">{{ $t('protocol') }}</p>
|
||||
<p class="edit-rule__label">{{ $t('label.protocol') }}</p>
|
||||
<a-select v-model="editRuleDetails.protocol">
|
||||
<a-select-option value="tcp-proxy">TCP proxy</a-select-option>
|
||||
<a-select-option value="tcp">TCP</a-select-option>
|
||||
|
|
@ -281,14 +281,14 @@
|
|||
|
||||
<div v-else>
|
||||
<div class="vm-modal__header">
|
||||
<span style="min-width: 200px;">{{ $t('name') }}</span>
|
||||
<span>{{ $t('instancename') }}</span>
|
||||
<span>{{ $t('displayname') }}</span>
|
||||
<span>{{ $t('ip') }}</span>
|
||||
<span>{{ $t('account') }}</span>
|
||||
<span>{{ $t('zonenamelabel') }}</span>
|
||||
<span>{{ $t('state') }}</span>
|
||||
<span>{{ $t('select') }}</span>
|
||||
<span style="min-width: 200px;">{{ $t('label.name') }}</span>
|
||||
<span>{{ $t('label.instancename') }}</span>
|
||||
<span>{{ $t('label.displayname') }}</span>
|
||||
<span>{{ $t('label.ip') }}</span>
|
||||
<span>{{ $t('label.account') }}</span>
|
||||
<span>{{ $t('label.zonenamelabel') }}</span>
|
||||
<span>{{ $t('label.state') }}</span>
|
||||
<span>{{ $t('label.select') }}</span>
|
||||
</div>
|
||||
|
||||
<a-checkbox-group style="width: 100%;">
|
||||
|
|
@ -386,27 +386,27 @@ export default {
|
|||
pageSize: 10,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('name'),
|
||||
title: this.$t('label.name'),
|
||||
dataIndex: 'name'
|
||||
},
|
||||
{
|
||||
title: this.$t('publicport'),
|
||||
title: this.$t('label.publicport'),
|
||||
dataIndex: 'publicport'
|
||||
},
|
||||
{
|
||||
title: this.$t('privateport'),
|
||||
title: this.$t('label.privateport'),
|
||||
dataIndex: 'privateport'
|
||||
},
|
||||
{
|
||||
title: this.$t('algorithm'),
|
||||
title: this.$t('label.algorithm'),
|
||||
scopedSlots: { customRender: 'algorithm' }
|
||||
},
|
||||
{
|
||||
title: this.$t('protocol'),
|
||||
title: this.$t('label.protocol'),
|
||||
scopedSlots: { customRender: 'protocol' }
|
||||
},
|
||||
{
|
||||
title: this.$t('state'),
|
||||
title: this.$t('label.state'),
|
||||
dataIndex: 'state'
|
||||
},
|
||||
{
|
||||
|
|
@ -418,7 +418,7 @@ export default {
|
|||
scopedSlots: { customRender: 'add' }
|
||||
},
|
||||
{
|
||||
title: this.$t('action'),
|
||||
title: this.$t('label.action'),
|
||||
scopedSlots: { customRender: 'actions' }
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
<div>
|
||||
<div class="form">
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('privateport') }}</div>
|
||||
<div class="form__label">{{ $t('label.privateport') }}</div>
|
||||
<a-input-group class="form__item__input-container" compact>
|
||||
<a-input
|
||||
v-model="newRule.privateport"
|
||||
|
|
@ -38,7 +38,7 @@
|
|||
</a-input-group>
|
||||
</div>
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('publicport') }}</div>
|
||||
<div class="form__label">{{ $t('label.publicport') }}</div>
|
||||
<a-input-group class="form__item__input-container" compact>
|
||||
<a-input
|
||||
v-model="newRule.publicport"
|
||||
|
|
@ -56,15 +56,15 @@
|
|||
</a-input-group>
|
||||
</div>
|
||||
<div class="form__item">
|
||||
<div class="form__label">{{ $t('protocol') }}</div>
|
||||
<div class="form__label">{{ $t('label.protocol') }}</div>
|
||||
<a-select v-model="newRule.protocol" style="width: 100%;">
|
||||
<a-select-option value="tcp">{{ $t('tcp') }}</a-select-option>
|
||||
<a-select-option value="udp">{{ $t('udp') }}</a-select-option>
|
||||
<a-select-option value="tcp">{{ $t('label.tcp') }}</a-select-option>
|
||||
<a-select-option value="udp">{{ $t('label.udp') }}</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
<div class="form__item" style="margin-left: auto;">
|
||||
<div class="form__label">{{ $t('label.add.VM') }}</div>
|
||||
<a-button type="primary" @click="openAddVMModal">{{ $t('add') }}</a-button>
|
||||
<a-button type="primary" @click="openAddVMModal">{{ $t('label.add') }}</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -120,11 +120,11 @@
|
|||
|
||||
<div class="add-tags">
|
||||
<div class="add-tags__input">
|
||||
<p class="add-tags__label">{{ $t('key') }}</p>
|
||||
<p class="add-tags__label">{{ $t('label.key') }}</p>
|
||||
<a-input v-model="newTag.key"></a-input>
|
||||
</div>
|
||||
<div class="add-tags__input">
|
||||
<p class="add-tags__label">{{ $t('value') }}</p>
|
||||
<p class="add-tags__label">{{ $t('label.value') }}</p>
|
||||
<a-input v-model="newTag.value"></a-input>
|
||||
</div>
|
||||
<a-button type="primary" @click="() => handleAddTag()">{{ $t('label.add') }}</a-button>
|
||||
|
|
@ -140,7 +140,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<a-button class="add-tags-done" @click="tagsModalVisible = false" type="primary">{{ $t('done') }}</a-button>
|
||||
<a-button class="add-tags-done" @click="tagsModalVisible = false" type="primary">{{ $t('label.done') }}</a-button>
|
||||
</a-modal>
|
||||
|
||||
<a-modal
|
||||
|
|
@ -158,14 +158,14 @@
|
|||
|
||||
<div v-else>
|
||||
<div class="vm-modal__header">
|
||||
<span style="min-width: 200px;">{{ $t('name') }}</span>
|
||||
<span>{{ $t('instancename') }}</span>
|
||||
<span>{{ $t('displayname') }}</span>
|
||||
<span>{{ $t('ip') }}</span>
|
||||
<span>{{ $t('account') }}</span>
|
||||
<span>{{ $t('zone') }}</span>
|
||||
<span>{{ $t('state') }}</span>
|
||||
<span>{{ $t('select') }}</span>
|
||||
<span style="min-width: 200px;">{{ $t('label.name') }}</span>
|
||||
<span>{{ $t('label.instancename') }}</span>
|
||||
<span>{{ $t('label.displayname') }}</span>
|
||||
<span>{{ $t('label.ip') }}</span>
|
||||
<span>{{ $t('label.account') }}</span>
|
||||
<span>{{ $t('label.zone') }}</span>
|
||||
<span>{{ $t('label.state') }}</span>
|
||||
<span>{{ $t('label.select') }}</span>
|
||||
</div>
|
||||
|
||||
<a-radio-group v-model="newRule.virtualmachineid" style="width: 100%;" @change="fetchNics">
|
||||
|
|
@ -243,27 +243,27 @@ export default {
|
|||
pageSize: 10,
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('privateport'),
|
||||
title: this.$t('label.privateport'),
|
||||
scopedSlots: { customRender: 'privateport' }
|
||||
},
|
||||
{
|
||||
title: this.$t('publicport'),
|
||||
title: this.$t('label.publicport'),
|
||||
scopedSlots: { customRender: 'publicport' }
|
||||
},
|
||||
{
|
||||
title: this.$t('protocol'),
|
||||
title: this.$t('label.protocol'),
|
||||
scopedSlots: { customRender: 'protocol' }
|
||||
},
|
||||
{
|
||||
title: this.$t('state'),
|
||||
title: this.$t('label.state'),
|
||||
dataIndex: 'state'
|
||||
},
|
||||
{
|
||||
title: this.$t('vm'),
|
||||
title: this.$t('label.vm'),
|
||||
scopedSlots: { customRender: 'vm' }
|
||||
},
|
||||
{
|
||||
title: this.$t('action'),
|
||||
title: this.$t('label.action'),
|
||||
scopedSlots: { customRender: 'actions' }
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
<status class="status" :text="item.state" displayText />
|
||||
</template>
|
||||
<template slot="requiresupgrade" slot-scope="text, item">
|
||||
{{ item.requiresupgrade ? $t('Yes') : $t('No') }}
|
||||
{{ item.requiresupgrade ? $t('label.yes') : $t('label.no') }}
|
||||
</template>
|
||||
<template slot="isredundantrouter" slot-scope="text, record">
|
||||
{{ record.isredundantrouter ? record.redundantstate : record.isredundantrouter }}
|
||||
|
|
@ -68,35 +68,35 @@ export default {
|
|||
routers: [],
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('name'),
|
||||
title: this.$t('label.name'),
|
||||
dataIndex: 'name',
|
||||
scopedSlots: { customRender: 'name' }
|
||||
},
|
||||
{
|
||||
title: this.$t('status'),
|
||||
title: this.$t('label.status'),
|
||||
dataIndex: 'state',
|
||||
scopedSlots: { customRender: 'status' }
|
||||
},
|
||||
{
|
||||
title: this.$t('ip'),
|
||||
title: this.$t('label.ip'),
|
||||
dataIndex: 'publicip'
|
||||
},
|
||||
{
|
||||
title: this.$t('version'),
|
||||
title: this.$t('label.version'),
|
||||
dataIndex: 'version'
|
||||
},
|
||||
{
|
||||
title: this.$t('requiresupgrade'),
|
||||
title: this.$t('label.requiresupgrade'),
|
||||
dataIndex: 'requiresupgrade',
|
||||
scopedSlots: { customRender: 'requiresupgrade' }
|
||||
},
|
||||
{
|
||||
title: this.$t('isredundantrouter'),
|
||||
title: this.$t('label.isredundantrouter'),
|
||||
dataIndex: 'isredundantrouter',
|
||||
scopedSlots: { customRender: 'isredundantrouter' }
|
||||
},
|
||||
{
|
||||
title: this.$t('hostname'),
|
||||
title: this.$t('label.hostname'),
|
||||
dataIndex: 'hostname',
|
||||
scopedSlots: { customRender: 'hostname' }
|
||||
}
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue