You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2020/11/01 20:32:24 UTC

[libcloud] 01/03: add s3 us-gov-east-1 region support

This is an automated email from the ASF dual-hosted git repository.

tomaz pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/libcloud.git

commit 3f17065eb59885605623ccd6c99ed1c237e02a8a
Author: Andy Spohn <an...@modzy.com>
AuthorDate: Wed Oct 21 13:40:12 2020 -0400

    add s3 us-gov-east-1 region support
---
 docs/storage/_supported_methods_cdn.rst  |  1 +
 docs/storage/_supported_methods_main.rst |  2 ++
 docs/storage/_supported_providers.rst    |  3 ++-
 libcloud/storage/drivers/s3.py           | 13 +++++++++++++
 4 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/docs/storage/_supported_methods_cdn.rst b/docs/storage/_supported_methods_cdn.rst
index 01251d6..dce6f75 100644
--- a/docs/storage/_supported_methods_cdn.rst
+++ b/docs/storage/_supported_methods_cdn.rst
@@ -33,6 +33,7 @@ Provider                      enable container cdn enable object cdn get contain
 `RGW Outscale`_               no                   no                no                    no                
 `Amazon S3 (sa-east-1)`_      no                   no                no                    yes               
 `Amazon S3 (us-east-2)`_      no                   no                no                    yes               
+`Amazon S3 (us-gov-east-1)`_  no                   no                no                    yes
 `Amazon S3 (us-gov-west-1)`_  no                   no                no                    yes               
 `Amazon S3 (us-west-1)`_      no                   no                no                    yes               
 `Amazon S3 (us-west-2)`_      no                   no                no                    yes               
diff --git a/docs/storage/_supported_methods_main.rst b/docs/storage/_supported_methods_main.rst
index ea5534a..6a6c19d 100644
--- a/docs/storage/_supported_methods_main.rst
+++ b/docs/storage/_supported_methods_main.rst
@@ -33,6 +33,7 @@ Provider                      list containers list objects create container dele
 `RGW Outscale`_               yes             yes          yes              yes              yes           yes                     yes             yes                        yes                       yes                               yes          
 `Amazon S3 (sa-east-1)`_      yes             yes          yes              yes              yes           yes                     yes             yes                        yes                       yes                               yes          
 `Amazon S3 (us-east-2)`_      yes             yes          yes              yes              yes           yes                     yes             yes                        yes                       yes                               yes          
+`Amazon S3 (us-gov-east-1)`_  yes             yes          yes              yes              yes           yes                     yes             yes                        yes                       yes                               yes
 `Amazon S3 (us-gov-west-1)`_  yes             yes          yes              yes              yes           yes                     yes             yes                        yes                       yes                               yes          
 `Amazon S3 (us-west-1)`_      yes             yes          yes              yes              yes           yes                     yes             yes                        yes                       yes                               yes          
 `Amazon S3 (us-west-2)`_      yes             yes          yes              yes              yes           yes                     yes             yes                        yes                       yes                               yes          
@@ -68,6 +69,7 @@ Provider                      list containers list objects create container dele
 .. _`RGW Outscale`: https://en.outscale.com/
 .. _`Amazon S3 (sa-east-1)`: http://aws.amazon.com/s3/
 .. _`Amazon S3 (us-east-2)`: http://aws.amazon.com/s3/
+.. _`Amazon S3 (us-gov-east-1)`: http://aws.amazon.com/s3/
 .. _`Amazon S3 (us-gov-west-1)`: http://aws.amazon.com/s3/
 .. _`Amazon S3 (us-west-1)`: http://aws.amazon.com/s3/
 .. _`Amazon S3 (us-west-2)`: http://aws.amazon.com/s3/
diff --git a/docs/storage/_supported_providers.rst b/docs/storage/_supported_providers.rst
index bf08332..9a7178f 100644
--- a/docs/storage/_supported_providers.rst
+++ b/docs/storage/_supported_providers.rst
@@ -15,7 +15,7 @@ Provider                   Documentation                                       P
 `Nimbus.io`_                                                                   NIMBUS              single region driver                                                                                                                                                                                                                                                                         :mod:`libcloud.storage.drivers.nimbus`              :class:`NimbusStorageDriver`            
 `Ninefold`_                                                                    NINEFOLD            single region driver                                                                                                                                                                                                                                                                         :mod:`libcloud.storage.drivers.ninefold`            :class:`NinefoldStorageDriver`          
 `OpenStack Swift`_         :doc:`Click </storage/drivers/openstack_swift>`     OPENSTACK_SWIFT     dfw, hkg, iad, lon, ord, syd                                                                                                                                                                                                                                                                 :mod:`libcloud.storage.drivers.cloudfiles`          :class:`OpenStackSwiftStorageDriver`    
