summaryrefslogtreecommitdiffstats
path: root/docs/refspec/open-o/sdn-nsd/enterprise2DC_type_definition.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/refspec/open-o/sdn-nsd/enterprise2DC_type_definition.yaml')
-rw-r--r--docs/refspec/open-o/sdn-nsd/enterprise2DC_type_definition.yaml1226
1 files changed, 1226 insertions, 0 deletions
diff --git a/docs/refspec/open-o/sdn-nsd/enterprise2DC_type_definition.yaml b/docs/refspec/open-o/sdn-nsd/enterprise2DC_type_definition.yaml
new file mode 100644
index 0000000..84a8b39
--- /dev/null
+++ b/docs/refspec/open-o/sdn-nsd/enterprise2DC_type_definition.yaml
@@ -0,0 +1,1226 @@
+# 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.
+tosca_definitions_version: tosca_simple_yaml_1_0
+description: enteprise to DC type definitions
+
+# *****************************************************************************
+# enteprise to DC type definitions
+# *****************************************************************************
+
+metadata:
+ version: 0.1
+ vendor: sdno
+ template_author: Huawei
+
+imports:
+ - sdno_type_definition.yaml
+
+# *****************************************************************************
+# DSL definitions
+# *****************************************************************************
+dsl_definitions:
+ Vlan: &Vlan
+ siteId:
+ type: string
+ description: site id
+ required: false
+ vlanId:
+ type: integer
+ # format: int32
+ description: vlan id
+ required: false
+ ports:
+ type: list
+ entry_schema:
+ type: string
+ description: ports list
+ required: false
+ portNames:
+ type: list
+ entry_schema:
+ type: string
+ description: port name list
+ required: false
+ description:
+ type: string
+ default: 'Vlan Service'
+
+ SiteSubnet: &SiteSubnet
+ siteId:
+ type: string
+ description: site id
+ required: false
+ cidrBlock:
+ type: string
+ description: cidr block
+ required: false
+ cidrBlockSize:
+ type: integer
+ # format: int32
+ description: cidr block size 8~32
+ required: false
+ gatewayIp:
+ type: string
+ description: gateway ip
+ required: false
+ vlanId:
+ type: string
+ description: vlan id
+ required: false
+ vni:
+ type: string
+ description: vni
+ required: false
+ ports:
+ type: list
+ entry_schema:
+ type: string
+ description: ports list
+ required: false
+ portNames:
+ type: list
+ entry_schema:
+ type: string
+ description: port name list
+ required: false
+ ipv6Address:
+ type: string
+ description: ipv6 address
+ required: false
+ prefixLength:
+ type: string
+ description: length of prifix
+ required: false
+ dhcp6Enable:
+ type: string
+ description: whether enable dhcp6
+ required: false
+ dhcp6Mode:
+ type: string
+ description: dhcp mode scope ="serverrelay"
+ required: false
+ enableDhcp:
+ type: string
+ description: whether enable dhcp
+ required: false
+ gatewayInterface:
+ type: string
+ description: >-
+ BDIF interface name, when vni is not null and need to read from AC, pass this parameter to lower layer
+ required: false
+ description:
+ type: string
+ default: 'SiteSubnet Service'
+
+ Gateway: &Gateway
+ vpnId:
+ type: string
+ required: false
+ siteId:
+ type: string
+ required: false
+ vpcId:
+ type: string
+ required: false
+ deployPosition:
+ type: string
+ required: false
+ upstreamBandwidth:
+ type: string
+ required: false
+ downstreamBandwidth:
+ type: string
+ required: false
+ vlans:
+ type: string
+ required: false
+ ports:
+ type: list
+ entry_schema:
+ type: string
+ description: ports list
+ required: false
+ portNames:
+ type: list
+ entry_schema:
+ type: string
+ description: port name list
+ required: false
+ regionId:
+ type: string
+ required: false
+ description:
+ type: string
+ default: 'Vpn Gateway'
+
+# *****************************************************************************
+# data types
+# *****************************************************************************
+data_types:
+
+ VlanType:
+ derived_from: tosca.datatypes.Root
+ properties: *Vlan
+
+ SiteSubnetType:
+ derived_from: tosca.datatypes.Root
+ properties: *SiteSubnet
+
+ GatewayType:
+ derived_from: tosca.datatypes.Root
+ properties: *Gateway
+
+ SubnetAttributes:
+ derived_from: tosca.datatypes.Root
+ properties:
+ id:
+ type: string
+ required: false
+ parentId:
+ type: string
+ required: false
+ networkId:
+ type: string
+ required: false
+ subnetId:
+ type: string
+ required: false
+
+ UnderlayResourcesType:
+ derived_from: tosca.datatypes.Root
+ properties:
+ id:
+ type: string
+ required: false
+ parentId:
+ type: string
+ required: false
+ projectId:
+ type: string
+ required: false
+ routerId:
+ type: string
+ required: false
+
+
+ ReliabilityType:
+ derived_from: string
+ constraints:
+ - valid_values: ['singleFixedNetwork',
+ 'dualFixedNetwork',
+ 'fixedAndWirelessNetwork',
+ 'EthernetNetwork',
+ 'VDSLNetwork',
+ 'GSHDSLNetwork',
+ 'EthernetAndLTENetwork',
+ 'EthernetAndEthernetNetwork',
+ 'EthernetAndVDSLNetwork',
+ 'VDSLAndLTENetwork']
+
+ NvStringType:
+ derived_from: tosca.datatypes.Root
+ properties:
+ id:
+ type: string
+ required: false
+ name:
+ type: string
+ description: name
+ required: false
+ value:
+ type: string
+ description: value
+ required: false
+ firstParentUuid:
+ type: string
+ description: uuid
+ required: false
+
+ ServicePathHopType:
+ derived_from: tosca.datatypes.Root
+ properties:
+ name:
+ type: string
+ description: "SFC name"
+ default: 'none'
+ hopNumber:
+ type: integer
+ description: Hop Number of the SFC. Starting from 1.
+ sfiId:
+ type: string
+ description: The identity of service function instance
+ sfgId:
+ type: string
+ description: Reserved.The identity of service function group instance
+
+ ServiceClassiferType:
+ derived_from: tosca.datatypes.Root
+ properties:
+ interfaceName:
+ type: string
+ description: The name of interface.
+ zone:
+ type: string
+ description: trust zone or untrust zone
+ rules:
+ type: list
+ entry_schema:
+ type: RuleType
+
+ RuleType:
+ derived_from: tosca.datatypes.Root
+ properties:
+ protocol:
+ type: string
+ description: The protocol type of the rule.
+ policy:
+ type: string
+ description: The policy name of the rule
+ srcPort:
+ type: string
+ description: The srcPort name
+ destPort:
+ type: string
+ description: The destPort name.
+ srcIp:
+ type: string
+ description: The src IP address
+ srcMask:
+ type: string
+ description: The src IP mask address
+ destIp:
+ type: string
+ description: The dest IP address
+ destMask:
+ type: string
+ description: The dest IP mask address
+
+ RouteEntryInfoType:
+ derived_from: tosca.datatypes.Root
+ properties:
+ siteId:
+ type: string
+ description: site id.
+ subnetId:
+ type: string
+ description: subnet id
+ cidr:
+ type: string
+ description: cidr
+ vpnGatewayId:
+ type: string
+ description: vpn gateway id.
+ internetGatewayId:
+ type: string
+ description: internet gateway id
+ nextHop:
+ type: string
+ description: next hop
+ precendence:
+ type: string
+ description: precendence
+ routeType:
+ type: string
+ description: static-routing for now
+
+ NeMoType:
+ derived_from: tosca.datatypes.Root
+# properties: *BaseServiceInfo
+ properties:
+ version:
+ type: string
+ description: version.
+ logicId:
+ type: string
+ description: logic id of NE.
+ phyNeId:
+ type: string
+ description: physical id of NE.
+ managementDomainId:
+ type: list
+ entry_schema:
+ type: string
+ description: management Domain Id.
+ controllerId:
+ type: list
+ entry_schema:
+ type: string
+ description: Controller Id list.
+ siteId:
+ type: list
+ entry_schema:
+ type: string
+ description: site Id list
+ productName:
+ type: string
+ description: product name
+ isVirtual:
+ type: string
+ description: whether is a virtual ne
+ ipAddress:
+ type: string
+ description: ip Address
+ source:
+ type: string
+ description: (scope=network_me,os,network_ems,user)
+ owner:
+ type: string
+ description: owner
+ serialNumber:
+ type: string
+ description: serial Number
+ manufacturer:
+ type: string
+ description: manufacturer
+ manufactureDate:
+ type: string
+ description: manufacture Date
+ nativeId:
+ type: string
+ description: native id
+ accessIpVersion:
+ type: string
+ description: (scope=ipv4,ipv6,ipv4/ipv6)
+ neRole:
+ type: string
+ description: ne role
+
+
+
+# *****************************************************************************
+# node types
+# *****************************************************************************
+
+node_types:
+
+ # *****************************************************************************
+ # Enterprise2Dc Service Endpoints
+ # *****************************************************************************
+ sdno.node.ServiceEndPoint.ThinCpe:
+ derived_from: sdno.node.ServiceEndPoint
+
+ # define more specific Dc service endpoint (DC VAS or VNF ?)
+ sdno.node.ServiceEndPoint.DcEndpoint:
+ derived_from: sdno.node.ServiceEndPoint
+
+ # *****************************************************************************
+ # Enterprise2DC
+ # *****************************************************************************
+
+ sdno.node.ConnectivityService.Enterprise2Dc:
+ derived_from: sdno.node.ConnectivityService
+ interfaces:
+ standard:
+ type: sdno.interfaces.lifecycle.Standard
+ deploy:
+ description: "Deploy Enterprise2Dc"
+ implementation:
+ # primary:
+ dependencies:
+ - sdno.node.Connection.VpcSubnet/deploy
+ - sdno.node.Connection.SiteSubnet/deploy
+ - sdno.node.Connection.Vpn/deploy
+ - sdno.node.Connection.Sfc/deploy
+ undeploy:
+ description: "Deploy Enterprise2Dc"
+ implementation:
+ # primary:
+ dependencies:
+ - sdno.node.Connection.VpcSubnet/undeploy
+ - sdno.node.Connection.SiteSubnet/undeploy
+ - sdno.node.Connection.Vpn/undeploy
+ - sdno.node.Connection.Sfc/undeploy
+
+# MUST FIND ANOTHER WAY TO RESTRICT THE SPECIFIC NETWORK HIERARCHY FOR THE SERVICE AT THE SERVICE DEFINITION LAYER
+# CURRENTLY ENFORCED IN THE TEMPLATE
+#
+# requirements:
+# - endPoint:
+# node: sdno.node.ServiceEndPoint.ThinCpe
+# capability: sdno.capability.ServiceEndPoint
+# relationship: sdno.relationship.ServiceEndPoint
+# - endPoint:
+# node: sdno.node.ServiceEndPoint.DcEndpoint
+# capability: sdno.capability.ServiceEndPoint
+# relationship: sdno.relationship.ServiceEndPoint
+# - realizes:
+# node: sdno.node.Connection.SiteSubnet
+# capability: sdno.capability.Realizes
+# relationship: sdno.relationship.RealizedBy
+# - realizes:
+# node: sdno.node.Connection.Vpn
+# capability: sdno.capability.Realizes
+# relationship: sdno.relationship.RealizedBy
+# - realizes:
+# node: sdno.node.Connection.VpcSubnet
+# capability: sdno.capability.Realizes
+# relationship: sdno.relationship.RealizedBy
+# - realizes:
+# node: sdno.node.Connection.Sfc
+# capability: sdno.capability.Realizes
+# relationship: sdno.relationship.RealizedBy
+
+
+ # *****************************************************************************
+ # VPC Node Types (VpcSubnet and Vpc)
+ # *****************************************************************************
+
+ sdno.node.Connection.VpcSubnet:
+ derived_from: sdno.node.Connection
+ properties:
+ cidr:
+ type: string
+ description: VPC subnet IP network, should be in format CIDR format.
+ required: false
+ vni:
+ type: integer
+ #format: int32
+ description: The Vxlan id
+ required: false
+ vpcId:
+ type: string
+ description: VPC owns the subnet.
+ required: false
+ gatewayIp:
+ type: string
+ description: Gateway Ip addressed used for this subnet. ipv4 supported. VPC service set this property when Subnet is created.
+ required: false
+ attributes:
+ type: SubnetAttributes
+ required: false
+ description:
+ type: string
+ default: "VpcSubnet Service"
+ requirements:
+ - realizes:
+ node: sdno.node.Connection.Vpc
+ capability: sdno.capability.Realizes
+ relationship: sdno.relationship.RealizedBy
+ artifacts:
+ swagger:
+ file: swagger/vpc.jaml
+ type: sdno.artifacts.Implementation.Swagger
+ mapper:
+ file: mapper/vpc.tsmap
+ type: sdno.artifacts.Implementation.ToscaSwaggerMapper
+ interfaces:
+ standard:
+ type: sdno.interfaces.lifecycle.Standard
+ create:
+ #implementation: 'POST /openoapi/sdnovpc/v1/subnets'
+ delete:
+ #implementation: 'DELETE /openoapi/sdnovpc/v1/subnets/{subnetId}'
+ get:
+ implementation: 'GET /openoapi/sdnovpc/v1/subnets/{subnetId}'
+ deploy:
+ implementation:
+ primary: 'POST /openoapi/sdnovpc/v1/subnets'
+ dependencies:
+ - sdno.node.Connection.Vpc/deploy
+ - sdno.node.Connection.VpcSubnet/deploy
+ undeploy:
+ implementation:
+ primary: 'DELETE /openoapi/sdnovpc/v1/subnets/{subnetId}'
+ dependencies:
+ - sdno.node.Connection.VpcSubnet/undeploy
+ - sdno.node.Connection.Vpc/undeploy
+ update:
+ #implementation: 'PUT /openoapi/sdnovpc/v1/subnet/{subnetId}'
+
+
+
+
+ sdno.node.Connection.Vpc:
+ derived_from: sdno.node.Connection
+ properties:
+ externalIp:
+ type: string
+ description: External IP assigned to the VPC. ipv4 supported. Used by SNAT and IPSec VPN Service. VPC service set this property after VPC is created.
+ required: false
+ attributes:
+ type: UnderlayResourcesType
+ required: false
+ description:
+ type: string
+ default: "Vpc Service"
+ artifacts:
+ swagger:
+ file: swagger/vpc.jaml
+ type: sdno.artifacts.Implementation.Swagger
+ mapper:
+ file: mapper/vpc.tsmap
+ type: sdno.artifacts.Implementation.ToscaSwaggerMapper
+ interfaces:
+ standard:
+ type: sdno.interfaces.lifecycle.Standard
+ create:
+ #implementation: 'POST /openoapi/sdnovpc/v1/vpcs'
+ delete:
+ #implementation: 'DELETE /openoapi/sdnovpc/v1/vpcs/{vpcId}'
+ get:
+ implementation: 'GET /openoapi/sdnovpc/v1/vpcs/{vpcId}'
+ deploy:
+ implementation: 'POST /openoapi/sdnovpc/v1/vpcs'
+ undeploy:
+ implementation: 'DELETE /openoapi/sdnovpc/v1/vpcs/{vpcId}'
+ update:
+ #implementation: 'PUT /openoapi/sdnovpc/v1/vpsc/{vpcId}'
+
+ # *****************************************************************************
+ # Site Node Types (Subnet, Vlan, Site with thinCPE and cCPE)
+ # *****************************************************************************
+
+ sdno.node.Connection.SiteSubnet:
+ derived_from: sdno.node.Connection
+ properties: *SiteSubnet
+ requirements:
+ - realizes:
+ node: sdno.node.Connection.Vlan
+ capability: sdno.capability.Realizes
+ relationship: sdno.relationship.RealizedBy
+ artifacts:
+ swagger:
+ file: swagger/site.jaml
+ type: sdno.artifacts.Implementation.Swagger
+ mapper:
+ file: mapper/site.tsmap
+ type: sdno.artifacts.Implementation.ToscaSwaggerMapper
+ interfaces:
+ standard:
+ type: sdno.interfaces.lifecycle.Standard
+ create:
+ #implementation: 'POST /openoapi/sdnolocalsite/v1/subnets'
+ delete:
+ #implementation: 'DELETE /openoapi/sdnolocalsite/v1/subnets/{uuid}'
+ get:
+ implementation: 'GET /openoapi/sdnolocalsite/v1/subnets'
+ deploy:
+ implementation:
+ primary: 'POST /openoapi/sdnolocalsite/v1/subnets'
+ dependencies:
+ - sdno.node.Connection.Vlan/deploy
+ - sdno.node.Connection.SiteSubnet/deploy
+ undeploy:
+ implementation:
+ primary: 'DELETE /openoapi/sdnolocalsite/v1/subnets/{uuid}'
+ dependencies:
+ - sdno.node.Connection.SiteSubnet/undeploy
+ - sdno.node.Connection.Vlan/undeploy
+ - sdno.node.ConnectionEndPoint.ThinCpe/undeploy
+ - sdno.node.ConnectionEndPoint.VCpe/undeploy
+ - sdno.node.ConnectionEndPoint.Site/undeploy
+ update:
+ implementation: 'PUT /openoapi/sdnolocalsite/v1/subnets/{uuid}'
+
+ sdno.node.Connection.Vlan:
+ derived_from: sdno.node.Connection
+ properties: *Vlan
+ requirements:
+ - realizes:
+ node: sdno.node.Connection.Site
+ capability: sdno.capability.Realizes
+ relationship: sdno.relationship.RealizedBy
+ artifacts:
+ swagger:
+ file: swagger/site.jaml
+ type: sdno.artifacts.Implementation.Swagger
+ mapper:
+ file: mapper/site.tsmap
+ type: sdno.artifacts.Implementation.ToscaSwaggerMapper
+ interfaces:
+ standard:
+ type: sdno.interfaces.lifecycle.Standard
+ create:
+ #implementation: 'POST /openoapi/sdnolocalsite/v1/vlans'
+ delete:
+ #implementation: 'DELETE /openoapi/sdnolocalsite/v1/vlans/{uuid}'
+ get:
+ implementation: 'GET /openoapi/sdnolocalsite/v1/vlans'
+ deploy:
+ implementation:
+ primary: 'POST /openoapi/sdnolocalsite/v1/vlans'
+ dependencies:
+ - sdno.node.Connection.Site/deploy
+ - sdno.node.Connection.Vlan/deploy
+ undeploy:
+ implementation: 'DELETE /openoapi/sdnolocalsite/v1/vlans/{uuid}'
+ update:
+ implementation: 'PUT /openoapi/sdnolocalsite/v1/vlans/{uuid}'
+
+ sdno.node.ConnectionEndPoint.ThinCpe:
+ derived_from: sdno.node.ConnectionEndPoint
+ properties:
+ siteId:
+ type: string
+ description: site id
+ required: false
+ esn:
+ type: string
+ description: esn
+ required: false
+ oldEsn:
+ type: string
+ description: old esn
+ required: false
+ localCpeType:
+ type: string
+ description: local cpe type
+ required: false
+ description:
+ type: string
+ default: 'ThinCpe'
+ requirements:
+ - realizes:
+ node: sdno.node.Connection.Site
+ capability: sdno.capability.Realizes
+ relationship: sdno.relationship.RealizedBy
+ artifacts:
+ swagger:
+ file: swagger/site.jaml
+ type: sdno.artifacts.Implementation.Swagger
+ mapper:
+ file: mapper/site.tsmap
+ type: sdno.artifacts.Implementation.ToscaSwaggerMapper
+ interfaces:
+ standard:
+ type: sdno.interfaces.lifecycle.Standard
+ create:
+ implementation: 'POST /openoapi/sdnolocalsite/v1/local-cpes'
+ delete:
+ #implementation: 'DELETE /openoapi/sdnolocalsite/v1/local-cpes/{uuid}'
+ get:
+ implementation: 'GET /openoapi/sdnolocalsite/v1/local-cpes'
+ deploy:
+ implementation: 'POST /openoapi/sdnolocalsite/v1/local-cpes'
+ undeploy:
+ implementation: 'DELETE /openoapi/sdnolocalsite/v1/local-cpes/{uuid}'
+ update:
+ #implementation: 'PUT /openoapi/sdnolocalsite/v1/local-cpes/{uuid}'
+
+ sdno.node.ConnectionEndPoint.VCpe:
+ derived_from: sdno.node.ConnectionEndPoint
+ properties:
+ siteId:
+ type: string
+ description: site id
+ required: false
+ popId:
+ type: string
+ description: pop id
+ required: false
+ esn:
+ type: string
+ description: esn
+ required: false
+ mgrIp:
+ type: string
+ description: mgr ip
+ required: false
+ mgrMask:
+ type: string
+ description: mask of mgr ip
+ required: false
+ mgrGateway:
+ type: string
+ description: mgr gateway ip
+ required: false
+ controllerIp:
+ type: string
+ description: controller ip
+ required: false
+ controllerMask:
+ type: string
+ description: controller mask
+ required: false
+ vendor:
+ type: string
+ description: vendor
+ required: false
+ type:
+ type: string
+ description: type
+ required: false
+ vnfdVersion:
+ type: string
+ description: vnfd Version
+ required: false
+ vnfdId:
+ type: string
+ description: vnfd id
+ required: false
+ callbackUrl:
+ type: string
+ description: callback Url
+ required: false
+ vnfmId:
+ type: string
+ description: vnfm id
+ required: false
+ dcLocation:
+ type: string
+ description: dc location
+ required: false
+ rangeId:
+ type: string
+ description: range id
+ required: false
+ referenceCount:
+ type: integer
+ #format: int32
+ description: reference count
+ required: false
+ template:
+ type: string
+ description: template
+ required: false
+ description:
+ type: string
+ default: 'vCpe'
+ requirements:
+ - realizes:
+ node: sdno.node.Connection.Site
+ capability: sdno.capability.Realizes
+ relationship: sdno.relationship.RealizedBy
+ artifacts:
+ swagger:
+ file: swagger/site.jaml
+ type: sdno.artifacts.Implementation.Swagger
+ mapper:
+ file: mapper/site.tsmap
+ type: sdno.artifacts.Implementation.ToscaSwaggerMapper
+ interfaces:
+ standard:
+ type: sdno.interfaces.lifecycle.Standard
+ create:
+ #implementation: 'POST /openoapi/sdnolocalsite/v1/cloud-cpes'
+ delete:
+ #implementation: 'DELETE /openoapi/sdnolocalsite/v1/cloud-cpes/{uuid}'
+ get:
+ implementation: 'GET /openoapi/sdnolocalsite/v1/cloud-cpes'
+ deploy:
+ implementation: 'POST /openoapi/sdnolocalsite/v1/cloud-cpes'
+ undeploy:
+ implementation: 'DELETE /openoapi/sdnolocalsite/v1/cloud-cpes/{uuid}'
+ update:
+ implementation: 'PUT /openoapi/sdnolocalsite/v1/cloud-cpes/{uuid}'
+
+
+ sdno.node.Connection.Site:
+ derived_from: sdno.node.Connection
+ properties:
+ deployCloudCpeByDeafult:
+ type: string
+ description:
+ default: 'true'
+ required: false
+ popId:
+ type: string
+ description: pop id
+ required: false
+ localCpeType:
+ type: string
+ description: local cpe type
+ required: false
+ siteDescriptor:
+ type: string
+ description: site Descriptor
+ required: false
+ reliability:
+ type: ReliabilityType
+ description:
+ required: false
+ isEncrypt:
+ type: string
+ description: is encrypt
+ required: false
+ vpnUpstreamBandwidth:
+ type: integer
+ #format: int64
+ description: vpn Upstream Bandwidth default=-2L
+ required: false
+ vpnDownstreamBandwidth:
+ type: integer
+ # format: int64
+ description: vpn Downstream Bandwidth default=-2L
+ required: false
+ totalDownstreamBandwidth:
+ type: string
+ description: total Downstream Bandwidth
+ required: false
+ totalUpstreamBandwidth:
+ type: string
+ description: total Upstream Bandwidth
+ required: false
+ # localCpes:
+ # type: list
+ # entry_schema:
+ # type: NeMoType
+ # required: false
+ # cloudCpes:
+ # type: list
+ # entry_schema:
+ # type: NeMoType
+ # required: false
+ # subnets:
+ # type: list
+ # entry_schema:
+ # type: SiteSubnetType
+ # required: false
+ # #revisit the type
+ # vlans:
+ # type: list
+ # entry_schema:
+ # type: VlanType
+ # required: false
+ #revisit the type
+ routes:
+ type: list
+ entry_schema:
+ type: RouteEntryInfoType
+ required: false
+ internetGateway:
+ type: list
+ entry_schema:
+ type: GatewayType
+ required: false
+ description:
+ type: string
+ default: 'Site Service'
+# MUST FIND ANOTHER WAY TO RESTRICT THE SPECIFIC NETWORK HIERARCHY FOR THE SERVICE AT THE SERVICE DEFINITION LAYER
+# CURRENTLY ENFORCED IN THE TEMPLATE
+#
+ # requirements:
+ # - endPoint:
+ # node: sdno.node.ConnectionEndPoint.ThinCpe
+ # capability: sdno.capability.ConnectionEndPoint
+ # - endPoint:
+ # node: sdno.node.ConnectionEndPoint.VCpe
+ # capability: sdno.capability.ConnectionEndPoint
+ artifacts:
+ swagger:
+ file: swagger/site.jaml
+ type: sdno.artifacts.Implementation.Swagger
+ mapper:
+ file: mapper/site.tsmap
+ type: sdno.artifacts.Implementation.ToscaSwaggerMapper
+ interfaces:
+ standard:
+ type: sdno.interfaces.lifecycle.Standard
+ create:
+ #implementation: 'POST /openoapi/sdnolocalsite/v1/sites'
+ delete:
+ #implementation: 'DELETE /openoapi/sdnolocalsite/v1/sites/{uuid}'
+ get:
+ implementation: 'GET /openoapi/sdnolocalsite/v1/sites'
+ deploy:
+ implementation:
+ primary: 'POST /openoapi/sdnolocalsite/v1/sites'
+ dependencies:
+ - sdno.node.Connection.Site/deploy
+ - sdno.node.ConnectionEndPoint.ThinCpe/deploy
+ - sdno.node.ConnectionEndPoint.VCpe/deploy
+ undeploy:
+ implementation: 'DELETE /openoapi/sdnolocalsite/v1/sites/{uuid}'
+ update:
+ implementation: 'PUT /openoapi/sdnolocalsite/v1/sites/{uuid}'
+
+ # *****************************************************************************
+ # VPN Node Types (Vpn, VpnConnection with siteGW and vpcGW)
+ # Order of requests: vpn, siteGW, vpcGW, vpnConnection
+ # *****************************************************************************
+
+ sdno.node.Connection.Vpn:
+ derived_from: sdno.node.Connection
+ properties:
+ vpnDescriptor:
+ type: string
+ description: vpn template name
+ required: false
+ requirements:
+ - realizes:
+ node: sdno.node.Connection.VpnConnection
+ capability: sdno.capability.Realizes
+ relationship: sdno.relationship.RealizedBy
+ artifacts:
+ swagger:
+ file: swagger/overlay.jaml
+ type: sdno.artifacts.Implementation.Swagger
+ mapper:
+ file: mapper/overlay.tsmap
+ type: sdno.artifacts.Implementation.ToscaSwaggerMapper
+ interfaces:
+ standard:
+ type: sdno.interfaces.lifecycle.Standard
+ create:
+ implementation: 'POST /openoapi/sdnooverlay/v1/vpns'
+ delete:
+ implementation: 'DELETE /openoapi/sdnooverlay/v1/vpns/{uuid}'
+ get:
+ implementation: 'GET /openoapi/sdnooverlay/v1/vpns'
+ deploy:
+ implementation:
+ primary: 'POST /openoapi/sdnooverlay/v1/vpns/action/deploy'
+ dependencies:
+ - sdno.node.Connection.Vpn/deploy
+ - sdno.node.Connection.VpnConnection/deploy
+ undeploy:
+ implementation:
+ primary: 'DELETE /openoapi/sdnooverlay/v1/vpns/action/undeploy'
+ dependencies:
+ - sdno.node.Connection.VpnConnection/undeploy
+ - sdno.node.ConnectionEndPoint.SiteGateway/undeploy
+ - sdno.node.ConnectionEndPoint.VpcGateway/undeploy
+ - sdno.node.Connection.Vpn/undeploy
+ update:
+ implementation: 'PUT /openoapi/sdnooverlay/v1/vpns/{uuid}'
+
+ sdno.node.ConnectionEndPoint.SiteGateway:
+ derived_from: sdno.node.ConnectionEndPoint
+ properties: *Gateway
+ artifacts:
+ swagger:
+ file: swagger/overlay.jaml
+ type: sdno.artifacts.Implementation.Swagger
+ mapper:
+ file: mapper/overlay.tsmap
+ type: sdno.artifacts.Implementation.ToscaSwaggerMapper
+ interfaces:
+ standard:
+ type: sdno.interfaces.lifecycle.Standard
+ create:
+ #implementation: 'POST /openoapi/sdnooverlay/v1/vpn-gateways'
+ delete:
+ #implementation: 'DELETE /openoapi/sdnooverlay/v1/vpn-gateways'
+ get:
+ implementation: 'GET /openoapi/sdnooverlay/v1/vpn-gateways'
+ deploy:
+ implementation: 'POST /openoapi/sdnooverlay/v1/vpn-gateways'
+ undeploy:
+ implementation: 'DELETE /openoapi/sdnooverlay/v1/vpn-gateways/{uuid}'
+ update:
+ implementation: 'PUT /openoapi/sdnooverlay/v1/vpn-gateways/{uuid}'
+
+ sdno.node.ConnectionEndPoint.VpcGateway:
+ derived_from: sdno.node.ConnectionEndPoint
+ properties: *Gateway
+ artifacts:
+ swagger:
+ file: swagger/overlay.jaml
+ type: sdno.artifacts.Implementation.Swagger
+ mapper:
+ file: mapper/overlay.tsmap
+ type: sdno.artifacts.Implementation.ToscaSwaggerMapper
+ interfaces:
+ standard:
+ type: sdno.interfaces.lifecycle.Standard
+ create:
+ #implementation: 'POST /openoapi/sdnooverlay/v1/vpn-gateways'
+ delete:
+ #implementation: 'DELETE /openoapi/sdnooverlay/v1/vpn-gateways'
+ get:
+ implementation: 'GET /openoapi/sdnooverlay/v1/vpn-gateways'
+ deploy:
+ implementation: 'POST /openoapi/sdnooverlay/v1/vpn-gateways'
+ undeploy:
+ implementation: 'DELETE /openoapi/sdnooverlay/v1/vpn-gateways/{uuid}'
+ update:
+ implementation: 'PUT /openoapi/sdnooverlay/v1/vpn-gateways/{uuid}'
+
+ sdno.node.Connection.VpnConnection:
+ derived_from: sdno.node.Connection
+ properties:
+ vpnId:
+ type: string
+ required: false
+ aEndVpnGatewayId:
+ type: string
+ required: false
+ zEndVpnGatewayId:
+ type: string
+ required: false
+ vni:
+ type: string
+ required: false
+ description:
+ type: string
+ default: 'vpn connection'
+# MUST FIND ANOTHER WAY TO RESTRICT THE SPECIFIC NETWORK HIERARCHY FOR THE SERVICE AT THE SERVICE DEFINITION LAYER
+# CURRENTLY ENFORCED IN THE TEMPLATE
+#
+# requirements:
+# - endPoint:
+# node: sdno.node.ConnectionEndPoint.SiteGateway
+# capability: sdno.capability.ConnectionEndPoint
+# - endPoint:
+# node: sdno.node.ConnectionEndPoint.VpcGateway
+# capability: sdno.capability.ConnectionEndPoint
+ artifacts:
+ swagger:
+ file: swagger/overlay.jaml
+ type: sdno.artifacts.Implementation.Swagger
+ mapper:
+ file: mapper/overlay.tsmap
+ type: sdno.artifacts.Implementation.ToscaSwaggerMapper
+ interfaces:
+ standard:
+ type: sdno.interfaces.lifecycle.Standard
+ create:
+ implementation: 'POST /openoapi/sdnooverlay/v1/vpn-connections'
+ delete:
+ implementation: 'DELETE /openoapi/sdnooverlay/v1/vpn-connections/{uuid}'
+ get:
+ implementation: 'GET /openoapi/sdnooverlay/v1/vpn-connections'
+ deploy:
+ implementation:
+ primary: 'POST /openoapi/sdnooverlay/v1/vpn-connections/action/deploy'
+ dependencies:
+ - sdno.node.ConnectionEndPoint.SiteGateway/deploy
+ - sdno.node.ConnectionEndPoint.VpcGateway/deploy
+ - sdno.node.Connection.VpnConnection/deploy
+ undeploy:
+ implementation: 'POST /openoapi/sdnooverlay/v1/vpn-connections/action/undeploy'
+ update:
+ implementation: 'PUT /openoapi/sdnooverlay/v1/vpn-connections/{uuid}'
+
+ # *****************************************************************************
+ # SFC Node Types
+ # *****************************************************************************
+
+ sdno.node.Connection.Sfc:
+ derived_from: sdno.node.Connection
+ properties:
+ sfcName:
+ type: string
+ description: The name of service function chain template
+ required: false
+ sfcId:
+ type: string
+ description: The id of service function chain template
+ required: false
+ popId:
+ type: string
+ description: The id of pop
+ required: false
+ scfNeId:
+ type: string
+ description: The id of scf NE
+ required: false
+ symmetric:
+ type: boolean
+ description: Whetehr symmetric
+ required: false
+ transportType:
+ type: string
+ description: The type of the transport
+ required: false
+ servicePathHops:
+ type: list
+ entry_schema:
+ type: ServicePathHopType
+ description: Hop Number of the SFC
+ required: false
+ classifiers:
+ type: list
+ entry_schema:
+ type: ServiceClassiferType
+ description: The list of sfc
+ required: false
+ description:
+ type: string
+ default: 'Service Function Chain Service'
+ artifacts:
+ swagger:
+ file: swagger/sfc.jaml
+ type: sdno.artifacts.Implementation.Swagger
+ mapper:
+ file: mapper/sfc.tsmap
+ type: sdno.artifacts.Implementation.ToscaSwaggerMapper
+ interfaces:
+ standard:
+ type: sdno.interfaces.lifecycle.Standard
+ create:
+ #implementation: 'POST /openoapi/sdnoservicechain/v1/paths'
+ delete:
+ #implementation: 'DELETE /openoapi/sdnoservicechain/v1/paths/{uuid}'
+ get:
+ #implementation: 'GET /openoapi/sdnoservicechain/v1/paths'
+ deploy:
+ implementation: 'POST /openoapi/sdnoservicechain/v1/paths'
+ undeploy:
+ implementation: 'DELETE /openoapi/sdnoservicechain/v1/paths/{uuid}'
+ update:
+ #implementation: 'PUT /openoapi/sdnoservicechain/v1/paths/{uuid}'
+
+ # *****************************************************************************
+ # Onderlayvpn Node Types
+ # *****************************************************************************
+ tosca.nodes.sdno.NS.overlayvpn:
+ properties:
+ id:
+ type: string
+ required: false
+ template_name:
+ type: string
+ required: false
+ version:
+ type: string
+ required: false
+ vendor:
+ type: string
+ required: false
+ template_author:
+ type: string
+ required: false
+ vpnName:
+ type: string
+ required: false
+ vpnDescription:
+ type: string
+ required: false
+ siteName:
+ type: string
+ required: false
+ siteCidr:
+ type: string
+ required: false
+ subnetVlan:
+ type: integer
+ required: false
+ siteVni:
+ type: integer
+ required: false
+ vpcName:
+ type: string
+ required: false
+ vpcSubnetName:
+ type: string
+ required: false
+ vpcSubnetCidr:
+ type: string
+ required: false
+ vpcVni:
+ type: integer
+ required: false
+ vpnType:
+ type: string
+ required: false
+ dcGwIp:
+ type: string
+ required: false
+ dcFwIp:
+ type: string
+ required: false
+ dcLbIp:
+ type: string
+ required: false \ No newline at end of file