tosca_definitions_version: tosca_simple_yaml_1_0_0 description: CCD uCPE specific data types metadata: template_name: uCPE_schema template_version: "0.1" imports: - tosca/tosca-network-types.yaml data_types: routing-rule: properties: logical-interface-name: type: string ip-version: type: string mtu: type: integer is-unnumbered: type: boolean unnumbered-local-address: type: string unnumbered-remote-address: type: string cos-model: type: string pe-shaping: type: string bgp-v4-neighbor-address: type: string bgp-v4-peer-as: type: string bgp-v4-md5-key: type: string bgp-v4-my-as: type: string bgp-v6-neighbor-address: type: string bgp-v6-peer-as: type: string bgp-v6-md5-key: type: string bgp-v6-my-as: type: string bgp-v4-keep-alive-timer: type: string bgp-v6-keep-alive-timer: type: string bgp-v4-hold-timer: type: string bgp-v6-hold-timer: type: string v4-isp-lan-ip-blocks: type: list entry_schema: string v6-isp-lan-ip-blocks: type: list entry_schema: string node_types: com.att.d2.resource.ucpe.networkInterface: derived_from: tosca.nodes.Root properties: service_port_name: type: string physical_port_name: type: string physical_speed: type: integer physical_speed_units: type: string default: "Gbps" requirements: - host: capability: com.att.d2.capabilities.hostedOn # node: com.att.d2.resource.uCPE capabilities: link: tosca.capabilities.network.Linkable #do not know to what degree we still need the two specalized versions below com.att.d2.resource.ucpe.lan_networkInterface: derived_from: com.att.d2.resource.ucpe.networkInterface requirements: - host: capability: com.att.d2.capabilities.hostedOn node: com.att.d2.resource.uCPE com.att.d2.resource.ucpe.wan_networkInterface: derived_from: com.att.d2.resource.ucpe.networkInterface properties: internet_connection_type: type: string default: "AVPN" constraints: - valid_values: ["AVPN", "AVPNIVLAN", "3RDPARTYINTERNET", "MIS", "GMIS", "ASE", "ASEOD", "3RDPARTYETHERNET", "3RDPARTYMPLS", "HSIA-E"] requirements: - host: capability: com.att.d2.capabilities.hostedOn node: com.att.d2.resource.uCPE #the participation of a network interface in a VLAN needs to carry a 'tag' attribute (tagged/untagged values) #previously we attached this attribute to the Port # com.att.d2.resource.ucpe.lan_port: # properties: # tag: # type: string # default: "tagged" # constraints: # - valid_values: [tagged, untagged] # # now it has to go in the relationship between the networkInterface and the VLAN, i.e. LinksTo # com.att.d2.resource.ucpe.vlan: # can't use as a base type anymore as it has a Linkable capability # derived_from: tosca.nodes.network.Network properties: vlan_id: type: string requirements: - link: capability: tosca.capabilities.network.Linkable node: com.att.d2.resource.ucpe.networkInterface relationship: tosca.relationships.network.LinksTo - binding: capability: tosca.capabilities.network.Bindable node: com.att.d2.resource.ucpe.VNF relationship: tosca.relationships.network.BindsTo #virtual network functions to be hosted by a uCPE com.att.d2.resource.ucpe.VNF: derived_from: tosca.nodes.Root properties: att-part-number: type: string constraints: - max_length: 255 vendor-name: type: string constraints: - max_length: 255 vendor-part-number: type: string constraints: - max_length: 255 vendor-model: type: string constraints: - max_length: 255 vendor-model-description: type: string constraints: - max_length: 255 vcpu-default: type: integer constraints: - less_or_equal: 16 vcpu-min: type: integer constraints: - less_or_equal: 16 vcpu-max: type: integer constraints: - less_or_equal: 16 vmemory-default: type: integer vmemory-units: type: string default: "GB" vmemory-min: type: integer constraints: - less_or_equal: 16 vmemory-max: type: integer constraints: - less_or_equal: 16 vdisk-default: type: integer vdisk-units: type: string default: "GB" vdisk-min: type: integer constraints: - less_or_equal: 16 vdisk-max: type: integer constraints: - less_or_equal: 128 #what is this guy?? vnf-type: type: string software-version: type: version software-version-state: type: integer software-file-name: type: string constraints: - max_length: 255 vnf-feature: type: list entry_schema: string vnf-instance-id: type: string constraints: - max_length: 255 management-option: type: string default: ATT constraints: - valid_values: ["CUSTOMER", "ATT"] requirements: - host: capability: com.att.d2.capabilities.hostedOn capabilities: binding: type: tosca.capabilities.network.Bindable occurrences: [1,UNBOUNDED] com.att.d2.resource.uCPE: # base node type for uCPE derived_from: tosca.nodes.Root properties: att-part-number: type: string vendor-name: type: string required: true vendor-model: type: string required: true total-vcpu: type: integer description: number of vCPUs total-memory: type: integer description: GB total-disk: type: integer description: GB base-system-image-file-name: type: string linux-host-vendor: type: string linux-host-os-version: type: version base-system-software: type: string jdm-vcpu: type: integer jdm-memory: type: integer description: GB jdm-disk: type: integer description: GB jdm-version: type: string jcp-vcpu: type: integer jcp-memory: type: integer description: GB jcp-disk: type: integer description: GB jcp-version: type: version capabilities: vnf_hosting: type: com.att.d2.capabilities.hostedOn valid_source_types: [com.att.d2.resource.ucpe.VNF] description: Provides hosting capability for VNFs WAN_connectivity: type: com.att.d2.capabilities.hostedOn valid_source_types: [com.att.d2.resource.ucpe.wan_networkInterface] description: external WAN1 n/w interface occurrences: [1,2] LAN_connectivity: type: com.att.d2.capabilities.hostedOn valid_source_types: [com.att.d2.resource.ucpe.lan_networkInterface] description: external LAN n/w interface occurrences: [1,8] # specific VNFs com.att.d2.resource.vRouter: derived_from: com.att.d2.resource.ucpe.VNF properties: management-v6-address: type: string nm-lan-v6-address: type: string nm-lan-v6-prefix-length: type: string management-v4-address: type: string nm-lan-v4-address: type: string nm-lan-v4-prefix-length: type: string routing-instance-name: type: string routing-instances: type: map entry_schema: type: routing-rule com.att.d2.resource.vWANx: derived_from: com.att.d2.resource.ucpe.VNF properties: # att-part-number: # type: string # default: "VCX-SUB-00255-U" vendor-name: type: string default: "VendorX" vendor-model: type: string default: "WANx-VM00" vcpu-default: type: integer default: 1 vcpu-min: type: integer default: 1 vcpu-max: type: integer default: 1 vmemory-default: type: integer default: 1 vmemory-min: type: integer default: 1 vmemory-max: type: integer default: 1 vdisk-default: type: integer default: 20 vdisk-min: type: integer default: 2 vdisk-max: type: integer default: 20 vnf-type: type: string default: "Advanced WANx" software-version: description: "The WANx software version. The value must match the AT&T part number." type: version default: 9.2.0 software-file-name: type: string default: "vnfImageFilename" vnf-instance-id: type: string description: "The WANx hostname." com.att.d2.resource.vFW: derived_from: com.att.d2.resource.ucpe.VNF ############################ # Customized capability types definitions ############################ capability_types: com.att.d2.capabilities.hostedOn: derived_from: tosca.capabilities.Root