summaryrefslogtreecommitdiffstats
path: root/lcm/lcm/nf/serializers
diff options
context:
space:
mode:
authoryangyan <yangyanyj@chinamobile.com>2019-01-07 10:12:50 +0800
committeryangyan <yangyanyj@chinamobile.com>2019-01-07 10:15:54 +0800
commit25a509434572aa364775721b5e8202ce4a765193 (patch)
tree53eb6634d6e7cbe27bb8ea42980983abb3f760ce /lcm/lcm/nf/serializers
parentbb8bf2ea36e8510d7a031d3a1fdbf9b792ee0446 (diff)
Update the scale-serializer module
Change-Id: Id64d3e4b8371deadb1f1780bf54db337dcce017b Signed-off-by: yangyan <yangyanyj@chinamobile.com> Issue-ID: VFC-1231
Diffstat (limited to 'lcm/lcm/nf/serializers')
-rw-r--r--lcm/lcm/nf/serializers/scale_vnf_request_serializer.py34
-rw-r--r--lcm/lcm/nf/serializers/scale_vnf_to_level_request_serializer.py38
2 files changed, 72 insertions, 0 deletions
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
index 00000000..3ab7564b
--- /dev/null
+++ b/lcm/lcm/nf/serializers/scale_vnf_request_serializer.py
@@ -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
index 00000000..d0fa1b11
--- /dev/null
+++ b/lcm/lcm/nf/serializers/scale_vnf_to_level_request_serializer.py
@@ -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)