Implemented attributes:
        * DNSName
        * LoadBalancerName

        Not implemented:
        * CanonicalHostedZoneID
        * LoadBalancerFullName
        * SecurityGroups

        This method is similar to models.py:FakeLoadBalancer.get_cfn_attribute()

def get_cfn_attribute(self, attribute_name):
        '''
        Implemented attributes:
        * DNSName
        * LoadBalancerName

        Not implemented:
        * CanonicalHostedZoneID
        * LoadBalancerFullName
        * SecurityGroups

        This method is similar to models.py:FakeLoadBalancer.get_cfn_attribute()
        '''
        from moto.cloudformation.exceptions import UnformattedGetAttTemplateException
        not_implemented_yet = [
            'CanonicalHostedZoneID',
            'LoadBalancerFullName',
            'SecurityGroups',
        ]
        if attribute_name == 'DNSName':
            return self.dns_name
        elif attribute_name == 'LoadBalancerName':
            return self.name
        elif attribute_name in not_implemented_yet:
            raise NotImplementedError('"Fn::GetAtt" : [ "{0}" , "%s" ]"' % attribute_name)
        else:
            raise UnformattedGetAttTemplateException()