summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lcm/lcm/nf/serializers/vnfc_cp_info.py36
-rw-r--r--lcm/lcm/nf/serializers/vnfc_resource_info.py60
2 files changed, 96 insertions, 0 deletions
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)