apiVersion: v1
-kind: OnapNetwork
+kind: Network
 metadata:
   name: ovn-priv-net
 spec:
-  config: '{
-         "cnitype": "ovn4nfvk8s",
-         "name": "mynet",
-         "subnet": "172.16.33.0/24",
-         "gateway": "172.16.33.1",
-         "routes": [{
-                 "dst": "172.16.29.1/24",
-                 "gw": "100.64.1.1"
-         }]
-  }'
\ No newline at end of file
+  cnitype: "ovn4nfvk8s"
+  name:    "ovn-priv-net"
+  subnet:  "172.16.33.0/24"
+  gateway: "172.16.33.1/24"
 
                return "", pkgerrors.Wrap(err, "Decode network object error")
        }
 
-       config, err := network.DecodeConfig()
-       if err != nil {
-               return "", pkgerrors.Wrap(err, "Fail to decode network's configuration")
-       }
-
-       cniType := config["cnitype"].(string)
+       cniType := network.Spec.CniType
        typePlugin, ok := utils.LoadedPlugins[cniType+"-network"]
        if !ok {
                return "", pkgerrors.New("No plugin for resource " + cniType + " found")
 
                        input: &utils.ResourceData{
                                YamlFilePath: "../../mock_files/mock_yamls/service.yaml",
                        },
-                       expectedError: "Fail to decode network's configuration: Invalid configuration value",
+                       expectedError: "No plugin for resource",
                },
                {
                        label: "Fail to create a network",
 
 package v1
 
 import (
-       "encoding/json"
 
-       pkgerrors "github.com/pkg/errors"
        metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1"
        "k8s.io/apimachinery/pkg/runtime"
        "k8s.io/apimachinery/pkg/runtime/schema"
 
 // OnapNetworkSpec is the spec for OnapNetwork resource
 type OnapNetworkSpec struct {
-       Config string `json:"config"`
+        CniType     string `json:"cnitype"`
+        Name        string `json:"name"`
+        Subnet      string `json:"subnet"`
+        Gateway     string `json:"gateway"`
+
 }
 
 // DeepCopyObject returns a generically typed copy of an object
 func (in OnapNetwork) GetObjectKind() schema.ObjectKind {
        return &in.TypeMeta
 }
-
-// DecodeConfig content
-func (in OnapNetwork) DecodeConfig() (map[string]interface{}, error) {
-       var raw map[string]interface{}
-
-       if in.Spec.Config == "" {
-               return nil, pkgerrors.New("Invalid configuration value")
-       }
-
-       if err := json.Unmarshal([]byte(in.Spec.Config), &raw); err != nil {
-               return nil, pkgerrors.Wrap(err, "JSON unmarshalling error")
-       }
-
-       return raw, nil
-}
 
 
 // CreateNetwork in OVN controller
 func CreateNetwork(network *v1.OnapNetwork) (string, error) {
-       config, err := network.DecodeConfig()
-       if err != nil {
-               return "", err
-       }
 
-       name := config["name"].(string)
-       if name == "" {
-               return "", pkgerrors.New("Empty Name value")
-       }
+        name := network.Spec.Name
+        if name == "" {
+                return "", pkgerrors.New("Invalid Network Name")
+        }
 
-       subnet := config["subnet"].(string)
-       if subnet == "" {
-               return "", pkgerrors.New("Empty Subnet value")
-       }
+        subnet := network.Spec.Subnet
+        if subnet == "" {
+                return "", pkgerrors.New("Invalid Subnet Address")
+        }
 
-       gatewayIPMask := config["gateway"].(string)
-       if gatewayIPMask == "" {
-               return "", pkgerrors.New("Empty Gateway IP Mask")
-       }
+        gatewayIPMask := network.Spec.Gateway
+        if gatewayIPMask == "" {
+                return "", pkgerrors.New("Invalid Gateway Address")
+        }
 
        routerMac, stderr, err := ovnCmd.Run(getAuthStr(), "--if-exist", "-v", "get", "logical_router_port", "rtos-"+name, "mac")
        if err != nil {
 
                {
                        label:         "Fail to decode a network",
                        input:         &v1.OnapNetwork{},
-                       expectedError: "Invalid configuration value",
+                       expectedError: "Invalid Network Name",
                },
                {
                        label: "Fail to create a network",
                                        Name: "test",
                                },
                                Spec: v1.OnapNetworkSpec{
-                                       Config: "{\"cnitype\": \"ovn4nfvk8s\",\"name\": \"mynet\",\"subnet\": \"172.16.33.0/24\",\"gateway\": \"172.16.33.1\",\"routes\": [{\"dst\": \"172.16.29.1/24\",\"gw\": \"100.64.1.1\"}]}",
+                                       CniType: "ovn4nfvk8s", Name: "mynet", Subnet: "172.16.33.0/24", Gateway: "172.16.33.1/24",
                                },
                        },
                        expectedError: "Failed to get logical router",
                                        Name: "test",
                                },
                                Spec: v1.OnapNetworkSpec{
-                                       Config: "{\"cnitype\": \"ovn4nfvk8s\",\"name\": \"mynet\",\"subnet\": \"172.16.33.0/24\",\"gateway\": \"172.16.33.1\",\"routes\": [{\"dst\": \"172.16.29.1/24\",\"gw\": \"100.64.1.1\"}]}",
+                                       CniType: "ovn4nfvk8s", Name: "mynet", Subnet: "172.16.33.0/24", Gateway: "172.16.33.1/24",
                                },
                        },
                        expectedResult: "mynet",