summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lcm/lcm/nf/serializers/cp_protocol_info.py2
-rw-r--r--lcm/lcm/nf/serializers/ext_managed_virtual_link_info.py42
-rw-r--r--lcm/lcm/nf/serializers/instantiated_vnf_info.py4
-rw-r--r--lcm/lcm/nf/serializers/link.py20
-rw-r--r--lcm/lcm/nf/serializers/scale_info.py1
-rw-r--r--lcm/lcm/nf/serializers/vim_connection_info.py6
-rw-r--r--lcm/lcm/nf/serializers/virtual_storage_resource_info.py47
-rw-r--r--lcm/lcm/nf/serializers/vnf_instance.py6
-rw-r--r--lcm/lcm/nf/serializers/vnf_link_port_info.py37
-rw-r--r--lcm/lcm/nf/serializers/vnf_virtual_link_resource_info.py53
-rw-r--r--lcm/lcm/nf/serializers/vnfc_cp_info.py36
-rw-r--r--lcm/lcm/nf/serializers/vnfc_resource_info.py60
12 files changed, 304 insertions, 10 deletions
diff --git a/lcm/lcm/nf/serializers/cp_protocol_info.py b/lcm/lcm/nf/serializers/cp_protocol_info.py
index 770f7e41..cb2815d4 100644
--- a/lcm/lcm/nf/serializers/cp_protocol_info.py
+++ b/lcm/lcm/nf/serializers/cp_protocol_info.py
@@ -24,6 +24,6 @@ class CpProtocolInfoSerializer(serializers.Serializer):
allow_blank=False)
ipOverEthernet = serializers.DictField(
help_text="IP addresses over Ethernet to assign to the extCP instance.",
- child=serializers.CharField(allow_blank=True),
+ child=serializers.CharField(help_text="KeyValue Pairs", allow_blank=True),
required=False,
allow_null=True,)
diff --git a/lcm/lcm/nf/serializers/ext_managed_virtual_link_info.py b/lcm/lcm/nf/serializers/ext_managed_virtual_link_info.py
new file mode 100644
index 00000000..ae0107fb
--- /dev/null
+++ b/lcm/lcm/nf/serializers/ext_managed_virtual_link_info.py
@@ -0,0 +1,42 @@
+# Copyright 2018 ZTE Corporation.
+#
+# 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.
+
+from rest_framework import serializers
+
+from resource_handle import ResourceHandleSerializer
+from vnf_link_port_info import VnfLinkPortInfoSerializer
+
+
+class ExtManagedVirtualLinkInfoSerializer(serializers.Serializer):
+ id = serializers.CharField(
+ help_text="Identifier of the externally-managed internal VL and the related externally-managed VL information instance.",
+ max_length=255,
+ required=True,
+ allow_null=False,
+ allow_blank=False)
+ vnfVirtualLinkDescId = serializers.CharField(
+ help_text="Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.",
+ max_length=255,
+ required=True,
+ allow_null=False,
+ allow_blank=False)
+ networkResource = ResourceHandleSerializer(
+ help_text="ResourceHandle,reference to the VirtualNetwork resource.",
+ required=True,
+ allow_null=False)
+ vnfLinkPorts = VnfLinkPortInfoSerializer(
+ help_text="VnfLinkPortInfo, Link ports of this VL.",
+ many=True,
+ required=False,
+ allow_null=True)
diff --git a/lcm/lcm/nf/serializers/instantiated_vnf_info.py b/lcm/lcm/nf/serializers/instantiated_vnf_info.py
index a61aa202..1324b9b0 100644
--- a/lcm/lcm/nf/serializers/instantiated_vnf_info.py
+++ b/lcm/lcm/nf/serializers/instantiated_vnf_info.py
@@ -32,7 +32,7 @@ class InstantiatedVnfInfoSerializer(serializers.Serializer):
allow_blank=False)
vnfState = serializers.ChoiceField(
help_text="State of the VNF instance.",
- choices=["STARTED", "STOPPED", "NOT_INSTANTIATED", "INSTANTIATED", "FAILED"],
+ choices=["STARTED", "STOPPED"],
required=True,
allow_null=False,
allow_blank=False)
@@ -59,7 +59,7 @@ class InstantiatedVnfInfoSerializer(serializers.Serializer):
allow_null=True)
monitoringParameters = serializers.DictField(
help_text="Active monitoring parameters.",
- child=serializers.CharField(allow_blank=True),
+ child=serializers.CharField(help_text="KeyValue Pairs", allow_blank=True),
required=False,
allow_null=True)
localizationLanguage = serializers.CharField(
diff --git a/lcm/lcm/nf/serializers/link.py b/lcm/lcm/nf/serializers/link.py
new file mode 100644
index 00000000..489cbf37
--- /dev/null
+++ b/lcm/lcm/nf/serializers/link.py
@@ -0,0 +1,20 @@
+# 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.
+
+from rest_framework import serializers
+
+
+class LinkSerializer(serializers.Serializer):
+ href = serializers.CharField(
+ help_text="URI of the referenced resource.",
+ required=True,
+ allow_null=False,
+ allow_blank=False)
diff --git a/lcm/lcm/nf/serializers/scale_info.py b/lcm/lcm/nf/serializers/scale_info.py
index 041e4ea9..a97d42c2 100644
--- a/lcm/lcm/nf/serializers/scale_info.py
+++ b/lcm/lcm/nf/serializers/scale_info.py
@@ -25,7 +25,6 @@ class ScaleInfoSerializer(serializers.Serializer):
scaleLevel = serializers.IntegerField(
help_text="Indicates the scale level. \
The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.",
- max_length=255,
required=True,
allow_null=False,
allow_blank=False)
diff --git a/lcm/lcm/nf/serializers/vim_connection_info.py b/lcm/lcm/nf/serializers/vim_connection_info.py
index fa397307..b34b70d5 100644
--- a/lcm/lcm/nf/serializers/vim_connection_info.py
+++ b/lcm/lcm/nf/serializers/vim_connection_info.py
@@ -36,17 +36,17 @@ class VimConnectionInfoSerializer(serializers.Serializer):
allow_blank=False)
interfaceInfo = serializers.DictField(
help_text="Information about the interface or interfaces to the VIM",
- child=serializers.CharField(allow_blank=True),
+ child=serializers.CharField(help_text="KeyValue Pairs", allow_blank=True),
required=False,
allow_null=True)
accessInfo = serializers.DictField(
help_text="Authentication credentials for accessing the VIM, and other access-related information",
- child=serializers.CharField(allow_blank=True),
+ child=serializers.CharField(help_text="KeyValue Pairs", allow_blank=True),
required=False,
allow_null=True)
extra = serializers.DictField(
help_text="VIM type specific additional information. \
The applicable structure, and whether or not this attribute is available, is dependent on the content of vimType.",
- child=serializers.CharField(allow_blank=True),
+ child=serializers.CharField(help_text="KeyValue Pairs", allow_blank=True),
required=False,
allow_null=True)
diff --git a/lcm/lcm/nf/serializers/virtual_storage_resource_info.py b/lcm/lcm/nf/serializers/virtual_storage_resource_info.py
new file mode 100644
index 00000000..5c864f9b
--- /dev/null
+++ b/lcm/lcm/nf/serializers/virtual_storage_resource_info.py
@@ -0,0 +1,47 @@
+# Copyright 2018 ZTE Corporation.
+#
+# 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.
+
+from rest_framework import serializers
+
+from resource_handle import ResourceHandleSerializer
+
+
+class VirtualStorageResourceInfoSerializer(serializers.Serializer):
+ id = serializers.CharField(
+ help_text="Identifier of this VirtualStorageResourceInfo instance.",
+ max_length=255,
+ required=True,
+ allow_null=False,
+ allow_blank=False)
+ virtualStorageDescId = serializers.CharField(
+ help_text="Identifier of the VirtualStorageDesc in the VNFD.",
+ max_length=255,
+ required=True,
+ allow_null=False,
+ allow_blank=False)
+ storageResource = ResourceHandleSerializer(
+ help_text="Reference to the VirtualStorage resource.",
+ required=True,
+ allow_null=False)
+ reservationId = serializers.CharField(
+ help_text="The reservation identifier applicable to the resource.",
+ max_length=255,
+ required=False,
+ allow_null=True,
+ allow_blank=True)
+ metadata = serializers.DictField(
+ help_text="Metadata about this resource.",
+ child=serializers.CharField(help_text="KeyValue Pairs", allow_blank=True),
+ required=False,
+ allow_null=True)
diff --git a/lcm/lcm/nf/serializers/vnf_instance.py b/lcm/lcm/nf/serializers/vnf_instance.py
index df7e1179..bfcbd298 100644
--- a/lcm/lcm/nf/serializers/vnf_instance.py
+++ b/lcm/lcm/nf/serializers/vnf_instance.py
@@ -84,7 +84,7 @@ class VnfInstanceSerializer(serializers.Serializer):
vnfConfigurableProperties = serializers.DictField(
help_text="Current values of the configurable properties of the VNF instance. \
Configurable properties referred in this attribute are declared in the VNFD",
- child=serializers.CharField(allow_blank=True),
+ child=serializers.CharField(help_text="KeyValue Pairs", allow_blank=True),
required=False,
allow_null=True,)
vimConnectionInfo = VimConnectionInfoSerializer(
@@ -106,13 +106,13 @@ class VnfInstanceSerializer(serializers.Serializer):
metadata = serializers.DictField(
help_text="Additional VNF-specific metadata describing the VNF instance.\
This attribute can be modified with the PATCH method.",
- child=serializers.CharField(allow_blank=True),
+ child=serializers.CharField(help_text="KeyValue Pairs", allow_blank=True),
required=False,
allow_null=True)
extensions = serializers.DictField(
help_text="VNF-specific attributes that affect the lifecycle management of this VNF instance by the VNFM, or the lifecycle management scripts. \
This attribute can be modified with the PATCH method.",
- child=serializers.CharField(allow_blank=True),
+ child=serializers.CharField(help_text="KeyValue Pairs", allow_blank=True),
required=False,
allow_null=True)
_links = _LinksSerializer(
diff --git a/lcm/lcm/nf/serializers/vnf_link_port_info.py b/lcm/lcm/nf/serializers/vnf_link_port_info.py
new file mode 100644
index 00000000..06201aef
--- /dev/null
+++ b/lcm/lcm/nf/serializers/vnf_link_port_info.py
@@ -0,0 +1,37 @@
+# Copyright 2018 ZTE Corporation.
+#
+# 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.
+
+from rest_framework import serializers
+
+from resource_handle import ResourceHandleSerializer
+
+
+class VnfLinkPortInfoSerializer(serializers.Serializer):
+ id = serializers.CharField(
+ help_text="Identifier of this link port as provided by the entity that has created the link port.",
+ max_length=255,
+ required=True,
+ allow_null=False,
+ allow_blank=False)
+ resourceHandle = ResourceHandleSerializer(
+ help_text="Reference to the virtualised network resource realizing this link port.",
+ required=True,
+ allow_null=False)
+ cpInstanceId = serializers.CharField(
+ help_text="When the link port is used for external connectivity by the VNF, \
+ this attribute represents the identifier of the external CP of the VNF to be connected to this link port.",
+ max_length=255,
+ required=False,
+ allow_null=True,
+ allow_blank=True)
diff --git a/lcm/lcm/nf/serializers/vnf_virtual_link_resource_info.py b/lcm/lcm/nf/serializers/vnf_virtual_link_resource_info.py
new file mode 100644
index 00000000..e5c9d4c4
--- /dev/null
+++ b/lcm/lcm/nf/serializers/vnf_virtual_link_resource_info.py
@@ -0,0 +1,53 @@
+# Copyright 2018 ZTE Corporation.
+#
+# 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.
+
+from rest_framework import serializers
+from resource_handle import ResourceHandleSerializer
+from vnf_link_port_info import VnfLinkPortInfoSerializer
+
+
+class VnfVirtualLinkResourceInfoSerializer(serializers.Serializer):
+ id = serializers.CharField(
+ help_text="Identifier of this VnfVirtualLinkResourceInfo instance.",
+ max_length=255,
+ required=True,
+ allow_null=False,
+ allow_blank=False)
+ virtualLinkDescId = serializers.CharField(
+ help_text="Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.",
+ max_length=255,
+ required=True,
+ allow_null=False,
+ allow_blank=False)
+ networkResource = ResourceHandleSerializer(
+ help_text="Reference to the VirtualNetwork resource.",
+ required=True,
+ allow_null=False)
+ reservationId = serializers.CharField(
+ help_text="The reservation identifier applicable to the resource.",
+ max_length=255,
+ required=False,
+ allow_null=True,
+ allow_blank=True)
+ vnfLinkPorts = VnfLinkPortInfoSerializer(
+ help_text="Links ports of this VL. \
+ Shall be present when the linkPort is used for external connectivity by the VNF",
+ many=True,
+ required=False,
+ allow_null=True)
+ metadata = serializers.DictField(
+ help_text="Metadata about this resource.",
+ child=serializers.CharField(help_text="KeyValue Pairs", allow_blank=True),
+ required=False,
+ allow_null=True)
diff --git a/lcm/lcm/nf/serializers/vnfc_cp_info.py b/lcm/lcm/nf/serializers/vnfc_cp_info.py
new file mode 100644
index 00000000..693aba16
--- /dev/null
+++ b/lcm/lcm/nf/serializers/vnfc_cp_info.py
@@ -0,0 +1,36 @@
+
+from rest_framework import serializers
+
+from cp_protocol_info import CpProtocolInfoSerializer
+
+
+class VnfcCpInfoSerializer(serializers.Serializer):
+ id = serializers.CharField(
+ help_text="Identifier of the external CP instance and the related information instance.",
+ max_length=255,
+ required=True,
+ allow_null=False,
+ allow_blank=False)
+ cpdId = serializers.CharField(
+ help_text="Identifier of the external CPD, VnfExtCpd, in the VNFD.",
+ max_length=255,
+ required=True,
+ allow_null=False,
+ allow_blank=False)
+ vnfExtCpId = serializers.CharField(
+ help_text="When the VNFC CP is exposed as external CP of the VNF, the identifier of this external VNF CP.",
+ required=False,
+ max_length=255,
+ allow_null=True,
+ allow_blank=True)
+ cpProtocolInfo = CpProtocolInfoSerializer(
+ help_text="Network protocol information for this CP.",
+ many=True,
+ required=False,
+ allow_null=True)
+ vnfLinkPortId = serializers.CharField(
+ help_text="Identifier of the vnfLinkPorts structure in the vnfVirtualLinkResourceInfo structure.",
+ max_length=255,
+ required=True,
+ allow_null=False,
+ allow_blank=False)
diff --git a/lcm/lcm/nf/serializers/vnfc_resource_info.py b/lcm/lcm/nf/serializers/vnfc_resource_info.py
new file mode 100644
index 00000000..2c6c4f19
--- /dev/null
+++ b/lcm/lcm/nf/serializers/vnfc_resource_info.py
@@ -0,0 +1,60 @@
+# Copyright 2018 ZTE Corporation.
+#
+# 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.
+
+from rest_framework import serializers
+
+from resource_handle import ResourceHandleSerializer
+from vnfc_cp_info import VnfcCpInfoSerializer
+
+
+class VnfcResourceInfoSerializer(serializers.Serializer):
+ id = serializers.CharField(
+ help_text="Identifier of this VnfcResourceInfo instance.",
+ max_length=255,
+ required=False,
+ allow_null=False)
+ vduId = serializers.CharField(
+ help_text="Reference to the applicable VDU in the VNFD.",
+ max_length=255,
+ required=False,
+ allow_null=False)
+ computeResource = ResourceHandleSerializer(
+ help_text="Reference to the VirtualCompute resource.",
+ required=True,
+ allow_null=False)
+ storageResourceIds = serializers.CharField(
+ help_text="References to the VirtualStorage resources. \
+ The value refers to a VirtualStorageResourceInfo item in the VnfInstance.",
+ max_length=255,
+ many=True,
+ required=False,
+ allow_null=True,
+ allow_blank=True)
+ reservationId = serializers.CharField(
+ help_text="The reservation identifier applicable to the resource.",
+ max_length=255,
+ required=False,
+ allow_null=True,
+ allow_blank=True)
+ vnfcCpInfo = VnfcCpInfoSerializer(
+ help_text="CPs of the VNFC instance. \
+ Shall be present when that particular CP of the VNFC instance is associated to an external CP of the VNF instance.",
+ many=True,
+ required=False,
+ allow_null=True)
+ metadata = serializers.DictField(
+ help_text="Metadata about this resource.",
+ child=serializers.CharField(help_text="KeyValue Pairs", allow_blank=True),
+ required=False,
+ allow_null=True)