diff options
-rw-r--r-- | lcm/lcm/nf/serializers/address_range.py | 25 | ||||
-rw-r--r-- | lcm/lcm/nf/serializers/ip_addresse.py | 44 |
2 files changed, 69 insertions, 0 deletions
diff --git a/lcm/lcm/nf/serializers/address_range.py b/lcm/lcm/nf/serializers/address_range.py new file mode 100644 index 00000000..20c40a3d --- /dev/null +++ b/lcm/lcm/nf/serializers/address_range.py @@ -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 index 00000000..f273c423 --- /dev/null +++ b/lcm/lcm/nf/serializers/ip_addresse.py @@ -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) |