.. 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                        
=================================== ============================================ ================= ==================== ============================================ ==================================
`Docker`_                           :doc:`Click </container/drivers/docker>`     DOCKER            single region driver :mod:`libcloud.container.drivers.docker`     :class:`DockerContainerDriver`    
`Amazon Elastic Container Service`_ :doc:`Click </container/drivers/ecs>`        ECS               single region driver :mod:`libcloud.container.drivers.ecs`        :class:`ElasticContainerDriver`   
`Joyent Triton`_                    :doc:`Click </container/drivers/joyent>`     JOYENT            single region driver :mod:`libcloud.container.drivers.joyent`     :class:`JoyentContainerDriver`    
`Kubernetes`_                       :doc:`Click </container/drivers/kubernetes>` KUBERNETES        single region driver :mod:`libcloud.container.drivers.kubernetes` :class:`KubernetesContainerDriver`
`Rancher`_                          :doc:`Click </container/drivers/rancher>`    RANCHER           single region driver :mod:`libcloud.container.drivers.rancher`    :class:`RancherContainerDriver`   
=================================== ============================================ ================= ==================== ============================================ ==================================

.. _`Docker`: http://docker.io
.. _`Amazon Elastic Container Service`: https://aws.amazon.com/ecs/details/
.. _`Joyent Triton`: http://joyent.com
.. _`Kubernetes`: http://kubernetes.io
.. _`Rancher`: http://rancher.com
