docs: def get_property_name_from_attribute_name(attribute):
          """
          Returns property name from attribute name
          :param attribute: Attribute name, may contain upper and lower case and spaces
          :return: string
          """
          if isinstance(attribute, str) or isinstance(attribute, unicode):
              attribute_name = attribute
          elif hasattr(attribute, 'Name'):
              attribute_name = attribute.Name
          else:
              raise Exception('Attribute type {0} is not supported'.format(str(type(attribute))))
  
          return attribute_name.lower().replace(' ', '_')