nfv/nfv/nfv-common/nfv_common/catalog/plugin/v1/_catalog_plugin.py

52 lines
1.0 KiB
Python
Executable File

#
# Copyright (c) 2015-2016 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
import six
from abc import ABCMeta
from abc import abstractmethod
from abc import abstractproperty
@six.add_metaclass(ABCMeta)
class CatalogPlugin(object):
"""
Abstract Catalog Plugin Class Definition
"""
@abstractproperty
def name(self):
"""The name of plugin """
pass
@abstractproperty
def version(self):
"""The versions of the plugin """
pass
@abstractproperty
def provider(self):
"""Vendor created the plugin """
pass
@abstractproperty
def signature(self):
"""Signature of the plugin """
pass
@abstractmethod
def read_vnf_descriptor(self, vnfd_id, vnf_vendor, vnf_version):
"""Read a particular vnf descriptor """
pass
@abstractmethod
def initialize(self, version):
"""Initialize the plugin """
pass
@abstractmethod
def finalize(self):
"""Finalize the plugin """
pass