Update the scale-serializer module 37/75337/1
authoryangyan <yangyanyj@chinamobile.com>
Mon, 7 Jan 2019 02:12:50 +0000 (10:12 +0800)
committeryangyan <yangyanyj@chinamobile.com>
Mon, 7 Jan 2019 02:15:54 +0000 (10:15 +0800)
Change-Id: Id64d3e4b8371deadb1f1780bf54db337dcce017b
Signed-off-by: yangyan <yangyanyj@chinamobile.com>
Issue-ID: VFC-1231

lcm/lcm/nf/serializers/scale_vnf_request_serializer.py [new file with mode: 0644]
lcm/lcm/nf/serializers/scale_vnf_to_level_request_serializer.py [new file with mode: 0644]

diff --git a/lcm/lcm/nf/serializers/scale_vnf_request_serializer.py b/lcm/lcm/nf/serializers/scale_vnf_request_serializer.py
new file mode 100644 (file)
index 0000000..3ab7564
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright (c) 2019, CMCC Technologies Co., Ltd.
+
+# 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
+
+
+class ScaleVnfRequestSerializer(serializers.Serializer):
+    type = serializers.ChoiceField(help_text="Indicates the type of the scale operation requested.",
+                                   choices=['SCALE_OUT', 'SCALE_IN'], required=True)
+    aspectId = serializers.CharField(help_text="Identifier of the scaling aspect.", required=True)
+    numberOfSteps = serializers.IntegerField(help_text="Number of scaling steps to be executed as part"
+                                                       "of this Scale VNF operation.", required=False,
+                                             allow_null=True, default=1, min_value=0)
+    additionalParams = serializers.DictField(help_text="Additional parameters passed by the NFVO as input"
+                                                       "to the scaling process, specific to the VNF being"
+                                                       "scaled, as declared in the VNFD as part of"
+                                                       "'ScaleVnfOpConfig'.", required=False, allow_null=True,
+                                             child=serializers.CharField(help_text="KeyValue Pairs",
+                                                                         allow_blank=True))
+
+
+class NfOperateJobSerializer(serializers.Serializer):
+    jobId = serializers.CharField(help_text="ID of NF operate job", required=True)
diff --git a/lcm/lcm/nf/serializers/scale_vnf_to_level_request_serializer.py b/lcm/lcm/nf/serializers/scale_vnf_to_level_request_serializer.py
new file mode 100644 (file)
index 0000000..d0fa1b1
--- /dev/null
@@ -0,0 +1,38 @@
+# Copyright (c) 2019, CMCC Technologies Co., Ltd.
+
+# 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
+
+
+class ScaleInfoSerializer(serializers.Serializer):
+    aspectId = serializers.CharField(help_text="Identifier of the scaling aspect.", required=True)
+    scaleLevel = serializers.IntegerField(help_text="Indicates the scale level.", required=True, min_value=0)
+
+
+class ScaleVnfToLevelRequestSerializer(serializers.Serializer):
+    instantiationLevelId = serializers.CharField(help_text="Identifier of the target instantiation level of"
+                                                           "the current deployment flavour to which the VNF is"
+                                                           "requested to be scaled.", required=False,
+                                                 allow_null=True)
+    scaleInfo = ScaleInfoSerializer(help_text="For each scaling aspect of the current deployment flavour,"
+                                              "indicates the target scale level to which the VNF is to be"
+                                              "scaled.", many=True)
+    additionalParams = serializers.DictField(help_text="Additional parameters passed by the NFVO as input"
+                                                       "to the scaling process,", required=False, allow_null=True,
+                                             child=serializers.CharField(help_text="KeyValue Pairs",
+                                                                         allow_blank=True))
+
+
+class NfOperateJobSerializer(serializers.Serializer):
+    jobId = serializers.CharField(help_text="ID of NF operate job", required=True)