170 lines
4.0 KiB
Python
Executable File
170 lines
4.0 KiB
Python
Executable File
#
|
|
# Copyright (c) 2015-2016 Wind River Systems, Inc.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
import abc
|
|
import six
|
|
|
|
|
|
@six.add_metaclass(abc.ABCMeta)
|
|
class NFVIGuestAPI(object):
|
|
"""
|
|
Abstract NFVI Guest API Class Definition
|
|
"""
|
|
@abc.abstractproperty
|
|
def name(self):
|
|
"""
|
|
Returns the name of plugin
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractproperty
|
|
def version(self):
|
|
"""
|
|
Returns the version of the plugin
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractproperty
|
|
def provider(self):
|
|
"""
|
|
Returns the vendor who created the plugin
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractproperty
|
|
def signature(self):
|
|
"""
|
|
Returns the signature of the plugin
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def guest_services_create(self, future, instance_uuid, host_name,
|
|
services, callback):
|
|
"""
|
|
Guest Services Create
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def guest_services_set(self, future, instance_uuid, host_name,
|
|
services, callback):
|
|
"""
|
|
Guest Services Set
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def guest_services_delete(self, future, instance_uuid, callback):
|
|
"""
|
|
Guest Services Delete
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def guest_services_query(self, future, instance_uuid, callback):
|
|
"""
|
|
Guest Services Query
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def guest_services_vote(self, future, instance_uuid, host_name,
|
|
action_type, callback):
|
|
"""
|
|
Guest Services Vote
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def guest_services_notify(self, future, instance_uuid, host_name,
|
|
action_type, pre_notification, callback):
|
|
"""
|
|
Guest Services Notify
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def disable_host_services(self, future, host_uuid, host_name,
|
|
host_personality, callback):
|
|
"""
|
|
Disable guest services on a host using the plugin
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def enable_host_services(self, future, host_uuid, host_name,
|
|
host_personality, callback):
|
|
"""
|
|
Enable guest services on a host using the plugin
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def delete_host_services(self, future, host_uuid, host_name,
|
|
host_personality, callback):
|
|
"""
|
|
Delete guest services on a host using the plugin
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def create_host_services(self, future, host_uuid, host_name,
|
|
host_personality, callback):
|
|
"""
|
|
Create guest services on a host using the plugin
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def query_host_services(self, future, host_uuid, host_name,
|
|
host_personality, callback):
|
|
"""
|
|
Query guest services on a host using the plugin
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def register_host_services_query_callback(self, callback):
|
|
"""
|
|
Register for Host Services query
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def register_guest_services_query_callback(self, callback):
|
|
"""
|
|
Register for Guest Services query
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def register_guest_services_state_notify_callback(self, callback):
|
|
"""
|
|
Register for Guest Services notify service type event
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def register_guest_services_alarm_notify_callback(self, callback):
|
|
"""
|
|
Register for Guest Services notify for alarm type event
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def initialize(self, config_file):
|
|
"""
|
|
Initialize the plugin
|
|
"""
|
|
pass
|
|
|
|
@abc.abstractmethod
|
|
def finalize(self):
|
|
"""
|
|
Finalize the plugin
|
|
"""
|
|
pass
|