# 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 class JobHistorySerializer(serializers.Serializer): status = serializers.CharField( help_text="Status of job", required=True, allow_null=False) progress = serializers.IntegerField( help_text="Progress of job", required=True, allow_null=False) statusDescription = serializers.CharField( help_text="Description of job", required=False, allow_null=True) errorCode = serializers.CharField( help_text="Error code of job", required=False, allow_blank=True) responseId = serializers.IntegerField( help_text="Response index of job", required=True, allow_null=False) class JobDescriptorSerializer(serializers.Serializer): status = serializers.CharField( help_text="Status of job", required=True, allow_null=False) progress = serializers.IntegerField( help_text="Progress of job", required=True, allow_null=False) statusDescription = serializers.CharField( help_text="Description of job", required=False, allow_null=True) errorCode = serializers.CharField( help_text="Error code of job", required=False, allow_blank=True) responseId = serializers.IntegerField( help_text="Response index of job", required=True, allow_null=False) responseHistoryList = JobHistorySerializer( help_text="History of job", many=True) class JobQueryRespSerializer(serializers.Serializer): jobId = serializers.CharField( help_text="UUID of job", required=True, allow_null=False) responseDescriptor = JobDescriptorSerializer( help_text="Descriptor of job", required=False) class GrantVmlistSerializer(serializers.Serializer): VMNumber = serializers.CharField( help_text="VMNumber", max_length=255, required=False, allow_null=True) VMFlavor = serializers.CharField( help_text="VMFlavor", max_length=255, required=False, allow_null=True) vimid = serializers.CharField( help_text="vimid", max_length=255, required=True, allow_blank=True) tenant = serializers.CharField( help_text="tenant", max_length=255, required=False, allow_blank=True) class GrantReqSerializer(serializers.Serializer): nfvoid = serializers.CharField( help_text="nfvoid", max_length=255, required=True, allow_null=True) vnfmid = serializers.CharField( help_text="vnfmid", max_length=255, required=True, allow_null=True) vimid = serializers.CharField( help_text="vimid", max_length=255, required=True, allow_null=True) tenant = serializers.CharField( help_text="tenant", max_length=255, required=False, allow_blank=True) vnfinstanceid = serializers.CharField( help_text="vnfinstanceid", max_length=255, required=False, allow_null=True) operationright = serializers.CharField( help_text="operationright", max_length=255, required=False, allow_null=True) vmlist = GrantVmlistSerializer( help_text='vmlist', required=False, many=True) exvimidlist = serializers.ListSerializer( help_text='exvimidlist', child=serializers.CharField(allow_null=True), required=False) class GrantRespSerializer(serializers.Serializer): vimid = serializers.CharField( help_text="vimid", max_length=255, required=True, allow_null=True) tenant = serializers.CharField( help_text="tenant", max_length=255, required=True, allow_null=True) class VMIDlistSerializer(serializers.Serializer): VMID = serializers.CharField( help_text="VMID", max_length=255, required=False, allow_null=True) VMName = serializers.CharField( help_text="VMName", max_length=255, required=False, allow_null=True) vimid = serializers.CharField( help_text="vimid", max_length=255, required=False, allow_null=True) tenant = serializers.CharField( help_text="tenant", max_length=255, required=False, allow_null=True) class NotifyVmlistSerializer(serializers.Serializer): VMNumber = serializers.CharField( help_text="VMNumber", max_length=255, required=False, allow_null=True) vdutype = serializers.CharField( help_text="vdutype", max_length=255, required=False, allow_null=True) VMFlavor = serializers.CharField( help_text="VMFlavor", max_length=255, required=False, allow_null=True) VMIDlist = serializers.ListSerializer( help_text='VMIDlist', child=VMIDlistSerializer(help_text='VMIDlist', required=True, allow_null=True), required=False, allow_null=True) class NotifyReqSerializer(serializers.Serializer): nfvoid = serializers.CharField( help_text="nfvoid", max_length=255, required=True, allow_null=True) vnfmid = serializers.CharField( help_text="vnfmid", max_length=255, required=True, allow_null=True) vimid = serializers.CharField( help_text="vimid", max_length=255, required=True, allow_null=True) timestamp = serializers.CharField( help_text="timestamp", max_length=255, required=False, allow_blank=True) vnfinstanceid = serializers.CharField( help_text="vnfinstanceid", max_length=255, required=False, allow_null=True) eventtype = serializers.CharField( help_text="eventtype", max_length=255, required=False, allow_null=True) vmlist = NotifyVmlistSerializer( help_text='vmlist', required=False, many=True) extension = serializers.DictField( help_text="extension", child=serializers.DictField(allow_null=True), required=False, allow_null=True) affectedcp = serializers.ListSerializer( help_text='affectedcp', child=serializers.DictField(allow_null=True), required=False) affectedvirtuallink = serializers.ListSerializer( help_text='affectedvirtuallink', child=serializers.DictField(allow_null=True), required=False) class ScaleReqSerializer(serializers.Serializer): type = serializers.CharField( help_text="type", max_length=255, required=True, allow_null=True) aspectId = serializers.CharField( help_text="aspectId", max_length=255, required=True, allow_null=True) numberOfSteps = serializers.CharField( help_text="numberOfSteps", max_length=255, required=True, allow_null=True) additionalParam = serializers.DictField( help_text="additionalParam", child=serializers.DictField(allow_null=True), required=False, allow_null=True) class AffectedvmSerializer(serializers.Serializer): extention = serializers.CharField( help_text="extention", max_length=255, required=True, allow_blank=True) vmid = serializers.CharField( help_text="vmid", max_length=255, required=True, allow_null=True) changtype = serializers.CharField( help_text="changtype", max_length=255, required=True, allow_null=True) vduid = serializers.CharField( help_text="vduid", max_length=255, required=True, allow_null=True) vmname = serializers.CharField( help_text="vmname", max_length=255, required=True, allow_null=True) flavour = serializers.DictField( help_text="flavour", child=serializers.CharField(allow_blank=True), required=False, allow_null=True) class HealReqSerializer(serializers.Serializer): action = serializers.CharField( help_text="action", max_length=255, required=True, allow_null=False) lifecycleoperation = serializers.CharField( help_text="lifecycleoperation", max_length=255, required=True, allow_null=False) isgrace = serializers.CharField( help_text="isgrace", max_length=255, required=False, allow_null=True) affectedvm = serializers.ListSerializer( help_text='affectedvm', child=AffectedvmSerializer(help_text='affectedvm', required=True, allow_null=True), required=True, allow_null=True) class InstScaleHealRespSerializer(serializers.Serializer): jobId = serializers.CharField( help_text="jobid", max_length=255, required=True, allow_null=True) vnfInstanceId = serializers.CharField( help_text="nfInstanceId", max_length=255, required=True, allow_null=True)