# Copyright 2017 Huawei Technologies Co., Ltd. # # Licensed 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. ############################################################################### ##### L3 VPN Underlay Connection #### ############################################################################### tosca_definitions_version: tosca_simple_yaml_1_0 description: creates underlay vpn connection, l3 vpn template imports: - Definitions/underlayVPN_type_definition.yaml ############################################################################### metadata: id: vpnUnderlayL3 template_name: underlayvpn version: 0.1 vendor: sdno template_author: Huawei ####################################### TOPOLOGY ############################## topology_template: inputs: name: type: string description: Name of underlayervpn description: type: string description: description of underlayvpn serviceType: type: string description: serviceType of underlayvpn default: 'l3vpn' topology: type: string description: topology of underlayvpn default: 'full-mesh' technology: type: string description: technology of underlayvpn default: 'mpls' pe1_ip: type: string description: mgrip of pe1 ac1_port: type: string description: ac1 port ac1_svlan: type: integer description: ac1 svlan ac1_ip: type: string description: ip of ac1, only for layer3 vpn ac1_peer_ip: type: string description: ip of ac1 peer CE tp, only for layer3 vpn ac1_route: type: string description: route configure of ac1, only for layer3 vpn pe2_ip: type: string description: mgrip of pe2 ac2_port: type: string description: ac2 port ac2_svlan: type: integer description: ac2 svlan ac2_ip: type: string description: ip of ac2, only for layer3 vpn ac2_peer_ip: type: string description: ip of ac2 peer CE tp, only for layer3 vpn ac2_route: type: string description: route configure of ac2, only for layer3 vpn # ***************************************************************************** # node templates # ***************************************************************************** node_templates: # Network Nodes, to be retrieved from the resource inventory pe1: type: sdno.node.Node properties: ipAddress: {get_input: pe1_ip} pe2: type: sdno.node.Node properties: ipAddress: {get_input: pe2_ip} # Connectivity Service and Service Endpoints vpnService: type: sdno.node.ConnectivityService.UnderlayVpn properties: name: {get_input: name} requirements: - endPoint: ac1 - endPoint: ac2 - realizes: vpnConnection ac1: type: sdno.node.ServiceEndPoint.AC properties: port: {get_input: ac1_port} ip: {get_input: ac1_ip} svlan: {get_input: ac1_svlan} route: {get_input: ac1_route} peerIp: {get_input: ac1_peer_ip} requirements: - node: pe1 ac2: type: sdno.node.ServiceEndPoint.AC properties: port: {get_input: ac2_port} ip: {get_input: ac2_ip} svlan: {get_input: ac2_svlan} route: {get_input: ac2_route} peerIp: {get_input: ac2_peer_ip} requirements: - node: pe2 # Connection and Connection Endpoints vpnConnection: type: sdno.node.Connection.UnderlayVpn properties: name: {get_input: name} description: {get_input: description} vpnBasicInfo: serviceType: {get_input: serviceType} topology: {get_input: topology} technology: {get_input: technology} requirements: - endPoint: tp1 - endPoint: tp2 interfaces: standard: create: #implementation: 'POST /openoapi/sdnol3vpn/v1/l3vpns' delete: implementation: 'DELETE /openoapi/sdnol3vpn/v1/l3vpns/{uuid}' get: implementation: 'GET /openoapi/sdnol3vpn/v1/l3vpns' deploy: implementation: 'POST /openoapi/sdnol3vpn/v1/l3vpns' undeploy: implementation: 'DELETE /openoapi/sdnol3vpn/v1/l3vpns/{uuid}' update: implementation: 'PUT /openoapi/sdnol3vpn/v1/l3vpns/{uuid}' tp1: type: sdno.node.ConnectionEndPoint.Tp tp2: type: sdno.node.ConnectionEndPoint.Tp substitution_mappings: node_type: tosca.nodes.sdno.NS.underlayvpn