diff --git a/ui/src/config/section/network.js b/ui/src/config/section/network.js index ae1f8ddc0bf..b85fe362c84 100644 --- a/ui/src/config/section/network.js +++ b/ui/src/config/section/network.js @@ -312,15 +312,23 @@ export default { icon: 'lock', permission: ['listVpnCustomerGateways'], resourceType: 'VpnGateway', - columns: ['name', 'ipaddress', 'gateway', 'cidrlist', 'ipsecpsk', 'account', 'domain'], - details: ['name', 'id', 'ipaddress', 'gateway', 'cidrlist', 'ipsecpsk', 'account', 'domain'], + columns: ['name', 'gateway', 'cidrlist', 'ipsecpsk', 'account', 'domain'], + details: ['name', 'id', 'gateway', 'cidrlist', 'ipsecpsk', 'ikepolicy', 'ikelifetime', 'esppolicy', 'esplifetime', 'dpd', 'forceencap', 'account', 'domain'], actions: [ { api: 'createVpnCustomerGateway', icon: 'plus', label: 'Add VPN Customer Gateway', listView: true, - args: ['name', 'gateway', 'cidrlist', 'ipsecpsk', 'ikelifetime', 'esplifetime', 'dpd', 'forceencap', 'ikepolicy', 'esppolicy'] + popup: true, + component: () => import('@/views/network/CreateVpnCustomerGateway.vue') + }, + { + api: 'updateVpnCustomerGateway', + icon: 'edit', + label: 'Edit VPN Customer Gateway', + dataView: true, + args: ['name', 'gateway', 'cidrlist', 'ipsecpsk', 'ikepolicy', 'ikelifetime', 'esppolicy', 'esplifetime', 'dpd', 'forceencap'] }, { api: 'deleteVpnCustomerGateway', diff --git a/ui/src/locales/en.json b/ui/src/locales/en.json index 8691b102b7f..04dbfbbe466 100644 --- a/ui/src/locales/en.json +++ b/ui/src/locales/en.json @@ -64,6 +64,7 @@ "aclname": "ACL Name", "action": "Action", "activeviewersessions": "Active Sessions", +"add": "Add", "add-scaleDowncondition": "Add", "add-scaleUpcondition": "Add", "address": "Address", @@ -961,6 +962,12 @@ "vpcname": "VPC", "vpcoffering": "VPC Offering", "vpncustomergatewayid": "VPN Customer Gateway", +"vpncustomergatewayname": "Unique name for VPN customer gateway", +"vpncustomergateway": "IP address of the remote gateway", +"vpncustomergateway_cidrlist": "Comma separated guest CIDR list of the remote subnets.", +"vpncustomergateway_secretkey": "Enter a secret key value", +"vpncustomergateway_ikelifetime": "phase-1 lifetime of the security association in seconds", +"vpncustomergateway_esplifetime": "The phase-2 lifetime of the security association in seconds", "vsmctrlvlanid": "Control VLAN ID", "vsmdeviceid": "Name", "vsmdevicestate": "State", diff --git a/ui/src/views/network/CreateVpnCustomerGateway.vue b/ui/src/views/network/CreateVpnCustomerGateway.vue new file mode 100644 index 00000000000..93c316f451c --- /dev/null +++ b/ui/src/views/network/CreateVpnCustomerGateway.vue @@ -0,0 +1,325 @@ +// 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. + + +