diff --git a/src/locales/en.json b/src/locales/en.json
index ca3a56bcd..13b05f4f9 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -1806,6 +1806,8 @@
"label.root.disk.size": "Root disk size (GB)",
"label.rootdiskcontrollertype": "Root disk controller",
"label.rootdiskcontrollertypekvm": "Root disk controller",
+"label.routerip": "IPv4 address for Router in Shared Network",
+"label.routeripv6": "IPv6 address for Router in Shared Network",
"label.router.health.check.last.updated": "Last updated",
"label.router.health.check.name": "Check name",
"label.router.health.check.success": "Success",
diff --git a/src/views/network/CreateSharedNetworkForm.vue b/src/views/network/CreateSharedNetworkForm.vue
index 20f5f0238..f46da6ae8 100644
--- a/src/views/network/CreateSharedNetworkForm.vue
+++ b/src/views/network/CreateSharedNetworkForm.vue
@@ -332,6 +332,17 @@
v-decorator="['endipv4', {}]"
:placeholder="this.$t('label.endipv4')"/>
+
+
+ {{ $t('label.routerip') }}
+
+
+
+
+
+
{{ $t('label.ip6gateway') }}
@@ -376,6 +387,17 @@
v-decorator="['endipv6', {}]"
:placeholder="this.$t('label.endipv6')"/>
+
+
+ {{ $t('label.routeripv6') }}
+
+
+
+
+
+
{{ $t('label.networkdomain') }}
@@ -457,7 +479,9 @@ export default {
selectedNetworkOffering: {},
projects: [],
projectLoading: false,
- selectedProject: {}
+ selectedProject: {},
+ isVirtualRouterForAtLeastOneService: false,
+ selectedServiceProviderMap: {}
}
},
watch: {
@@ -664,6 +688,25 @@ export default {
},
handleNetworkOfferingChange (networkOffering) {
this.selectedNetworkOffering = networkOffering
+ this.networkServiceProviderMap(this.selectedNetworkOffering.id)
+ },
+ networkServiceProviderMap (id) {
+ api('listNetworkOfferings', { id: id }).then(json => {
+ var networkOffering = json.listnetworkofferingsresponse.networkoffering[0]
+ const services = networkOffering.service
+ this.selectedServiceProviderMap = {}
+ for (const svc of services) {
+ this.selectedServiceProviderMap[svc.name] = svc.provider[0].name
+ }
+ var providers = Object.values(this.selectedServiceProviderMap)
+ this.isVirtualRouterForAtLeastOneService = false
+ var self = this
+ providers.forEach(function (prvdr, idx) {
+ if (prvdr === 'VirtualRouter') {
+ self.isVirtualRouterForAtLeastOneService = true
+ }
+ })
+ })
},
fetchDomainData () {
const params = {}
@@ -783,6 +826,11 @@ export default {
if (this.isValidTextValueForKey(values, 'ip4gateway')) {
params.ip6gateway = values.ip6gateway
}
+
+ if (this.isValidTextValueForKey(values, 'routerip')) {
+ params.routerip = values.routerip
+ }
+
if (this.isValidTextValueForKey(values, 'ip6cidr')) {
params.ip6cidr = values.ip6cidr
}
@@ -792,6 +840,10 @@ export default {
if (this.isValidTextValueForKey(values, 'endipv6')) {
params.endipv6 = values.endipv6
}
+
+ if (this.isValidTextValueForKey(values, 'routeripv6')) {
+ params.routeripv6 = values.routeripv6
+ }
// IPv6 (end)
if (this.isValidTextValueForKey(values, 'networkdomain')) {