class TencentCloud::Cdwpg::V20201230::InstanceInfo

def deserialize(params)

def deserialize(params)
  @ID = params['ID']
  @InstanceType = params['InstanceType']
  @InstanceName = params['InstanceName']
  @Status = params['Status']
  @StatusDesc = params['StatusDesc']
  unless params['InstanceStateInfo'].nil?
    @InstanceStateInfo = InstanceStateInfo.new
    @InstanceStateInfo.deserialize(params['InstanceStateInfo'])
  end
  @InstanceID = params['InstanceID']
  @CreateTime = params['CreateTime']
  @Region = params['Region']
  @Zone = params['Zone']
  @RegionDesc = params['RegionDesc']
  @ZoneDesc = params['ZoneDesc']
  unless params['Tags'].nil?
    @Tags = []
    params['Tags'].each do |i|
      tag_tmp = Tag.new
      tag_tmp.deserialize(i)
      @Tags << tag_tmp
    end
  end
  @Version = params['Version']
  @Charset = params['Charset']
  @EngineVersion = params['EngineVersion']
  unless params['GTMNodes'].nil?
    @GTMNodes = []
    params['GTMNodes'].each do |i|
      instancenodegroup_tmp = InstanceNodeGroup.new
      instancenodegroup_tmp.deserialize(i)
      @GTMNodes << instancenodegroup_tmp
    end
  end
  unless params['CNNodes'].nil?
    @CNNodes = []
    params['CNNodes'].each do |i|
      instancenodegroup_tmp = InstanceNodeGroup.new
      instancenodegroup_tmp.deserialize(i)
      @CNNodes << instancenodegroup_tmp
    end
  end
  unless params['DNNodes'].nil?
    @DNNodes = []
    params['DNNodes'].each do |i|
      instancenodegroup_tmp = InstanceNodeGroup.new
      instancenodegroup_tmp.deserialize(i)
      @DNNodes << instancenodegroup_tmp
    end
  end
  unless params['BackupStorage'].nil?
    @BackupStorage = []
    params['BackupStorage'].each do |i|
      instancenodegroup_tmp = InstanceNodeGroup.new
      instancenodegroup_tmp.deserialize(i)
      @BackupStorage << instancenodegroup_tmp
    end
  end
  unless params['FNNodes'].nil?
    @FNNodes = []
    params['FNNodes'].each do |i|
      instancenodegroup_tmp = InstanceNodeGroup.new
      instancenodegroup_tmp.deserialize(i)
      @FNNodes << instancenodegroup_tmp
    end
  end
end