container = <f5.bigip.tm.Tm object at 0x107488410>, name = 'tm'
def __getattr__(container, name):
# ensure this object supports lazy attrs.
cls_name = container.__class__.__name__
if 'allowed_lazy_attributes' not in container._meta_data:
error_message = ('"allowed_lazy_attributes" not in',
'container._meta_data for class %s' % cls_name)
raise LazyAttributesRequired(error_message)
# ensure the requested attr is present
attr_names = container.transform_attr_names()
if name not in attr_names:
error_message = "'%s' object has no attribute '%s'"\
% (container.__class__, name)
> raise AttributeError(error_message)
E AttributeError: '<class 'f5.bigip.tm.Tm'>' object has no attribute 'tm'
attr_names = ['asm', 'auth', 'cm', 'gtm', 'ltm', 'net', ...]
cls_name = 'Tm'
container = <f5.bigip.tm.Tm object at 0x107488410>
error_message = "'<class 'f5.bigip.tm.Tm'>' object has no attribute 'tm'"
name = 'tm'
Both failures print this error message: