def _deserialize(self, params):
    self.InstanceId = params.get('InstanceId')
    self.InstanceName = params.get('InstanceName')
    self.PayMode = params.get('PayMode')
    self.ProjectId = params.get('ProjectId')
    self.ClusterType = params.get('ClusterType')
    self.Region = params.get('Region')
    self.Zone = params.get('Zone')
    self.NetType = params.get('NetType')
    self.VpcId = params.get('VpcId')
    self.SubnetId = params.get('SubnetId')
    self.Status = params.get('Status')
    self.Vip = params.get('Vip')
    self.Vport = params.get('Vport')
    self.CreateTime = params.get('CreateTime')
    self.DeadLine = params.get('DeadLine')
    self.MongoVersion = params.get('MongoVersion')
    self.Memory = params.get('Memory')
    self.Volume = params.get('Volume')
    self.CpuNum = params.get('CpuNum')
    self.MachineType = params.get('MachineType')
    self.SecondaryNum = params.get('SecondaryNum')
    self.ReplicationSetNum = params.get('ReplicationSetNum')
    self.AutoRenewFlag = params.get('AutoRenewFlag')
    self.UsedVolume = params.get('UsedVolume')
    self.MaintenanceStart = params.get('MaintenanceStart')
    self.MaintenanceEnd = params.get('MaintenanceEnd')
    if (params.get('ReplicaSets') is not None):
        self.ReplicaSets = []
        for item in params.get('ReplicaSets'):
            obj = MongodbShardInfo()
            obj._deserialize(item)
            self.ReplicaSets.append(obj)
    if (params.get('ReadonlyInstances') is not None):
        self.ReadonlyInstances = []
        for item in params.get('ReadonlyInstances'):
            obj = MongoDBInstance()
            obj._deserialize(item)
            self.ReadonlyInstances.append(obj)
    if (params.get('StandbyInstances') is not None):
        self.StandbyInstances = []
        for item in params.get('StandbyInstances'):
            obj = MongoDBInstance()
            obj._deserialize(item)
            self.StandbyInstances.append(obj)
    if (params.get('CloneInstances') is not None):
        self.CloneInstances = []
        for item in params.get('CloneInstances'):
            obj = MongoDBInstance()
            obj._deserialize(item)
            self.CloneInstances.append(obj)
    if (params.get('RelatedInstance') is not None):
        self.RelatedInstance = MongoDBInstance()
        self.RelatedInstance._deserialize(params.get('RelatedInstance'))
    if (params.get('Tags') is not None):
        self.Tags = []
        for item in params.get('Tags'):
            obj = TagInfo()
            obj._deserialize(item)
            self.Tags.append(obj)
    self.InstanceVer = params.get('InstanceVer')
    self.ClusterVer = params.get('ClusterVer')
    self.Protocol = params.get('Protocol')
    self.InstanceType = params.get('InstanceType')
    self.InstanceStatusDesc = params.get('InstanceStatusDesc')
    self.RealInstanceId = params.get('RealInstanceId')
    memeber_set = set(params.keys())
    for (name, value) in vars(self).items():
        if (name in memeber_set):
            memeber_set.remove(name)
    if (len(memeber_set) > 0):
        warnings.warn(('%s fileds are useless.' % ','.join(memeber_set)), Warning)
def _deserialize(self, params):
    self.InstanceId = params.get('InstanceId')
    self.InstanceName = params.get('InstanceName')
    self.PayMode = params.get('PayMode')
    self.ProjectId = params.get('ProjectId')
    self.ClusterType = params.get('ClusterType')
    self.Region = params.get('Region')
    self.Zone = params.get('Zone')
    self.NetType = params.get('NetType')
    self.VpcId = params.get('VpcId')
    self.SubnetId = params.get('SubnetId')
    self.Status = params.get('Status')
    self.Vip = params.get('Vip')
    self.Vport = params.get('Vport')
    self.CreateTime = params.get('CreateTime')
    self.DeadLine = params.get('DeadLine')
    self.MongoVersion = params.get('MongoVersion')
    self.Memory = params.get('Memory')
    self.Volume = params.get('Volume')
    self.CpuNum = params.get('CpuNum')
    self.MachineType = params.get('MachineType')
    self.SecondaryNum = params.get('SecondaryNum')
    self.ReplicationSetNum = params.get('ReplicationSetNum')
    self.AutoRenewFlag = params.get('AutoRenewFlag')
    self.UsedVolume = params.get('UsedVolume')
    self.MaintenanceStart = params.get('MaintenanceStart')
    self.MaintenanceEnd = params.get('MaintenanceEnd')
    if (params.get('ReplicaSets') is not None):
        self.ReplicaSets = []
        for item in params.get('ReplicaSets'):
            obj = MongodbShardInfo()
            obj._deserialize(item)
            self.ReplicaSets.append(obj)
    if (params.get('ReadonlyInstances') is not None):
        self.ReadonlyInstances = []
        for item in params.get('ReadonlyInstances'):
            obj = MongoDBInstance()
            obj._deserialize(item)
            self.ReadonlyInstances.append(obj)
    if (params.get('StandbyInstances') is not None):
        self.StandbyInstances = []
        for item in params.get('StandbyInstances'):
            obj = MongoDBInstance()
            obj._deserialize(item)
            self.StandbyInstances.append(obj)
    if (params.get('CloneInstances') is not None):
        self.CloneInstances = []
        for item in params.get('CloneInstances'):
            obj = MongoDBInstance()
            obj._deserialize(item)
            self.CloneInstances.append(obj)
    if (params.get('RelatedInstance') is not None):
        self.RelatedInstance = MongoDBInstance()
        self.RelatedInstance._deserialize(params.get('RelatedInstance'))
    if (params.get('Tags') is not None):
        self.Tags = []
        for item in params.get('Tags'):
            obj = TagInfo()
            obj._deserialize(item)
            self.Tags.append(obj)
    self.InstanceVer = params.get('InstanceVer')
    self.ClusterVer = params.get('ClusterVer')
    self.Protocol = params.get('Protocol')
    self.InstanceType = params.get('InstanceType')
    self.InstanceStatusDesc = params.get('InstanceStatusDesc')
    self.RealInstanceId = params.get('RealInstanceId')
    memeber_set = set(params.keys())
    for (name, value) in vars(self).items():
        if (name in memeber_set):
            memeber_set.remove(name)
    if (len(memeber_set) > 0):
        warnings.warn(('%s fileds are useless.' % ','.join(memeber_set)), Warning)