-`Amazon S3`_               :doc:`Click </storage/drivers/s3>`                  S3                  ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, cn-north-1, cn-northwest-1, eu-central-1, eu-north-1, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, sa-east-2, us-east-1, us-east-2, us-gov-west-1, us-west-1, us-west-2 :mod:`libcloud.storage.drivers.s3`                  :class:`S3StorageDriver`                
+`Amazon S3`_               :doc:`Click </storage/drivers/s3>`                  S3                  ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, cn-north-1, cn-northwest-1, eu-central-1, eu-north-1, eu-west-1, eu-west-2, eu-west-3, me-south-1, sa-east-1, sa-east-2, us-east-1, us-east-2, us-gov-east-1, us-gov-west-1, us-west-1, us-west-2 :mod:`libcloud.storage.drivers.s3`                  :class:`S3StorageDriver`
 `Ceph RGW`_                                                                    S3_RGW              single region driver                                                                                                                                                                                                                                                                         :mod:`libcloud.storage.drivers.rgw`                 :class:`S3RGWStorageDriver`             
 `RGW Outscale`_                                                                S3_RGW_OUTSCALE     single region driver                                                                                                                                                                                                                                                                         :mod:`libcloud.storage.drivers.rgw`                 :class:`S3RGWOutscaleStorageDriver`     
 ========================== =================================================== =================== ============================================================================================================================================================================================================================================================================================ =================================================== ========================================
@@ -50,6 +50,7 @@ Provider                   Documentation                                       P
 .. _`RGW Outscale`: https://en.outscale.com/
 .. _`Amazon S3 (sa-east-1)`: http://aws.amazon.com/s3/
 .. _`Amazon S3 (us-east-2)`: http://aws.amazon.com/s3/
+.. _`Amazon S3 (us-gov-east-1)`: http://aws.amazon.com/s3/
 .. _`Amazon S3 (us-gov-west-1)`: http://aws.amazon.com/s3/
 .. _`Amazon S3 (us-west-1)`: http://aws.amazon.com/s3/
 .. _`Amazon S3 (us-west-2)`: http://aws.amazon.com/s3/
diff --git a/libcloud/storage/drivers/s3.py b/libcloud/storage/drivers/s3.py
index 3511d64..9a97e0e 100644
--- a/libcloud/storage/drivers/s3.py
+++ b/libcloud/storage/drivers/s3.py
@@ -58,6 +58,7 @@ S3_US_STANDARD_HOST = 's3.amazonaws.com'
 S3_US_EAST2_HOST = 's3-us-east-2.amazonaws.com'
 S3_US_WEST_HOST = 's3-us-west-1.amazonaws.com'
 S3_US_WEST_OREGON_HOST = 's3-us-west-2.amazonaws.com'
+S3_US_GOV_EAST_HOST = 's3-us-gov-east-1.amazonaws.com'
 S3_US_GOV_WEST_HOST = 's3-us-gov-west-1.amazonaws.com'
 S3_CN_NORTH_HOST = 's3.cn-north-1.amazonaws.com.cn'
 S3_CN_NORTHWEST_HOST = 's3.cn-northwest-1.amazonaws.com.cn'
@@ -81,6 +82,7 @@ REGION_TO_HOST_MAP = {
     'us-east-2': S3_US_EAST2_HOST,
     'us-west-1': S3_US_WEST_HOST,
     'us-west-2': S3_US_WEST_OREGON_HOST,
+    'us-gov-east-1': S3_US_GOV_EAST_HOST,
     'us-gov-west-1': S3_US_GOV_WEST_HOST,
     'cn-north-1': S3_CN_NORTH_HOST,
     'cn-northwest-1': S3_CN_NORTHWEST_HOST,
@@ -1216,6 +1218,17 @@ class S3USWestOregonStorageDriver(S3StorageDriver):
     region_name = 'us-west-2'
 
 
+class S3USGovEastConnection(S3SignatureV4Connection):
+    host = S3_US_GOV_EAST_HOST
+
+
+class S3USGovEastStorageDriver(S3StorageDriver):
+    name = 'Amazon S3 (us-gov-east-1)'
+    connectionCls = S3USGovEastConnection
+    ex_location_name = 'us-gov-east-1'
+    region_name = 'us-gov-east-1'
+
+
 class S3USGovWestConnection(S3SignatureV4Connection):
     host = S3_US_GOV_WEST_HOST