#  Copyright 2020 Whitestack LLC
#
#  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.

# Using old OSM IM model

vnfd:vnfd-catalog:
  vnfd:
    - id: vnfd

      mgmt-interface:
        cp: vnf-mgmt

      connection-point:
        - id: vnf-mgmt
          name: vnf-mgmt
          short-name: vnf-mgmt
          type: VPORT
        - id: vnf-data
          name: vnf-data
          short-name: vnf-data
          type: VPORT

      internal-vld:
        - id: internal
          name: internal
          short-name: internal
          type: ELAN
          internal-connection-point:
            - id-ref: mgmtVM-internal
            - id-ref: dataVM-internal

      vdu:
        - id: mgmtVM

          image: ubuntu1804

          interface:
            - name: mgmtVM-eth0
              position: "1"
              type: EXTERNAL
              virtual-interface:
                type: VIRTIO
              external-connection-point-ref: vnf-mgmt
            - name: mgmtVM-eth1
              position: "2"
              type: INTERNAL
              virtual-interface:
                type: VIRTIO
              internal-connection-point-ref: mgmtVM-internal

          internal-connection-point:
            - id: mgmtVM-internal
              name: mgmtVM-internal
              short-name: mgmtVM-internal
              type: VPORT

        - id: dataVM

          image: ubuntu1804

          interface:
            - name: dataVM-eth0
              position: "1"
              type: INTERNAL
              virtual-interface:
                type: VIRTIO
              internal-connection-point-ref: dataVM-internal
            - name: dataVM-xe0
              position: "2"
              type: EXTERNAL
              virtual-interface:
                type: VIRTIO
              external-connection-point-ref: vnf-data

          internal-connection-point:
            - id: dataVM-internal
              name: dataVM-internal
              short-name: dataVM-internal
              type: VPORT
