# Path: barbicanclient/base.py
# LOG = logging.getLogger(__name__)
# def filter_null_keys(dictionary):
# def censored_copy(data_dict, censor_keys):
# def validate_ref_and_return_uuid(ref, entity):
# def calculate_uuid_ref(ref, entity):
#     def __init__(self, attribute=None):
#     def __init__(self, api, entity):
#     def total(self):
# class ImmutableException(Exception):
# class BaseEntityManager(object):
# 
# Path: barbicanclient/formatter.py
# class EntityFormatter(object):
#     def _list_objects(obj_list):
#     def _get_generic_data(self):
#     def _get_generic_columns(self):
#     def _get_formatted_entity(self):
#     def __str__(self):
#     def to_dict(self):


import abc
import functools
import logging
import six
from oslo_utils.timeutils import parse_isotime
from barbicanclient import base
from barbicanclient import formatter
    This should be considered an abstract class that should not be
    instantiated directly.
    """
    _entity = 'orders'

    def __init__(self, api, type, status=None, created=None, updated=None,
                 meta=None, order_ref=None, error_status_code=None,
                 error_reason=None, sub_status=None, sub_status_message=None,
                 creator_id=None):
        super(Order, self).__init__()

        self._api = api
        self._type = type
        self._status = status
        self._sub_status = sub_status
        self._sub_status_message = sub_status_message
        self._creator_id = creator_id

        if created:
            self._created = parse_isotime(created)
        else:
            self._created = None

        if updated:
            self._updated = parse_isotime(updated)
        else:
            self._updated = None

        self._order_ref = order_ref


# Path: barbicanclient/base.py
# LOG = logging.getLogger(__name__)
# def filter_null_keys(dictionary):
# def censored_copy(data_dict, censor_keys):
# def validate_ref_and_return_uuid(ref, entity):
# def calculate_uuid_ref(ref, entity):
#     def __init__(self, attribute=None):
#     def __init__(self, api, entity):
#     def total(self):
# class ImmutableException(Exception):
# class BaseEntityManager(object):
# 
# Path: barbicanclient/formatter.py
# class EntityFormatter(object):
#     def _list_objects(obj_list):
#     def _get_generic_data(self):
#     def _get_generic_columns(self):
#     def _get_formatted_entity(self):
#     def __str__(self):
#     def to_dict(self):


# Path: barbicanclient/v1/orders.py
import abc
import functools
import logging
import six
from oslo_utils.timeutils import parse_isotime
from barbicanclient import base
from barbicanclient import formatter

    This should be considered an abstract class that should not be
    instantiated directly.
    """
    _entity = 'orders'

    def __init__(self, api, type, status=None, created=None, updated=None,
                 meta=None, order_ref=None, error_status_code=None,
                 error_reason=None, sub_status=None, sub_status_message=None,
                 creator_id=None):
        super(Order, self).__init__()

        self._api = api
        self._type = type
        self._status = status
        self._sub_status = sub_status
        self._sub_status_message = sub_status_message
        self._creator_id = creator_id

        if created:
            self._created = parse_isotime(created)
        else:
            self._created = None

        if updated:
            self._updated = parse_isotime(updated)
        else:
            self._updated = None

        self._order_ref = order_ref


        self._meta = base.filter_null_keys(meta)