# 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 functools
import logging
from oslo_utils.timeutils import parse_isotime
from barbicanclient import base
from barbicanclient import formatter
        self._description = None
        if meta:
            for s in meta:
                key = list(s.keys())[0]
                value = list(s.values())[0]
                if key == 'name':
                    self._name = value
                if key == 'description':
                    self._description = value
        self._plugin_name = plugin_name
        self._plugin_ca_id = plugin_ca_id
        self._expiration = expiration
        self._creator_id = creator_id
        if self._expiration:
            self._expiration = parse_isotime(self._expiration)
        if self._ca_ref:
            self._status = status
            self._created = created
            self._updated = updated
            if self._created:
                self._created = parse_isotime(self._created)
            if self._updated:
                self._updated = parse_isotime(self._updated)
        else:
            self._status = None
            self._created = None
            self._updated = None

    def _fill_lazy_properties(self):
        if self._ca_ref and not self._plugin_name:

# 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/cas.py
import functools
import logging
from oslo_utils.timeutils import parse_isotime
from barbicanclient import base
from barbicanclient import formatter

        self._description = None
        if meta:
            for s in meta:
                key = list(s.keys())[0]
                value = list(s.values())[0]
                if key == 'name':
                    self._name = value
                if key == 'description':
                    self._description = value
        self._plugin_name = plugin_name
        self._plugin_ca_id = plugin_ca_id
        self._expiration = expiration
        self._creator_id = creator_id
        if self._expiration:
            self._expiration = parse_isotime(self._expiration)
        if self._ca_ref:
            self._status = status
            self._created = created
            self._updated = updated
            if self._created:
                self._created = parse_isotime(self._created)
            if self._updated:
                self._updated = parse_isotime(self._updated)
        else:
            self._status = None
            self._created = None
            self._updated = None

    def _fill_lazy_properties(self):
        if self._ca_ref and not self._plugin_name:

            uuid_ref = base.calculate_uuid_ref(self._ca_ref, self._entity)