X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=lcm%2Flcm%2Fv2%2Fserializers.py;h=7a3d4484f37dfd7fd0c0f4d859407a73006f6066;hb=2c462ad938b2c55b2bf9f1dc85a7bd5ebd5995ea;hp=342c2a8c9cd54e4029548a2ec81ee7d2921f9540;hpb=efe27370a0be7a1f194340f5e2ae3d699a3943c2;p=vfc%2Fgvnfm%2Fvnflcm.git diff --git a/lcm/lcm/v2/serializers.py b/lcm/lcm/v2/serializers.py index 342c2a8c..7a3d4484 100644 --- a/lcm/lcm/v2/serializers.py +++ b/lcm/lcm/v2/serializers.py @@ -11,3 +11,128 @@ # 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 VimInfoSerializer(serializers.Serializer): + id = serializers.CharField( + help_text="The identifier of the VIM Connection. This identifier is managed by the NFVO.", + required=False, + max_length=255, + allow_null=True) + vimId = serializers.CharField( + help_text="The identifier of the VIM instance. This identifier is managed by the NFVO.", + required=False, + max_length=255, + allow_null=True) + vimType = serializers.CharField( + help_text="Discriminator for the different types of the VIM information.", + required=False, + max_length=255, + allow_null=True) + interfaceInfo = serializers.DictField( + help_text="Information about the interface or interfaces to the VIM", + child=serializers.CharField(allow_blank=True), + required=False, + allow_null=True) + accessInfo = serializers.DictField( + help_text="Authentication credentials for accessing the VIM, and other access-related information", + child=serializers.CharField(allow_blank=True), + required=False, + allow_null=True) + extra = serializers.DictField( + help_text="VIM type specific additional information.", + child=serializers.CharField(allow_blank=True), + required=False, + allow_null=True) + + +class ScaleInfoSerializer(serializers.Serializer): + aspectId = serializers.CharField( + help_text="Identifier of the scaling aspect.", + required=True, + max_length=255, + allow_null=True) + scaleLevel = serializers.IntegerField( + help_text="Indicates the scale level.", + required=True) + + +class instantiatedVnfInfoSerializer(serializers.Serializer): + flavourId = serializers.CharField( + help_text="Identifier of the VNF deployment flavour applied to this VNF instance.", + required=True, + max_length=255, + allow_null=True) + vnfState = serializers.ChoiceField( + help_text="State of the VNF instance.", + choices=["STARTED", "STOPPED"], + required=True, + allow_null=True) + scaleStatus = ScaleInfoSerializer( + help_text="Scale status of the VNF, one entry per aspect.", + required=False, + many=True) + + +class VnfInstanceSerializer(serializers.Serializer): + id = serializers.CharField( + help_text="Identifier of the VNF instance", + required=True) + vnfInstanceName = serializers.CharField( + help_text="Name of the VNF instance.", + required=False, + allow_null=True, + allow_blank=True) + vnfInstanceDescription = serializers.CharField( + help_text="Human-readable description of the VNF instance.", + required=False, + allow_null=True, + allow_blank=True) + vnfdId = serializers.CharField( + help_text="Identifier of the VNFD on which the VNF instance is based.", + required=False, + allow_null=True, + allow_blank=True) + vnfProvider = serializers.CharField( + help_text="Provider of the VNF and the VNFD. The value is copied from the VNFD.", + required=False, + allow_null=True, + allow_blank=True) + vnfProductName = serializers.CharField( + help_text="Name to identify the VNF Product. The value is copied from the VNFD.", + required=False, + allow_null=True, + allow_blank=True) + vnfSoftwareVersion = serializers.CharField( + help_text="Software version of the VNF. The value is copied from the VNFD.", + required=False, + allow_null=True, + allow_blank=True) + vnfdVersion = serializers.CharField( + help_text="Identifies the version of the VNFD. The value is copied from the VNFD.", + required=False, + allow_null=True, + allow_blank=True) + vnfPkgId = serializers.CharField( + help_text="Identifier of information held by the NFVO about the specific VNF package on which the VNF is based.", + required=False, + allow_null=True, + allow_blank=True) + vnfConfigurableProperties = serializers.DictField( + help_text="Current values of the configurable properties of the VNF instance.", + child=serializers.CharField(allow_blank=True), + required=False, + allow_null=True) + vimConnectionInfo = VimInfoSerializer( + help_text="Information about VIM connections to be used for managing the resources for the VNF instance.", + required=False, + allow_null=True) + instantiationState = serializers.ChoiceField( + help_text="The instantiation state of the VNF.", + choices=["NOT_INSTANTIATED", "INSTANTIATED"], + required=False, + allow_null=True) + instantiatedVnfInfo = instantiatedVnfInfoSerializer( + help_text="Information specific to an instantiated VNF instance.", + required=False)