The watcher.notifications.base Module

The watcher.notifications.base Module

class watcher.notifications.base.EventType(**kwargs)[source]

Bases: watcher.notifications.base.NotificationObject

to_notification_event_type_field()[source]

Serialize the object to the wire format.

class watcher.notifications.base.NotificationBase(**kwargs)[source]

Bases: watcher.notifications.base.NotificationObject

Base class for versioned notifications.

Every subclass shall define a ‘payload’ field.

emit(context)[source]

Send the notification.

obj_load_attr(attrname)[source]

Load an additional attribute from the real object.

This should load self.$attrname and cache any data that might be useful for future load operations.

save(context)[source]

Save the changed fields back to the store.

This is optional for subclasses, but is presented here in the base class for consistency among those that do.

class watcher.notifications.base.NotificationObject(**kwargs)[source]

Bases: watcher.objects.base.WatcherObject

Base class for every notification related versioned object.

obj_load_attr(attrname)[source]

Load an additional attribute from the real object.

This should load self.$attrname and cache any data that might be useful for future load operations.

save(context)[source]

Save the changed fields back to the store.

This is optional for subclasses, but is presented here in the base class for consistency among those that do.

class watcher.notifications.base.NotificationPayloadBase(**kwargs)[source]

Bases: watcher.notifications.base.NotificationObject

Base class for the payload of versioned notifications.

populate_schema(**kwargs)[source]

Populate the object based on the SCHEMA and the source objects

Parameters:kwargs – A dict contains the source object at the key defined in the SCHEMA
class watcher.notifications.base.NotificationPublisher(**kwargs)[source]

Bases: watcher.notifications.base.NotificationObject

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.