diff --git a/ui/src/config/section/network.js b/ui/src/config/section/network.js index 29b57e2f3f5..e3fc40f9b31 100644 --- a/ui/src/config/section/network.js +++ b/ui/src/config/section/network.js @@ -53,6 +53,10 @@ export default { name: 'virtual.routers', component: () => import('@/views/network/RoutersTab.vue'), show: (record) => { return (record.type === 'Isolated' || record.type === 'Shared') && 'listRouters' in store.getters.apis } + }, { + name: 'guest.ip.range', + component: () => import('@/views/network/GuestIpRanges.vue'), + show: (record) => { return 'listVlanIpRanges' in store.getters.apis && (record.type === 'Shared' || (record.service && record.service.filter(x => x.name === 'SourceNat').count === 0)) } }], actions: [ { diff --git a/ui/src/views/infra/network/IpRangesTabGuest.vue b/ui/src/views/infra/network/IpRangesTabGuest.vue index f70d7a574f7..49d63f7cbf1 100644 --- a/ui/src/views/infra/network/IpRangesTabGuest.vue +++ b/ui/src/views/infra/network/IpRangesTabGuest.vue @@ -34,6 +34,11 @@ :rowKey="record => record.id" :pagination="false" > + + +
+
+ + + + {{ $t('label.gateway') }} + + + + + + + + + {{ $t('label.netmask') }} + + + + + + + + + + + {{ $t('label.startipv4') }} + + + + + + + + + + + {{ $t('label.endipv4') }} + + + + + + + + + + + {{ $t('label.ip6cidr') }} + + + + + + + + + {{ $t('label.ip6gateway') }} + + + + + + + + + + + {{ $t('label.startipv6') }} + + + + + + + + + + + {{ $t('label.endipv6') }} + + + + + + + + +
+ + {{ this.$t('label.cancel') }} + + + {{ this.$t('label.ok') }} + +
+
+
+
+
+ + + + + diff --git a/ui/src/views/network/GuestIpRanges.vue b/ui/src/views/network/GuestIpRanges.vue new file mode 100644 index 00000000000..a2e364af7a6 --- /dev/null +++ b/ui/src/views/network/GuestIpRanges.vue @@ -0,0 +1,196 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + + +