def update(self, **kwargs):
        """Updates the object information based on live data, if there were any changes made. Any changes will be
        automatically applied to the object, but will not be automatically persisted. You must manually call
        `db.session.add(object)` on the object.

        Args:
            **kwargs (:obj:): AWS API Resource object fetched from AWS API

        Returns:
            `bool`
        """
        updated = False

        for prop in self.class_properties:
            key = prop['key']
            kwarg_key = to_camelcase(key)
            if kwarg_key in kwargs:
                if prop['required'] and not kwargs[kwarg_key]:
                    raise InquisitorError('Missing required property {}'.format(prop['name']))

                updated |= self.set_property(key, kwargs[kwarg_key])

        return updated