diff options
Diffstat (limited to 'src/k8splugin/vnfd/vnfd.go')
-rw-r--r-- | src/k8splugin/vnfd/vnfd.go | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/src/k8splugin/vnfd/vnfd.go b/src/k8splugin/vnfd/vnfd.go deleted file mode 100644 index 0fb81dbd..00000000 --- a/src/k8splugin/vnfd/vnfd.go +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright 2018 Intel Corporation, Inc - * - * 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. - */ - -package vnfd - -import ( - "k8splugin/db" - "log" - - uuid "github.com/hashicorp/go-uuid" - pkgerrors "github.com/pkg/errors" -) - -// VNFDefinition contains the parameters needed for VNF Definitions -// It implements the interface for managing the definitions -type VNFDefinition struct { - Name string `json:"name"` - Description string `json:"description"` - UUID string `json:"uuid,omitempty"` - ServiceType string `json:"service-type"` -} - -// VNFDefinitionInterface is an interface exposes the VNFDefinition functionality -type VNFDefinitionInterface interface { - Create(vnfd VNFDefinition) (VNFDefinition, error) - List() ([]VNFDefinition, error) - Get(vnfID string) (VNFDefinition, error) - Delete(vnfID string) error -} - -// VNFDefinitionClient implements the VNFDefinitionInterface -// It will also be used to maintain some localized state -type VNFDefinitionClient struct { - keyPrefix string -} - -// GetVNFDClient Returns an instance of the VNFDefinitionClient -// which implements the VNFDefinitionInterface interface -func GetVNFDClient() *VNFDefinitionClient { - return &VNFDefinitionClient{ - keyPrefix: "vnfd/"} -} - -// Create creates an entry for the VNF in the database -func (v *VNFDefinitionClient) Create(vnfd VNFDefinition) (VNFDefinition, error) { - // If UUID is empty, we will generate one - if vnfd.UUID == "" { - vnfd.UUID, _ = uuid.GenerateUUID() - } - key := v.keyPrefix + vnfd.UUID - - serData, err := db.Serialize(v) - if err != nil { - return VNFDefinition{}, pkgerrors.Wrap(err, "Serialize VNF Definition") - } - - err = db.DBconn.Create(key, serData) - if err != nil { - return VNFDefinition{}, pkgerrors.Wrap(err, "Creating DB Entry") - } - - return vnfd, nil -} - -// List lists all vnf entries in the database -func (v *VNFDefinitionClient) List() ([]VNFDefinition, error) { - strArray, err := db.DBconn.ReadAll(v.keyPrefix) - if err != nil { - return []VNFDefinition{}, pkgerrors.Wrap(err, "Listing VNF Definitions") - } - - var retData []VNFDefinition - - for _, key := range strArray { - value, err := db.DBconn.Read(key) - if err != nil { - log.Printf("Error Reading Key: %s", key) - continue - } - if value != "" { - vnfd := VNFDefinition{} - err = db.DeSerialize(value, &vnfd) - if err != nil { - log.Printf("Error Deserializing Value: %s", value) - continue - } - retData = append(retData, vnfd) - } - } - - return retData, nil -} - -// Get returns the VNF Definition for corresponding ID -func (v *VNFDefinitionClient) Get(vnfID string) (VNFDefinition, error) { - value, err := db.DBconn.Read(v.keyPrefix + vnfID) - if err != nil { - return VNFDefinition{}, pkgerrors.Wrap(err, "Get VNF Definitions") - } - - if value != "" { - vnfd := VNFDefinition{} - err = db.DeSerialize(value, &vnfd) - if err != nil { - return VNFDefinition{}, pkgerrors.Wrap(err, "Deserializing Value") - } - return vnfd, nil - } - - return VNFDefinition{}, pkgerrors.New("Error getting VNF Definition") -} - -// Delete deletes the VNF Definition from database -func (v *VNFDefinitionClient) Delete(vnfID string) error { - err := db.DBconn.Delete(v.keyPrefix + vnfID) - if err != nil { - return pkgerrors.Wrap(err, "Delete VNF Definitions") - } - - return nil -} |