.. NOTE: This file has been generated automatically using generate_provider_feature_matrix_table.py script, don't manually edit it

====================================== ================================================== ================= ============================ ================================================== ==============================
Provider                               Documentation                                      Provider Constant Supported Regions            Module                                             Class Name                    
====================================== ================================================== ================= ============================ ================================================== ==============================
`Amazon Application Load Balancing`_                                                      ALB               single region driver         :mod:`libcloud.loadbalancer.drivers.alb`           :class:`ApplicationLBDriver`  
`Aliyun Server Load Balancer`_                                                            ALIYUN_SLB        single region driver         :mod:`libcloud.loadbalancer.drivers.slb`           :class:`SLBDriver`            
`Brightbox`_                                                                              BRIGHTBOX         single region driver         :mod:`libcloud.loadbalancer.drivers.brightbox`     :class:`BrightboxLBDriver`    
`CloudStack`_                                                                             CLOUDSTACK        single region driver         :mod:`libcloud.loadbalancer.drivers.cloudstack`    :class:`CloudStackLBDriver`   
`Dimension Data Load Balancer`_        :doc:`Click </loadbalancer/drivers/dimensiondata>` DIMENSIONDATA     single region driver         :mod:`libcloud.loadbalancer.drivers.dimensiondata` :class:`DimensionDataLBDriver`
`Amazon Elastic Load Balancing`_       :doc:`Click </loadbalancer/drivers/elb>`           ELB               single region driver         :mod:`libcloud.loadbalancer.drivers.elb`           :class:`ElasticLBDriver`      
`Google Compute Engine Load Balancer`_ :doc:`Click </loadbalancer/drivers/gce>`           GCE               single region driver         :mod:`libcloud.loadbalancer.drivers.gce`           :class:`GCELBDriver`          
`GoGrid LB`_                                                                              GOGRID            single region driver         :mod:`libcloud.loadbalancer.drivers.gogrid`        :class:`GoGridLBDriver`       
`Ninefold LB`_                                                                            NINEFOLD          single region driver         :mod:`libcloud.loadbalancer.drivers.ninefold`      :class:`NinefoldLBDriver`     
`Rackspace LB`_                                                                           RACKSPACE         syd, iad, dfw, lon, ord, hkg :mod:`libcloud.loadbalancer.drivers.rackspace`     :class:`RackspaceLBDriver`    
`Softlayer Load Balancing`_                                                               SOFTLAYER         single region driver         :mod:`libcloud.loadbalancer.drivers.softlayer`     :class:`SoftlayerLBDriver`    
====================================== ================================================== ================= ============================ ================================================== ==============================

.. _`Amazon Application Load Balancing`: http://aws.amazon.com/elasticloadbalancing/
.. _`Aliyun Server Load Balancer`: https://www.aliyun.com/product/slb
.. _`Brightbox`: http://www.brightbox.co.uk/
.. _`CloudStack`: http://cloudstack.org/
.. _`Dimension Data Load Balancer`: https://cloud.dimensiondata.com/
.. _`Amazon Elastic Load Balancing`: http://aws.amazon.com/elasticloadbalancing/
.. _`Google Compute Engine Load Balancer`: https://cloud.google.com/
.. _`GoGrid LB`: http://www.gogrid.com/
.. _`Ninefold LB`: http://ninefold.com/
.. _`Rackspace LB`: http://www.rackspace.com/
.. _`Softlayer Load Balancing`: http://www.softlayer.com/
