Documentation ¶
Overview ¶
Plugin SDK for Open Baton Managers. Uses the sdk package passing specific implementation of certain functions.
Index ¶
- Variables
- func GetBaseVimInstance(vimInstance interface{}) (*catalogue.BaseVimInstance, error)
- func GetConcrete(jsonArg json.RawMessage, destType interface{}) reflect.Value
- func GetDockerVimInstance(vimInstance interface{}) (*catalogue.DockerVimInstance, error)
- func GetOpenstackVimInstance(vimInstance interface{}) (*catalogue.OpenstackVimInstance, error)
- func GetVimInstance(jsonArg json.RawMessage, argValue map[string]interface{}) interface{}
- func Start(confPath string, h HandlerVim, name string, net catalogue.BaseNetworkInt, ...) error
- func StartWithConfig(typ, username, password, loglevel, brokerip string, ...) error
- type HandlerVim
- type PluginConfig
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrProtocolFail error = plugError{"protocol error, NFVO and plugin are out of sync"}
)
Functions ¶
func GetBaseVimInstance ¶
func GetBaseVimInstance(vimInstance interface{}) (*catalogue.BaseVimInstance, error)
Obtain a Generic vim instance from a interfaced struct
func GetConcrete ¶
func GetConcrete(jsonArg json.RawMessage, destType interface{}) reflect.Value
Unmarshal the json raw message to the right struct type for the Network and Image types
func GetDockerVimInstance ¶
func GetDockerVimInstance(vimInstance interface{}) (*catalogue.DockerVimInstance, error)
Obtain a Docker vim instance from a interfaced struct
func GetOpenstackVimInstance ¶
func GetOpenstackVimInstance(vimInstance interface{}) (*catalogue.OpenstackVimInstance, error)
Obtain a Openstack vim instance from a interfaced struct
func GetVimInstance ¶
func GetVimInstance(jsonArg json.RawMessage, argValue map[string]interface{}) interface{}
Unmarshal the json raw message to the right struct type for the Vim Instance types
func Start ¶
func Start(confPath string, h HandlerVim, name string, net catalogue.BaseNetworkInt, img catalogue.BaseImageInt) error
Start the plugin using the configuration file
func StartWithConfig ¶
func StartWithConfig(typ, username, password, loglevel, brokerip string, workers, brokerPort, timeout int, h HandlerVim, name string, net catalogue.BaseNetworkInt, img catalogue.BaseImageInt) error
Start the plugin with specific configuration
Types ¶
type HandlerVim ¶
type HandlerVim interface { AddFlavour(vimInstance interface{}, deploymentFlavour *catalogue.DeploymentFlavour) (*catalogue.DeploymentFlavour, error) AddImage(vimInstance interface{}, image catalogue.BaseImageInt, imageFile []byte) (catalogue.BaseImageInt, error) AddImageFromURL(vimInstance interface{}, image catalogue.BaseImageInt, imageURL string) (catalogue.BaseImageInt, error) CopyImage(vimInstance interface{}, image catalogue.BaseImageInt, imageFile []byte) (catalogue.BaseImageInt, error) CreateNetwork(vimInstance interface{}, network catalogue.BaseNetworkInt) (catalogue.BaseNetworkInt, error) CreateSubnet(vimInstance interface{}, createdNetwork catalogue.BaseNetworkInt, subnet *catalogue.Subnet) (*catalogue.Subnet, error) DeleteFlavour(vimInstance interface{}, extID string) (bool, error) DeleteImage(vimInstance interface{}, image catalogue.BaseImageInt) (bool, error) DeleteNetwork(vimInstance interface{}, extID string) (bool, error) DeleteServerByIDAndWait(vimInstance interface{}, id string) error DeleteSubnet(vimInstance interface{}, existingSubnetExtID string) (bool, error) Refresh(vimInstance interface{}) (interface{}, error) LaunchInstance( vimInstance interface{}, name, image, Flavour, keypair string, network []*catalogue.VNFDConnectionPoint, secGroup []string, userData string) (*catalogue.Server, error) LaunchInstanceAndWait( vimInstance interface{}, hostname, image, extID, keyPair string, network []*catalogue.VNFDConnectionPoint, securityGroups []string, s string) (*catalogue.Server, error) LaunchInstanceAndWaitWithIPs( vimInstance interface{}, hostname, image, extID, keyPair string, network []*catalogue.VNFDConnectionPoint, securityGroups []string, s string, floatingIps map[string]string, keys []*catalogue.Key) (*catalogue.Server, error) ListFlavours(vimInstance interface{}) ([]*catalogue.DeploymentFlavour, error) ListImages(vimInstance interface{}) (catalogue.BaseImageInt, error) ListNetworks(vimInstance interface{}) (catalogue.BaseNetworkInt, error) ListServer(vimInstance interface{}) ([]*catalogue.Server, error) NetworkByID(vimInstance interface{}, id string) (catalogue.BaseNetworkInt, error) Quota(vimInstance interface{}) (*catalogue.Quota, error) SubnetsExtIDs(vimInstance interface{}, networkExtID string) ([]string, error) Type(vimInstance interface{}) (string, error) UpdateFlavour(vimInstance interface{}, deploymentFlavour *catalogue.DeploymentFlavour) (*catalogue.DeploymentFlavour, error) UpdateImage(vimInstance interface{}, image catalogue.BaseImageInt) (catalogue.BaseImageInt, error) UpdateNetwork(vimInstance interface{}, network catalogue.BaseNetworkInt) (catalogue.BaseNetworkInt, error) UpdateSubnet(vimInstance interface{}, createdNetwork catalogue.BaseNetworkInt, subnet *catalogue.Subnet) (*catalogue.Subnet, error) RebuildServer(vimInstance interface{}, serverId string, imageId string) (*catalogue.Server, error) }
The Handler interface defines an abstraction of the operations that a VNFM should provide.
type PluginConfig ¶
type PluginConfig struct { Type string `toml:"type"` Workers int `toml:"workers"` Username string `toml:"username"` Password string `toml:"password"` LogLevel string `toml:"logLevel"` BrokerIp string `toml:"brokerIp"` BrokerPort int `toml:"brokerPort"` Timeout int `toml:"timeout"` }
The Config struct for a plugin
Click to show internal directories.
Click to hide internal directories.