Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
# Copyright 2018 TrilioData Inc.
# All Rights Reserved.

"""Model classes for use in the storage API.
"""

import datetime

from dmapi.i18n import _
from dmapi.storage import base


class Service(base.Model):
    SUPPORT_SORT_KEYS = (
        'id', 'uuid', 'host', 'binary', 'topic', 'report_count',
        'disabled_reason', 'last_seen_up', 'created_at', 'deleted_at',
        'updated_at', 'version')
    DEFAULT_SORT = [('created_at', 'desc')]
    PRIMARY_KEY = 'id'

    def __init__(self, created_at, updated_at, deleted_at, service_id, uuid,
                 host, binary, topic, report_count, disabled, deleted,
                 disabled_reason, last_seen_up, forced_down, version):
        if not isinstance(created_at, datetime.datetime):
            raise TypeError(_("created_at should be datetime object"))
        base.Model.__init__(
            self,
            created_at = created_at,
            updated_at = updated_at,
            deleted_at = deleted_at,
            id = service_id,
            uuid = uuid,
            host = host,
            binary = binary,
            topic = topic,
            report_count = report_count,
            disabled = disabled,
            deleted = deleted,
            disabled_reason = disabled_reason,
            last_seen_up = last_seen_up,
            forced_down = forced_down,
            version = version
            )