Modify vnf instantiation related stuffs. 67/59767/1
authorlaili <lai.li@zte.com.cn>
Thu, 9 Aug 2018 03:20:14 +0000 (11:20 +0800)
committerlaili <lai.li@zte.com.cn>
Thu, 9 Aug 2018 03:20:14 +0000 (11:20 +0800)
Add address_range.py used by ip_addresse.py to serializers.
Add ip_addresse.py used by ip_over_ethernet_address_data.py to serializers.

Change-Id: I96cc12f571d87b3d0aa169b307045a8569d18d70
Issue-ID: VFC-1017
Signed-off-by: laili <lai.li@zte.com.cn>
lcm/lcm/nf/serializers/address_range.py [new file with mode: 0644]
lcm/lcm/nf/serializers/ip_addresse.py [new file with mode: 0644]

diff --git a/lcm/lcm/nf/serializers/address_range.py b/lcm/lcm/nf/serializers/address_range.py
new file mode 100644 (file)
index 0000000..20c40a3
--- /dev/null
@@ -0,0 +1,25 @@
+# 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 AddressRangeSerializer(serializers.Serializer):
+    minAddress = serializers.CharField(
+        help_text="Lowest IP address belonging to the range.",
+        required=True,
+        allow_null=False,
+        allow_blank=False)
+    maxAddress = serializers.CharField(
+        help_text="Highest IP address belonging to the range.",
+        required=True,
+        allow_null=False,
+        allow_blank=False)
diff --git a/lcm/lcm/nf/serializers/ip_addresse.py b/lcm/lcm/nf/serializers/ip_addresse.py
new file mode 100644 (file)
index 0000000..f273c42
--- /dev/null
@@ -0,0 +1,44 @@
+# 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 address_range import AddressRangeSerializer
+
+
+class IpAddresseSerializer(serializers.Serializer):
+    type = serializers.ChoiceField(
+        help_text="The type of the IP addresses.",
+        choices=["IPV4", "IPV6"],
+        required=True,
+        allow_null=False,
+        allow_blank=False)
+    fixedAddresses = serializers.ListSerializer(
+        help_text="Fixed addresses to assign.",
+        child=serializers.CharField(help_text="IpAddress"),
+        required=False,
+        allow_null=True)
+    numDynamicAddresses = serializers.IntegerField(
+        help_text="Number of dynamic addresses to assign.",
+        required=False,
+        allow_null=True)
+    addressRange = AddressRangeSerializer(
+        help_text="An IP address range to be used, e.g. in case of egress connections. \
+        In case this attribute is present, IP addresses from the range will be used.",
+        required=False,
+        allow_null=True, )
+    subnetId = serializers.CharField(
+        help_text="Subnet defined by the identifier of the subnet resource in the VIM. \
+        In case this attribute is present, IP addresses from that subnet will be assigned; \
+        otherwise, IP addresses not bound to a subnet will be assigned.",
+        max_length=255,
+        required=False,
+        allow_null=True,
+        allow_blank=True)