This is an automated email from the ASF dual-hosted git repository.
tomaz pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/libcloud.git
from bb02985b1 Merge pull request #1694 from havardAasen/version-compare
new 0ac17ff5a Use tuple, not a list.
new 31882b422 Fix mypy.
new b027e7edc Update EC2 pricing and sizing data.
new 2c3b82eb4 Re-generate supported provider tables
new 854372bb4 Bump version for v3.6.0 release.
new 1bacb9f73 make content-type header is optional to work with S3 servers that not support content-type header
new f3b2a3d15 Merge branch 'content-type-is-optional' of https://github.com/smatvienko-tb/libcloud into smatvienko-tb-content-type-is-optional
new 237ea7946 Add some comments to the code.
new 45553d33e Ensure object.hash is None instead of empty string ("") in case response doesn't contain etag header, add test case for scenario where response doesn't contai etag and content-type header.
The 9 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
docs/compute/_supported_providers.rst | 140 ++++++-------
docs/conf.py | 4 +-
libcloud/__init__.py | 2 +-
libcloud/compute/constants/ec2_instance_types.py | 23 ++-
.../constants/ec2_region_details_complete.py | 94 +++++++++
libcloud/compute/ssh.py | 14 +-
libcloud/data/pricing.json | 225 ++++++++++++++++++++-
libcloud/storage/drivers/s3.py | 13 +-
libcloud/test/storage/test_s3.py | 26 +++
9 files changed, 445 insertions(+), 96 deletions(-)
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 1bacb9f73cfed4305346372a3732da5c0702a6a1
Author: Sergey Matvienko <sm...@thingsboard.io>
AuthorDate: Tue May 17 18:13:25 2022 +0300
make content-type header is optional to work with S3 servers that not support content-type header
---
libcloud/storage/drivers/s3.py | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/libcloud/storage/drivers/s3.py b/libcloud/storage/drivers/s3.py
index 50fdc20d5..3dc4237e2 100644
--- a/libcloud/storage/drivers/s3.py
+++ b/libcloud/storage/drivers/s3.py
@@ -1193,7 +1193,12 @@ class BaseS3StorageDriver(StorageDriver):
def _headers_to_object(self, object_name, container, headers):
hash = headers.get("etag", "").replace('"', "")
- extra = {"content_type": headers["content-type"]}
+
+ extra = {}
+
+ if "content-type" in headers:
+ extra["content_type"] = headers["content-type"]
+
if "etag" in headers:
extra["etag"] = headers["etag"]
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 0ac17ff5a770142cb1433a9ef4f019e5a6a605b2
Author: Tomaz Muraus <to...@tomaz.me>
AuthorDate: Sun May 15 20:52:22 2022 +0200
Use tuple, not a list.
---
libcloud/compute/ssh.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libcloud/compute/ssh.py b/libcloud/compute/ssh.py
index bf264dc72..8dc1cbd02 100644
--- a/libcloud/compute/ssh.py
+++ b/libcloud/compute/ssh.py
@@ -33,7 +33,7 @@ try:
PARAMIKO_VERSION_TUPLE = tuple([int(x) for x in paramiko.__version__.split(".")])
except ImportError:
- PARAMIKO_VERSION_TUPLE = []
+ PARAMIKO_VERSION_TUPLE = ()
# Depending on your version of Paramiko, it may cause a deprecation
# warning on Python 2.6.
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 237ea79464741350d11b0018e982881a0df24323
Author: Tomaz Muraus <to...@tomaz.me>
AuthorDate: Wed May 18 12:52:23 2022 +0200
Add some comments to the code.
---
libcloud/storage/drivers/s3.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libcloud/storage/drivers/s3.py b/libcloud/storage/drivers/s3.py
index 3dc4237e2..edebe5f71 100644
--- a/libcloud/storage/drivers/s3.py
+++ b/libcloud/storage/drivers/s3.py
@@ -1196,9 +1196,13 @@ class BaseS3StorageDriver(StorageDriver):
extra = {}
+ # Not all the S3 compatible implementations return this header, see
+ # https://github.com/apache/libcloud/pull/1695 for details
if "content-type" in headers:
extra["content_type"] = headers["content-type"]
+ # Google Storage S3 compatible API doesn't return this header under
+ # some scenarios https://github.com/apache/libcloud/issues/1682
if "etag" in headers:
extra["etag"] = headers["etag"]
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 f3b2a3d15ebfebb0b7fb83231823deb1039d9e28
Merge: 854372bb4 1bacb9f73
Author: Tomaz Muraus <to...@tomaz.me>
AuthorDate: Wed May 18 12:50:19 2022 +0200
Merge branch 'content-type-is-optional' of https://github.com/smatvienko-tb/libcloud into smatvienko-tb-content-type-is-optional
libcloud/storage/drivers/s3.py | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
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 b027e7edc90a885e9ded6c7d05e2714fff7fdde5
Author: Tomaz Muraus <to...@tomaz.me>
AuthorDate: Sun May 15 21:00:19 2022 +0200
Update EC2 pricing and sizing data.
---
libcloud/compute/constants/ec2_instance_types.py | 23 ++-
.../constants/ec2_region_details_complete.py | 94 +++++++++
libcloud/data/pricing.json | 225 ++++++++++++++++++++-
3 files changed, 330 insertions(+), 12 deletions(-)
diff --git a/libcloud/compute/constants/ec2_instance_types.py b/libcloud/compute/constants/ec2_instance_types.py
index 5bcab54ee..1158c9db3 100644
--- a/libcloud/compute/constants/ec2_instance_types.py
+++ b/libcloud/compute/constants/ec2_instance_types.py
@@ -11801,7 +11801,7 @@ INSTANCE_TYPES = {
"enhancedNetworkingSupported": "Yes",
"instanceFamily": "Memory optimized",
"instanceType": "r5b.12xlarge",
- "instancesku": "7ZXNNN5Z4DMKZ66A",
+ "instancesku": "P6EYYMAP4APUH3S2",
"intelAvx2Available": "No",
"intelAvxAvailable": "Yes",
"intelTurboAvailable": "No",
@@ -11811,7 +11811,7 @@ INSTANCE_TYPES = {
"normalizationSizeFactor": "96",
"physicalProcessor": "Intel Xeon Platinum 8259 (Cascade Lake)",
"processorArchitecture": "64-bit",
- "regionCode": "ap-southeast-1",
+ "regionCode": "ap-southeast-2",
"servicecode": "AmazonEC2",
"servicename": "Amazon Elastic Compute Cloud",
"storage": "EBS only",
@@ -11835,7 +11835,6 @@ INSTANCE_TYPES = {
"enhancedNetworkingSupported": "Yes",
"instanceFamily": "Memory optimized",
"instanceType": "r5b.16xlarge",
- "instancesku": "6U7DBQWKEUPM26YD",
"intelAvx2Available": "No",
"intelAvxAvailable": "Yes",
"intelTurboAvailable": "No",
@@ -11845,7 +11844,7 @@ INSTANCE_TYPES = {
"normalizationSizeFactor": "128",
"physicalProcessor": "Intel Xeon Platinum 8259 (Cascade Lake)",
"processorArchitecture": "64-bit",
- "regionCode": "us-east-2",
+ "regionCode": "ap-southeast-2",
"servicecode": "AmazonEC2",
"servicename": "Amazon Elastic Compute Cloud",
"storage": "EBS only",
@@ -11903,6 +11902,7 @@ INSTANCE_TYPES = {
"enhancedNetworkingSupported": "Yes",
"instanceFamily": "Memory optimized",
"instanceType": "r5b.2xlarge",
+ "instancesku": "UMH7BAMYN73TQGWY",
"intelAvx2Available": "No",
"intelAvxAvailable": "Yes",
"intelTurboAvailable": "No",
@@ -11912,7 +11912,7 @@ INSTANCE_TYPES = {
"normalizationSizeFactor": "16",
"physicalProcessor": "Intel Xeon Platinum 8259 (Cascade Lake)",
"processorArchitecture": "64-bit",
- "regionCode": "ap-northeast-1",
+ "regionCode": "sa-east-1",
"servicecode": "AmazonEC2",
"servicename": "Amazon Elastic Compute Cloud",
"storage": "EBS only",
@@ -12003,7 +12003,7 @@ INSTANCE_TYPES = {
"enhancedNetworkingSupported": "Yes",
"instanceFamily": "Memory optimized",
"instanceType": "r5b.large",
- "instancesku": "P8BAP4U25KDKYSE7",
+ "instancesku": "WMHHUGSU6U4YYSPE",
"intelAvx2Available": "No",
"intelAvxAvailable": "Yes",
"intelTurboAvailable": "No",
@@ -12013,7 +12013,7 @@ INSTANCE_TYPES = {
"normalizationSizeFactor": "4",
"physicalProcessor": "Intel Xeon Platinum 8259 (Cascade Lake)",
"processorArchitecture": "64-bit",
- "regionCode": "ap-northeast-2",
+ "regionCode": "ap-southeast-2",
"servicecode": "AmazonEC2",
"servicename": "Amazon Elastic Compute Cloud",
"storage": "EBS only",
@@ -15592,7 +15592,7 @@ INSTANCE_TYPES = {
"physicalProcessor": "Intel Xeon Scalable (Icelake)",
"processorArchitecture": "64-bit",
"processorFeatures": "AVX; Intel AVX; Intel AVX2; Intel AVX512; Intel Turbo",
- "regionCode": "eu-central-1",
+ "regionCode": "sa-east-1",
"servicecode": "AmazonEC2",
"servicename": "Amazon Elastic Compute Cloud",
"storage": "2 x 1425 NVMe SSD",
@@ -15787,6 +15787,7 @@ INSTANCE_TYPES = {
"enhancedNetworkingSupported": "Yes",
"instanceFamily": "Memory optimized",
"instanceType": "x2iedn.4xlarge",
+ "instancesku": "MB6XH84AX23GRQ36",
"intelAvx2Available": "Yes",
"intelAvxAvailable": "Yes",
"intelTurboAvailable": "Yes",
@@ -15797,7 +15798,7 @@ INSTANCE_TYPES = {
"physicalProcessor": "Intel Xeon Scalable (Icelake)",
"processorArchitecture": "64-bit",
"processorFeatures": "Intel AVX; Intel AVX2; Intel AVX512; Intel Turbo",
- "regionCode": "ap-south-1",
+ "regionCode": "eu-west-2",
"servicecode": "AmazonEC2",
"servicename": "Amazon Elastic Compute Cloud",
"storage": "1 x 475 NVMe SSD",
@@ -15855,7 +15856,7 @@ INSTANCE_TYPES = {
"enhancedNetworkingSupported": "Yes",
"instanceFamily": "Memory optimized",
"instanceType": "x2iedn.xlarge",
- "instancesku": "8JDVXAWQBQGH2DE9",
+ "instancesku": "RVS4BUMMG6TBRKGC",
"intelAvx2Available": "Yes",
"intelAvxAvailable": "Yes",
"intelTurboAvailable": "Yes",
@@ -15866,7 +15867,7 @@ INSTANCE_TYPES = {
"physicalProcessor": "Intel Xeon Scalable (Icelake)",
"processorArchitecture": "64-bit",
"processorFeatures": "Intel AVX; Intel AVX2; Intel AVX512; Intel Turbo",
- "regionCode": "ap-northeast-1",
+ "regionCode": "eu-north-1",
"servicecode": "AmazonEC2",
"servicename": "Amazon Elastic Compute Cloud",
"storage": "1 x 118 NVMe SSD",
diff --git a/libcloud/compute/constants/ec2_region_details_complete.py b/libcloud/compute/constants/ec2_region_details_complete.py
index c37eb9876..c0ce623d7 100644
--- a/libcloud/compute/constants/ec2_region_details_complete.py
+++ b/libcloud/compute/constants/ec2_region_details_complete.py
@@ -876,6 +876,16 @@ REGION_DETAILS = {
"x1e.4xlarge",
"x1e.8xlarge",
"x1e.xlarge",
+ "x2idn.16xlarge",
+ "x2idn.24xlarge",
+ "x2idn.32xlarge",
+ "x2iedn.16xlarge",
+ "x2iedn.24xlarge",
+ "x2iedn.2xlarge",
+ "x2iedn.32xlarge",
+ "x2iedn.4xlarge",
+ "x2iedn.8xlarge",
+ "x2iedn.xlarge",
"z1d.12xlarge",
"z1d.2xlarge",
"z1d.3xlarge",
@@ -1883,6 +1893,14 @@ REGION_DETAILS = {
"r5ad.8xlarge",
"r5ad.large",
"r5ad.xlarge",
+ "r5b.12xlarge",
+ "r5b.16xlarge",
+ "r5b.24xlarge",
+ "r5b.2xlarge",
+ "r5b.4xlarge",
+ "r5b.8xlarge",
+ "r5b.large",
+ "r5b.xlarge",
"r5d.12xlarge",
"r5d.16xlarge",
"r5d.24xlarge",
@@ -1971,6 +1989,16 @@ REGION_DETAILS = {
"x1e.4xlarge",
"x1e.8xlarge",
"x1e.xlarge",
+ "x2idn.16xlarge",
+ "x2idn.24xlarge",
+ "x2idn.32xlarge",
+ "x2iedn.16xlarge",
+ "x2iedn.24xlarge",
+ "x2iedn.2xlarge",
+ "x2iedn.32xlarge",
+ "x2iedn.4xlarge",
+ "x2iedn.8xlarge",
+ "x2iedn.xlarge",
"z1d.12xlarge",
"z1d.2xlarge",
"z1d.3xlarge",
@@ -2177,6 +2205,14 @@ REGION_DETAILS = {
"r5ad.8xlarge",
"r5ad.large",
"r5ad.xlarge",
+ "r5b.12xlarge",
+ "r5b.16xlarge",
+ "r5b.24xlarge",
+ "r5b.2xlarge",
+ "r5b.4xlarge",
+ "r5b.8xlarge",
+ "r5b.large",
+ "r5b.xlarge",
"r5d.12xlarge",
"r5d.16xlarge",
"r5d.24xlarge",
@@ -2254,6 +2290,16 @@ REGION_DETAILS = {
"x1e.4xlarge",
"x1e.8xlarge",
"x1e.xlarge",
+ "x2idn.16xlarge",
+ "x2idn.24xlarge",
+ "x2idn.32xlarge",
+ "x2iedn.16xlarge",
+ "x2iedn.24xlarge",
+ "x2iedn.2xlarge",
+ "x2iedn.32xlarge",
+ "x2iedn.4xlarge",
+ "x2iedn.8xlarge",
+ "x2iedn.xlarge",
],
"signature_version": "4",
},
@@ -2825,6 +2871,16 @@ REGION_DETAILS = {
"t4g.xlarge",
"u-6tb1.112xlarge",
"u-6tb1.56xlarge",
+ "x2idn.16xlarge",
+ "x2idn.24xlarge",
+ "x2idn.32xlarge",
+ "x2iedn.16xlarge",
+ "x2iedn.24xlarge",
+ "x2iedn.2xlarge",
+ "x2iedn.32xlarge",
+ "x2iedn.4xlarge",
+ "x2iedn.8xlarge",
+ "x2iedn.xlarge",
],
"signature_version": "4",
},
@@ -3003,6 +3059,16 @@ REGION_DETAILS = {
"u-3tb1.56xlarge",
"u-6tb1.112xlarge",
"u-6tb1.56xlarge",
+ "x2idn.16xlarge",
+ "x2idn.24xlarge",
+ "x2idn.32xlarge",
+ "x2iedn.16xlarge",
+ "x2iedn.24xlarge",
+ "x2iedn.2xlarge",
+ "x2iedn.32xlarge",
+ "x2iedn.4xlarge",
+ "x2iedn.8xlarge",
+ "x2iedn.xlarge",
],
"signature_version": "4",
},
@@ -3767,6 +3833,16 @@ REGION_DETAILS = {
"t4g.xlarge",
"x1.16xlarge",
"x1.32xlarge",
+ "x2idn.16xlarge",
+ "x2idn.24xlarge",
+ "x2idn.32xlarge",
+ "x2iedn.16xlarge",
+ "x2iedn.24xlarge",
+ "x2iedn.2xlarge",
+ "x2iedn.32xlarge",
+ "x2iedn.4xlarge",
+ "x2iedn.8xlarge",
+ "x2iedn.xlarge",
"z1d.12xlarge",
"z1d.2xlarge",
"z1d.3xlarge",
@@ -4249,6 +4325,14 @@ REGION_DETAILS = {
"r5ad.8xlarge",
"r5ad.large",
"r5ad.xlarge",
+ "r5b.12xlarge",
+ "r5b.16xlarge",
+ "r5b.24xlarge",
+ "r5b.2xlarge",
+ "r5b.4xlarge",
+ "r5b.8xlarge",
+ "r5b.large",
+ "r5b.xlarge",
"r5d.12xlarge",
"r5d.16xlarge",
"r5d.24xlarge",
@@ -4327,6 +4411,16 @@ REGION_DETAILS = {
"x1e.4xlarge",
"x1e.8xlarge",
"x1e.xlarge",
+ "x2idn.16xlarge",
+ "x2idn.24xlarge",
+ "x2idn.32xlarge",
+ "x2iedn.16xlarge",
+ "x2iedn.24xlarge",
+ "x2iedn.2xlarge",
+ "x2iedn.32xlarge",
+ "x2iedn.4xlarge",
+ "x2iedn.8xlarge",
+ "x2iedn.xlarge",
],
"signature_version": "2",
},
diff --git a/libcloud/data/pricing.json b/libcloud/data/pricing.json
index 4159b0f14..15404df6d 100644
--- a/libcloud/data/pricing.json
+++ b/libcloud/data/pricing.json
@@ -37260,6 +37260,7 @@
"us-west-2": 3.744
},
"hpc6a.48xlarge": {
+ "eu-north-1": 3.093,
"us-east-2": 2.88,
"us-gov-west-1": 3.467
},
@@ -40402,9 +40403,12 @@
"ap-northeast-1": 0.181,
"ap-northeast-2": 0.178,
"ap-southeast-1": 0.178,
+ "ap-southeast-2": 0.181,
+ "ca-central-1": 0.163,
"eu-central-1": 0.178,
"eu-west-1": 0.167,
"eu-west-2": 0.175,
+ "sa-east-1": 0.237,
"us-east-1": 0.149,
"us-east-2": 0.149,
"us-west-2": 0.149
@@ -40413,9 +40417,12 @@
"ap-northeast-1": 0.362,
"ap-northeast-2": 0.356,
"ap-southeast-1": 0.356,
+ "ap-southeast-2": 0.362,
+ "ca-central-1": 0.326,
"eu-central-1": 0.356,
"eu-west-1": 0.334,
"eu-west-2": 0.35,
+ "sa-east-1": 0.474,
"us-east-1": 0.298,
"us-east-2": 0.298,
"us-west-2": 0.298
@@ -40424,9 +40431,12 @@
"ap-northeast-1": 8.688,
"ap-northeast-2": 8.544,
"ap-southeast-1": 8.544,
+ "ap-southeast-2": 8.688,
+ "ca-central-1": 7.824,
"eu-central-1": 8.544,
"eu-west-1": 8.016,
"eu-west-2": 8.4,
+ "sa-east-1": 11.376,
"us-east-1": 7.152,
"us-east-2": 7.152,
"us-west-2": 7.152
@@ -40435,9 +40445,12 @@
"ap-northeast-1": 0.724,
"ap-northeast-2": 0.712,
"ap-southeast-1": 0.712,
+ "ap-southeast-2": 0.724,
+ "ca-central-1": 0.652,
"eu-central-1": 0.712,
"eu-west-1": 0.668,
"eu-west-2": 0.7,
+ "sa-east-1": 0.948,
"us-east-1": 0.596,
"us-east-2": 0.596,
"us-west-2": 0.596
@@ -40446,9 +40459,12 @@
"ap-northeast-1": 1.448,
"ap-northeast-2": 1.424,
"ap-southeast-1": 1.424,
+ "ap-southeast-2": 1.448,
+ "ca-central-1": 1.304,
"eu-central-1": 1.424,
"eu-west-1": 1.336,
"eu-west-2": 1.4,
+ "sa-east-1": 1.896,
"us-east-1": 1.192,
"us-east-2": 1.192,
"us-west-2": 1.192
@@ -40457,9 +40473,12 @@
"ap-northeast-1": 2.896,
"ap-northeast-2": 2.848,
"ap-southeast-1": 2.848,
+ "ap-southeast-2": 2.896,
+ "ca-central-1": 2.608,
"eu-central-1": 2.848,
"eu-west-1": 2.672,
"eu-west-2": 2.8,
+ "sa-east-1": 3.792,
"us-east-1": 2.384,
"us-east-2": 2.384,
"us-west-2": 2.384
@@ -40468,9 +40487,12 @@
"ap-northeast-1": 4.344,
"ap-northeast-2": 4.272,
"ap-southeast-1": 4.272,
+ "ap-southeast-2": 4.344,
+ "ca-central-1": 3.912,
"eu-central-1": 4.272,
"eu-west-1": 4.008,
"eu-west-2": 4.2,
+ "sa-east-1": 5.688,
"us-east-1": 3.576,
"us-east-2": 3.576,
"us-west-2": 3.576
@@ -40479,9 +40501,12 @@
"ap-northeast-1": 5.792,
"ap-northeast-2": 5.696,
"ap-southeast-1": 5.696,
+ "ap-southeast-2": 5.792,
+ "ca-central-1": 5.216,
"eu-central-1": 5.696,
"eu-west-1": 5.344,
"eu-west-2": 5.6,
+ "sa-east-1": 7.584,
"us-east-1": 4.768,
"us-east-2": 4.768,
"us-west-2": 4.768
@@ -40490,9 +40515,12 @@
"ap-northeast-1": 8.688,
"ap-northeast-2": 8.544,
"ap-southeast-1": 8.544,
+ "ap-southeast-2": 8.688,
+ "ca-central-1": 7.824,
"eu-central-1": 8.544,
"eu-west-1": 8.016,
"eu-west-2": 8.4,
+ "sa-east-1": 11.376,
"us-east-1": 7.152,
"us-east-2": 7.152,
"us-west-2": 7.152
@@ -42345,10 +42373,17 @@
},
"x2idn.metal": {
"ap-northeast-1": 19.341,
+ "ap-northeast-2": 19.341,
"ap-south-1": 13.762,
"ap-southeast-1": 19.341,
+ "ap-southeast-2": 19.341,
+ "ca-central-1": 14.672,
"eu-central-1": 18.674,
+ "eu-north-1": 15.211,
+ "eu-south-1": 16.801,
"eu-west-1": 16.006,
+ "eu-west-2": 16.806,
+ "sa-east-1": 26.01,
"us-east-1": 13.338,
"us-east-2": 13.338,
"us-gov-west-1": 16.006,
@@ -42356,10 +42391,17 @@
},
"x2idn.16xlarge": {
"ap-northeast-1": 9.6705,
+ "ap-northeast-2": 9.6705,
"ap-south-1": 6.881,
"ap-southeast-1": 9.6705,
+ "ap-southeast-2": 9.6705,
+ "ca-central-1": 7.336,
"eu-central-1": 9.337,
+ "eu-north-1": 7.6055,
+ "eu-south-1": 8.4005,
"eu-west-1": 8.003,
+ "eu-west-2": 8.403,
+ "sa-east-1": 13.005,
"us-east-1": 6.669,
"us-east-2": 6.669,
"us-gov-west-1": 8.003,
@@ -42367,10 +42409,17 @@
},
"x2idn.24xlarge": {
"ap-northeast-1": 14.50575,
+ "ap-northeast-2": 14.50575,
"ap-south-1": 10.3215,
"ap-southeast-1": 14.50575,
+ "ap-southeast-2": 14.50575,
+ "ca-central-1": 11.004,
"eu-central-1": 14.0055,
+ "eu-north-1": 11.40825,
+ "eu-south-1": 12.60075,
"eu-west-1": 12.0045,
+ "eu-west-2": 12.6045,
+ "sa-east-1": 19.5075,
"us-east-1": 10.0035,
"us-east-2": 10.0035,
"us-gov-west-1": 12.0045,
@@ -42378,10 +42427,17 @@
},
"x2idn.32xlarge": {
"ap-northeast-1": 19.341,
+ "ap-northeast-2": 19.341,
"ap-south-1": 13.762,
"ap-southeast-1": 19.341,
+ "ap-southeast-2": 19.341,
+ "ca-central-1": 14.672,
"eu-central-1": 18.674,
+ "eu-north-1": 15.211,
+ "eu-south-1": 16.801,
"eu-west-1": 16.006,
+ "eu-west-2": 16.806,
+ "sa-east-1": 26.01,
"us-east-1": 13.338,
"us-east-2": 13.338,
"us-gov-west-1": 16.006,
@@ -42389,10 +42445,17 @@
},
"x2iedn.xlarge": {
"ap-northeast-1": 1.20881,
+ "ap-northeast-2": 1.20881,
"ap-south-1": 0.86013,
"ap-southeast-1": 1.20881,
+ "ap-southeast-2": 1.20881,
+ "ca-central-1": 0.917,
"eu-central-1": 1.16713,
+ "eu-north-1": 0.95072,
+ "eu-south-1": 1.05003,
"eu-west-1": 1.00038,
+ "eu-west-2": 1.05038,
+ "sa-east-1": 1.62563,
"us-east-1": 0.83363,
"us-east-2": 0.83363,
"us-gov-west-1": 1.00038,
@@ -42400,10 +42463,17 @@
},
"x2iedn.metal": {
"ap-northeast-1": 38.682,
+ "ap-northeast-2": 38.682,
"ap-south-1": 27.524,
"ap-southeast-1": 38.682,
+ "ap-southeast-2": 38.682,
+ "ca-central-1": 29.344,
"eu-central-1": 37.348,
+ "eu-north-1": 30.423,
+ "eu-south-1": 33.601,
"eu-west-1": 32.012,
+ "eu-west-2": 33.612,
+ "sa-east-1": 52.02,
"us-east-1": 26.676,
"us-east-2": 26.676,
"us-gov-west-1": 32.012,
@@ -42411,10 +42481,17 @@
},
"x2iedn.2xlarge": {
"ap-northeast-1": 2.41763,
+ "ap-northeast-2": 2.41763,
"ap-south-1": 1.72025,
"ap-southeast-1": 2.41763,
+ "ap-southeast-2": 2.41763,
+ "ca-central-1": 1.834,
"eu-central-1": 2.33425,
+ "eu-north-1": 1.90144,
+ "eu-south-1": 2.10006,
"eu-west-1": 2.00075,
+ "eu-west-2": 2.10075,
+ "sa-east-1": 3.25125,
"us-east-1": 1.66725,
"us-east-2": 1.66725,
"us-gov-west-1": 2.00075,
@@ -42422,10 +42499,17 @@
},
"x2iedn.4xlarge": {
"ap-northeast-1": 4.83525,
+ "ap-northeast-2": 4.83525,
"ap-south-1": 3.4405,
"ap-southeast-1": 4.83525,
+ "ap-southeast-2": 4.83525,
+ "ca-central-1": 3.668,
"eu-central-1": 4.6685,
+ "eu-north-1": 3.80288,
+ "eu-south-1": 4.20013,
"eu-west-1": 4.0015,
+ "eu-west-2": 4.2015,
+ "sa-east-1": 6.5025,
"us-east-1": 3.3345,
"us-east-2": 3.3345,
"us-gov-west-1": 4.0015,
@@ -42433,10 +42517,17 @@
},
"x2iedn.8xlarge": {
"ap-northeast-1": 9.6705,
+ "ap-northeast-2": 9.6705,
"ap-south-1": 6.881,
"ap-southeast-1": 9.6705,
+ "ap-southeast-2": 9.6705,
+ "ca-central-1": 7.336,
"eu-central-1": 9.337,
+ "eu-north-1": 7.60575,
+ "eu-south-1": 8.40025,
"eu-west-1": 8.003,
+ "eu-west-2": 8.403,
+ "sa-east-1": 13.005,
"us-east-1": 6.669,
"us-east-2": 6.669,
"us-gov-west-1": 8.003,
@@ -42444,10 +42535,17 @@
},
"x2iedn.16xlarge": {
"ap-northeast-1": 19.341,
+ "ap-northeast-2": 19.341,
"ap-south-1": 13.762,
"ap-southeast-1": 19.341,
+ "ap-southeast-2": 19.341,
+ "ca-central-1": 14.672,
"eu-central-1": 18.674,
+ "eu-north-1": 15.2115,
+ "eu-south-1": 16.8005,
"eu-west-1": 16.006,
+ "eu-west-2": 16.806,
+ "sa-east-1": 26.01,
"us-east-1": 13.338,
"us-east-2": 13.338,
"us-gov-west-1": 16.006,
@@ -42455,10 +42553,17 @@
},
"x2iedn.24xlarge": {
"ap-northeast-1": 29.0115,
+ "ap-northeast-2": 29.0115,
"ap-south-1": 20.643,
"ap-southeast-1": 29.0115,
+ "ap-southeast-2": 29.0115,
+ "ca-central-1": 22.008,
"eu-central-1": 28.011,
+ "eu-north-1": 22.81725,
+ "eu-south-1": 25.20075,
"eu-west-1": 24.009,
+ "eu-west-2": 25.209,
+ "sa-east-1": 39.015,
"us-east-1": 20.007,
"us-east-2": 20.007,
"us-gov-west-1": 24.009,
@@ -42466,10 +42571,17 @@
},
"x2iedn.32xlarge": {
"ap-northeast-1": 38.682,
+ "ap-northeast-2": 38.682,
"ap-south-1": 27.524,
"ap-southeast-1": 38.682,
+ "ap-southeast-2": 38.682,
+ "ca-central-1": 29.344,
"eu-central-1": 37.348,
+ "eu-north-1": 30.423,
+ "eu-south-1": 33.601,
"eu-west-1": 32.012,
+ "eu-west-2": 33.612,
+ "sa-east-1": 52.02,
"us-east-1": 26.676,
"us-east-2": 26.676,
"us-gov-west-1": 32.012,
@@ -46866,9 +46978,12 @@
"ap-northeast-1": 0.753,
"ap-northeast-2": 0.75,
"ap-southeast-1": 0.75,
+ "ap-southeast-2": 0.753,
+ "ca-central-1": 0.735,
"eu-central-1": 0.75,
"eu-west-1": 0.739,
"eu-west-2": 0.747,
+ "sa-east-1": 0.809,
"us-east-1": 0.721,
"us-east-2": 0.721,
"us-west-2": 0.721
@@ -46877,9 +46992,12 @@
"ap-northeast-1": 1.026,
"ap-northeast-2": 1.02,
"ap-southeast-1": 1.02,
+ "ap-southeast-2": 1.026,
+ "ca-central-1": 0.99,
"eu-central-1": 1.02,
"eu-west-1": 0.998,
"eu-west-2": 1.014,
+ "sa-east-1": 1.138,
"us-east-1": 0.962,
"us-east-2": 0.962,
"us-west-2": 0.962
@@ -46888,9 +47006,12 @@
"ap-northeast-1": 24.624,
"ap-northeast-2": 24.48,
"ap-southeast-1": 24.48,
+ "ap-southeast-2": 24.624,
+ "ca-central-1": 23.76,
"eu-central-1": 24.48,
"eu-west-1": 23.952,
"eu-west-2": 24.336,
+ "sa-east-1": 27.312,
"us-east-1": 23.088,
"us-east-2": 23.088,
"us-west-2": 23.088
@@ -46899,9 +47020,12 @@
"ap-northeast-1": 2.052,
"ap-northeast-2": 2.04,
"ap-southeast-1": 2.04,
+ "ap-southeast-2": 2.052,
+ "ca-central-1": 1.98,
"eu-central-1": 2.04,
"eu-west-1": 1.996,
"eu-west-2": 2.028,
+ "sa-east-1": 2.276,
"us-east-1": 1.924,
"us-east-2": 1.924,
"us-west-2": 1.924
@@ -46910,9 +47034,12 @@
"ap-northeast-1": 4.104,
"ap-northeast-2": 4.08,
"ap-southeast-1": 4.08,
+ "ap-southeast-2": 4.104,
+ "ca-central-1": 3.96,
"eu-central-1": 4.08,
"eu-west-1": 3.992,
"eu-west-2": 4.056,
+ "sa-east-1": 4.552,
"us-east-1": 3.848,
"us-east-2": 3.848,
"us-west-2": 3.848
@@ -46921,9 +47048,12 @@
"ap-northeast-1": 8.208,
"ap-northeast-2": 8.16,
"ap-southeast-1": 8.16,
+ "ap-southeast-2": 8.208,
+ "ca-central-1": 7.92,
"eu-central-1": 8.16,
"eu-west-1": 7.984,
"eu-west-2": 8.112,
+ "sa-east-1": 9.104,
"us-east-1": 7.696,
"us-east-2": 7.696,
"us-west-2": 7.696
@@ -46932,9 +47062,12 @@
"ap-northeast-1": 12.312,
"ap-northeast-2": 12.24,
"ap-southeast-1": 12.24,
+ "ap-southeast-2": 12.312,
+ "ca-central-1": 11.88,
"eu-central-1": 12.24,
"eu-west-1": 11.976,
"eu-west-2": 12.168,
+ "sa-east-1": 13.656,
"us-east-1": 11.544,
"us-east-2": 11.544,
"us-west-2": 11.544
@@ -46943,9 +47076,12 @@
"ap-northeast-1": 16.416,
"ap-northeast-2": 16.32,
"ap-southeast-1": 16.32,
+ "ap-southeast-2": 16.416,
+ "ca-central-1": 15.84,
"eu-central-1": 16.32,
"eu-west-1": 15.968,
"eu-west-2": 16.224,
+ "sa-east-1": 18.208,
"us-east-1": 15.392,
"us-east-2": 15.392,
"us-west-2": 15.392
@@ -46954,9 +47090,12 @@
"ap-northeast-1": 24.624,
"ap-northeast-2": 24.48,
"ap-southeast-1": 24.48,
+ "ap-southeast-2": 24.624,
+ "ca-central-1": 23.76,
"eu-central-1": 24.48,
"eu-west-1": 23.952,
"eu-west-2": 24.336,
+ "sa-east-1": 27.312,
"us-east-1": 23.088,
"us-east-2": 23.088,
"us-west-2": 23.088
@@ -47978,10 +48117,17 @@
"x2gd.16xlarge": {},
"x2idn.metal": {
"ap-northeast-1": 40.589,
+ "ap-northeast-2": 40.589,
"ap-south-1": 35.01,
"ap-southeast-1": 40.589,
+ "ap-southeast-2": 40.589,
+ "ca-central-1": 35.92,
"eu-central-1": 39.922,
+ "eu-north-1": 36.459,
+ "eu-south-1": 38.049,
"eu-west-1": 37.254,
+ "eu-west-2": 38.054,
+ "sa-east-1": 47.258,
"us-east-1": 34.586,
"us-east-2": 34.586,
"us-gov-west-1": 37.254,
@@ -47989,10 +48135,17 @@
},
"x2idn.16xlarge": {
"ap-northeast-1": 20.2945,
+ "ap-northeast-2": 20.2945,
"ap-south-1": 17.505,
"ap-southeast-1": 20.2945,
+ "ap-southeast-2": 20.2945,
+ "ca-central-1": 17.96,
"eu-central-1": 19.961,
+ "eu-north-1": 18.2295,
+ "eu-south-1": 19.0245,
"eu-west-1": 18.627,
+ "eu-west-2": 19.027,
+ "sa-east-1": 23.629,
"us-east-1": 17.293,
"us-east-2": 17.293,
"us-gov-west-1": 18.627,
@@ -48000,10 +48153,17 @@
},
"x2idn.24xlarge": {
"ap-northeast-1": 30.44175,
+ "ap-northeast-2": 30.44175,
"ap-south-1": 26.2575,
"ap-southeast-1": 30.44175,
+ "ap-southeast-2": 30.44175,
+ "ca-central-1": 26.94,
"eu-central-1": 29.9415,
+ "eu-north-1": 27.34425,
+ "eu-south-1": 28.53675,
"eu-west-1": 27.9405,
+ "eu-west-2": 28.5405,
+ "sa-east-1": 35.4435,
"us-east-1": 25.9395,
"us-east-2": 25.9395,
"us-gov-west-1": 27.9405,
@@ -48011,10 +48171,17 @@
},
"x2idn.32xlarge": {
"ap-northeast-1": 40.589,
+ "ap-northeast-2": 40.589,
"ap-south-1": 35.01,
"ap-southeast-1": 40.589,
+ "ap-southeast-2": 40.589,
+ "ca-central-1": 35.92,
"eu-central-1": 39.922,
+ "eu-north-1": 36.459,
+ "eu-south-1": 38.049,
"eu-west-1": 37.254,
+ "eu-west-2": 38.054,
+ "sa-east-1": 47.258,
"us-east-1": 34.586,
"us-east-2": 34.586,
"us-gov-west-1": 37.254,
@@ -48022,10 +48189,17 @@
},
"x2iedn.xlarge": {
"ap-northeast-1": 1.87281,
+ "ap-northeast-2": 1.87281,
"ap-south-1": 1.52413,
"ap-southeast-1": 1.87281,
+ "ap-southeast-2": 1.87281,
+ "ca-central-1": 1.581,
"eu-central-1": 1.83113,
+ "eu-north-1": 1.61472,
+ "eu-south-1": 1.71403,
"eu-west-1": 1.66438,
+ "eu-west-2": 1.71438,
+ "sa-east-1": 2.28963,
"us-east-1": 1.49763,
"us-east-2": 1.49763,
"us-gov-west-1": 1.66438,
@@ -48033,10 +48207,17 @@
},
"x2iedn.metal": {
"ap-northeast-1": 59.93,
+ "ap-northeast-2": 59.93,
"ap-south-1": 48.772,
"ap-southeast-1": 59.93,
+ "ap-southeast-2": 59.93,
+ "ca-central-1": 50.592,
"eu-central-1": 58.596,
+ "eu-north-1": 51.671,
+ "eu-south-1": 54.849,
"eu-west-1": 53.26,
+ "eu-west-2": 54.86,
+ "sa-east-1": 73.268,
"us-east-1": 47.924,
"us-east-2": 47.924,
"us-gov-west-1": 53.26,
@@ -48044,10 +48225,17 @@
},
"x2iedn.2xlarge": {
"ap-northeast-1": 3.74563,
+ "ap-northeast-2": 3.74563,
"ap-south-1": 3.04825,
"ap-southeast-1": 3.74563,
+ "ap-southeast-2": 3.74563,
+ "ca-central-1": 3.162,
"eu-central-1": 3.66225,
+ "eu-north-1": 3.22944,
+ "eu-south-1": 3.42806,
"eu-west-1": 3.32875,
+ "eu-west-2": 3.42875,
+ "sa-east-1": 4.57925,
"us-east-1": 2.99525,
"us-east-2": 2.99525,
"us-gov-west-1": 3.32875,
@@ -48055,10 +48243,17 @@
},
"x2iedn.4xlarge": {
"ap-northeast-1": 7.49125,
+ "ap-northeast-2": 7.49125,
"ap-south-1": 6.0965,
"ap-southeast-1": 7.49125,
+ "ap-southeast-2": 7.49125,
+ "ca-central-1": 6.324,
"eu-central-1": 7.3245,
+ "eu-north-1": 6.45888,
+ "eu-south-1": 6.85613,
"eu-west-1": 6.6575,
+ "eu-west-2": 6.8575,
+ "sa-east-1": 9.1585,
"us-east-1": 5.9905,
"us-east-2": 5.9905,
"us-gov-west-1": 6.6575,
@@ -48066,10 +48261,17 @@
},
"x2iedn.8xlarge": {
"ap-northeast-1": 14.9825,
+ "ap-northeast-2": 14.9825,
"ap-south-1": 12.193,
"ap-southeast-1": 14.9825,
+ "ap-southeast-2": 14.9825,
+ "ca-central-1": 12.648,
"eu-central-1": 14.649,
+ "eu-north-1": 12.91775,
+ "eu-south-1": 13.71225,
"eu-west-1": 13.315,
+ "eu-west-2": 13.715,
+ "sa-east-1": 18.317,
"us-east-1": 11.981,
"us-east-2": 11.981,
"us-gov-west-1": 13.315,
@@ -48077,10 +48279,17 @@
},
"x2iedn.16xlarge": {
"ap-northeast-1": 29.965,
+ "ap-northeast-2": 29.965,
"ap-south-1": 24.386,
"ap-southeast-1": 29.965,
+ "ap-southeast-2": 29.965,
+ "ca-central-1": 25.296,
"eu-central-1": 29.298,
+ "eu-north-1": 25.8355,
+ "eu-south-1": 27.4245,
"eu-west-1": 26.63,
+ "eu-west-2": 27.43,
+ "sa-east-1": 36.634,
"us-east-1": 23.962,
"us-east-2": 23.962,
"us-gov-west-1": 26.63,
@@ -48088,10 +48297,17 @@
},
"x2iedn.24xlarge": {
"ap-northeast-1": 44.9475,
+ "ap-northeast-2": 44.9475,
"ap-south-1": 36.579,
"ap-southeast-1": 44.9475,
+ "ap-southeast-2": 44.9475,
+ "ca-central-1": 37.944,
"eu-central-1": 43.947,
+ "eu-north-1": 38.75325,
+ "eu-south-1": 41.13675,
"eu-west-1": 39.945,
+ "eu-west-2": 41.145,
+ "sa-east-1": 54.951,
"us-east-1": 35.943,
"us-east-2": 35.943,
"us-gov-west-1": 39.945,
@@ -48099,10 +48315,17 @@
},
"x2iedn.32xlarge": {
"ap-northeast-1": 59.93,
+ "ap-northeast-2": 59.93,
"ap-south-1": 48.772,
"ap-southeast-1": 59.93,
+ "ap-southeast-2": 59.93,
+ "ca-central-1": 50.592,
"eu-central-1": 58.596,
+ "eu-north-1": 51.671,
+ "eu-south-1": 54.849,
"eu-west-1": 53.26,
+ "eu-west-2": 54.86,
+ "sa-east-1": 73.268,
"us-east-1": 47.924,
"us-east-2": 47.924,
"us-gov-west-1": 53.26,
@@ -54107,5 +54330,5 @@
}
},
"storage": {},
- "updated": 1652110672
+ "updated": 1652641167
}
\ No newline at end of file
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 31882b4229e95470c28a81685043b31fd2a756ce
Author: Tomaz Muraus <to...@tomaz.me>
AuthorDate: Sun May 15 20:57:02 2022 +0200
Fix mypy.
---
libcloud/compute/ssh.py | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/libcloud/compute/ssh.py b/libcloud/compute/ssh.py
index 8dc1cbd02..4cac74ec8 100644
--- a/libcloud/compute/ssh.py
+++ b/libcloud/compute/ssh.py
@@ -71,14 +71,10 @@ SUPPORTED_KEY_TYPES_URL = "https://libcloud.readthedocs.io/en/latest/compute/dep
# algorithms, they may want to disable this workaround.
LIBCLOUD_PARAMIKO_SHA2_BACKWARD_COMPATIBILITY = os.environ.get(
"LIBCLOUD_PARAMIKO_SHA2_BACKWARD_COMPATIBILITY", "true"
-)
-LIBCLOUD_PARAMIKO_SHA2_BACKWARD_COMPATIBILITY = (
- LIBCLOUD_PARAMIKO_SHA2_BACKWARD_COMPATIBILITY.lower()
- in [
- "true",
- "1",
- ]
-)
+).lower() in [
+ "true",
+ "1",
+]
SHA2_PUBKEY_NOT_SUPPORTED_AUTH_ERROR_MSG = """
Received authentication error from the server. Disabling SHA-2 variants of RSA
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 2c3b82eb454a311df7b9b76740e065b3d8f71fd0
Author: Tomaz Muraus <to...@tomaz.me>
AuthorDate: Sun May 15 21:01:55 2022 +0200
Re-generate supported provider tables
---
docs/compute/_supported_providers.rst | 140 +++++++++++++++++-----------------
1 file changed, 70 insertions(+), 70 deletions(-)
diff --git a/docs/compute/_supported_providers.rst b/docs/compute/_supported_providers.rst
index 3e8828e9d..41855333c 100644
--- a/docs/compute/_supported_providers.rst
+++ b/docs/compute/_supported_providers.rst
@@ -1,75 +1,75 @@
.. 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
-===================================== ================================================= =================== ============================================================================================================================================================================================================================================================================================ ================================================= ====================================
-`Abiquo`_ ABIQUO single region driver :mod:`libcloud.compute.drivers.abiquo` :class:`AbiquoNodeDriver`
-`Aliyun ECS`_ :doc:`Click </compute/drivers/aliyun_ecs>` ALIYUN_ECS single region driver :mod:`libcloud.compute.drivers.ecs` :class:`ECSDriver`
-`PCextreme AuroraCompute`_ :doc:`Click </compute/drivers/auroracompute>` AURORACOMPUTE single region driver :mod:`libcloud.compute.drivers.auroracompute` :class:`AuroraComputeNodeDriver`
-`Azure Virtual machines`_ :doc:`Click </compute/drivers/azure>` AZURE single region driver :mod:`libcloud.compute.drivers.azure` :class:`AzureNodeDriver`
-`Azure Virtual machines`_ :doc:`Click </compute/drivers/azure_arm>` AZURE_ARM single region driver :mod:`libcloud.compute.drivers.azure_arm` :class:`AzureNodeDriver`
-`Bluebox Blocks`_ BLUEBOX single region driver :mod:`libcloud.compute.drivers.bluebox` :class:`BlueboxNodeDriver`
-`Brightbox`_ BRIGHTBOX single region driver :mod:`libcloud.compute.drivers.brightbox` :class:`BrightboxNodeDriver`
-`BSNL`_ :doc:`Click </compute/drivers/bsnl>` BSNL single region driver :mod:`libcloud.compute.drivers.bsnl` :class:`BSNLNodeDriver`
-`Cloudscale`_ :doc:`Click </compute/drivers/cloudscale>` CLOUDSCALE single region driver :mod:`libcloud.compute.drivers.cloudscale` :class:`CloudscaleNodeDriver`
-`CloudSigma (API v2.0)`_ :doc:`Click </compute/drivers/cloudsigma>` CLOUDSIGMA single region driver :mod:`libcloud.compute.drivers.cloudsigma` :class:`CloudSigmaNodeDriver`
-`CloudStack`_ :doc:`Click </compute/drivers/cloudstack>` CLOUDSTACK single region driver :mod:`libcloud.compute.drivers.cloudstack` :class:`CloudStackNodeDriver`
-`Cloudwatt`_ :doc:`Click </compute/drivers/cloudwatt>` CLOUDWATT single region driver :mod:`libcloud.compute.drivers.cloudwatt` :class:`CloudwattNodeDriver`
-`DigitalOcean`_ :doc:`Click </compute/drivers/digital_ocean>` DIGITAL_OCEAN single region driver :mod:`libcloud.compute.drivers.digitalocean` :class:`DigitalOceanNodeDriver`
-`DimensionData`_ :doc:`Click </compute/drivers/dimensiondata>` DIMENSIONDATA single region driver :mod:`libcloud.compute.drivers.dimensiondata` :class:`DimensionDataNodeDriver`
-`Amazon EC2`_ :doc:`Click </compute/drivers/ec2>` EC2 ap-east-1, 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-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-gov-west-1, us-west-1, us-west-2 :mod:`libcloud.compute.drivers.ec2` :class:`EC2NodeDriver`
-`Enomaly Elastic Computing Platform`_ ECP single region driver :mod:`libcloud.compute.drivers.ecp` :class:`ECPNodeDriver`
-`ElasticHosts`_ ELASTICHOSTS single region driver :mod:`libcloud.compute.drivers.elastichosts` :class:`ElasticHostsNodeDriver`
-`EquinixMetal`_ :doc:`Click </compute/drivers/equinixmetal>` EQUINIXMETAL single region driver :mod:`libcloud.compute.drivers.equinixmetal` :class:`EquinixMetalNodeDriver`
-`Eucalyptus`_ EUCALYPTUS single region driver :mod:`libcloud.compute.drivers.ec2` :class:`EucNodeDriver`
-`Exoscale`_ :doc:`Click </compute/drivers/exoscale>` EXOSCALE single region driver :mod:`libcloud.compute.drivers.exoscale` :class:`ExoscaleNodeDriver`
-`Gandi`_ :doc:`Click </compute/drivers/gandi>` GANDI single region driver :mod:`libcloud.compute.drivers.gandi` :class:`GandiNodeDriver`
-`Google Compute Engine`_ :doc:`Click </compute/drivers/gce>` GCE single region driver :mod:`libcloud.compute.drivers.gce` :class:`GCENodeDriver`
-`GiG G8 Node Provider`_ GIG_G8 single region driver :mod:`libcloud.compute.drivers.gig_g8` :class:`G8NodeDriver`
-`GoGrid`_ GOGRID single region driver :mod:`libcloud.compute.drivers.gogrid` :class:`GoGridNodeDriver`
-`Gridscale`_ :doc:`Click </compute/drivers/gridscale>` GRIDSCALE single region driver :mod:`libcloud.compute.drivers.gridscale` :class:`GridscaleNodeDriver`
-`HostVirtual`_ HOSTVIRTUAL single region driver :mod:`libcloud.compute.drivers.hostvirtual` :class:`HostVirtualNodeDriver`
-`Ikoula`_ :doc:`Click </compute/drivers/ikoula>` IKOULA single region driver :mod:`libcloud.compute.drivers.ikoula` :class:`IkoulaNodeDriver`
-`Indosat`_ :doc:`Click </compute/drivers/indosat>` INDOSAT single region driver :mod:`libcloud.compute.drivers.indosat` :class:`IndosatNodeDriver`
-`InternetSolutions`_ :doc:`Click </compute/drivers/internetsolutions>` INTERNETSOLUTIONS single region driver :mod:`libcloud.compute.drivers.internetsolutions` :class:`InternetSolutionsNodeDriver`
-`Joyent`_ JOYENT single region driver :mod:`libcloud.compute.drivers.joyent` :class:`JoyentNodeDriver`
-`Kamatera`_ :doc:`Click </compute/drivers/kamatera>` KAMATERA single region driver :mod:`libcloud.compute.drivers.kamatera` :class:`KamateraNodeDriver`
-`Kili Public Cloud`_ :doc:`Click </compute/drivers/kili>` KILI single region driver :mod:`libcloud.compute.drivers.kili` :class:`KiliCloudNodeDriver`
-`KTUCloud`_ KTUCLOUD single region driver :mod:`libcloud.compute.drivers.ktucloud` :class:`KTUCloudNodeDriver`
-`kubevirt`_ KUBEVIRT single region driver :mod:`libcloud.compute.drivers.kubevirt` :class:`KubeVirtNodeDriver`
-`Libvirt`_ :doc:`Click </compute/drivers/libvirt>` LIBVIRT single region driver :mod:`libcloud.compute.drivers.libvirt_driver` :class:`LibvirtNodeDriver`
-`Linode`_ LINODE single region driver :mod:`libcloud.compute.drivers.linode` :class:`LinodeNodeDriver`
-`Maxihost`_ :doc:`Click </compute/drivers/maxihost>` MAXIHOST single region driver :mod:`libcloud.compute.drivers.maxihost` :class:`MaxihostNodeDriver`
-`MedOne`_ :doc:`Click </compute/drivers/medone>` MEDONE single region driver :mod:`libcloud.compute.drivers.medone` :class:`MedOneNodeDriver`
-`NephoScale`_ NEPHOSCALE single region driver :mod:`libcloud.compute.drivers.nephoscale` :class:`NephoscaleNodeDriver`
-`Nimbus`_ :doc:`Click </compute/drivers/nimbus>` NIMBUS single region driver :mod:`libcloud.compute.drivers.ec2` :class:`NimbusNodeDriver`
-`NTTAmerica`_ :doc:`Click </compute/drivers/ntta>` NTTA single region driver :mod:`libcloud.compute.drivers.ntta` :class:`NTTAmericaNodeDriver`
-`NTTC-CIS`_ :doc:`Click </compute/drivers/nttcis>` NTTCIS single region driver :mod:`libcloud.compute.drivers.nttcis` :class:`NttCisNodeDriver`
-`OnApp`_ :doc:`Click </compute/drivers/onapp>` ONAPP single region driver :mod:`libcloud.compute.drivers.onapp` :class:`OnAppNodeDriver`
-`1and1`_ :doc:`Click </compute/drivers/oneandone>` ONEANDONE single region driver :mod:`libcloud.compute.drivers.oneandone` :class:`OneAndOneNodeDriver`
-`OpenNebula (v3.8)`_ OPENNEBULA single region driver :mod:`libcloud.compute.drivers.opennebula` :class:`OpenNebulaNodeDriver`
-`OpenStack`_ :doc:`Click </compute/drivers/openstack>` OPENSTACK single region driver :mod:`libcloud.compute.drivers.openstack` :class:`OpenStackNodeDriver`
-`Outscale API`_ :doc:`Click </compute/drivers/outscale>` OUTSCALE single region driver :mod:`libcloud.compute.drivers.outscale` :class:`OutscaleNodeDriver`
-`Outscale INC`_ :doc:`Click </compute/drivers/outscale_inc>` OUTSCALE_INC single region driver :mod:`libcloud.compute.drivers.ec2` :class:`OutscaleINCNodeDriver`
-`Outscale SAS`_ :doc:`Click </compute/drivers/outscale_sas>` OUTSCALE_SAS single region driver :mod:`libcloud.compute.drivers.ec2` :class:`OutscaleSASNodeDriver`
-`Ovh`_ :doc:`Click </compute/drivers/ovh>` OVH ca, eu :mod:`libcloud.compute.drivers.ovh` :class:`OvhNodeDriver`
-`ProfitBricks`_ PROFIT_BRICKS single region driver :mod:`libcloud.compute.drivers.profitbricks` :class:`ProfitBricksNodeDriver`
-`Rackspace Cloud (Next Gen)`_ :doc:`Click </compute/drivers/rackspace>` RACKSPACE single region driver :mod:`libcloud.compute.drivers.rackspace` :class:`RackspaceNodeDriver`
-`Rackspace Cloud (First Gen)`_ RACKSPACE_FIRST_GEN single region driver :mod:`libcloud.compute.drivers.rackspace` :class:`RackspaceFirstGenNodeDriver`
-`RimuHosting`_ RIMUHOSTING single region driver :mod:`libcloud.compute.drivers.rimuhosting` :class:`RimuHostingNodeDriver`
-`Scaleway`_ :doc:`Click </compute/drivers/scaleway>` SCALEWAY single region driver :mod:`libcloud.compute.drivers.scaleway` :class:`ScalewayNodeDriver`
-`ServerLove`_ SERVERLOVE single region driver :mod:`libcloud.compute.drivers.serverlove` :class:`ServerLoveNodeDriver`
-`skalicloud`_ SKALICLOUD single region driver :mod:`libcloud.compute.drivers.skalicloud` :class:`SkaliCloudNodeDriver`
-`SoftLayer`_ SOFTLAYER single region driver :mod:`libcloud.compute.drivers.softlayer` :class:`SoftLayerNodeDriver`
-`vCloud`_ TERREMARK single region driver :mod:`libcloud.compute.drivers.vcloud` :class:`TerremarkDriver`
-`Upcloud`_ :doc:`Click </compute/drivers/upcloud>` UPCLOUD single region driver :mod:`libcloud.compute.drivers.upcloud` :class:`UpcloudDriver`
-`VCL`_ VCL single region driver :mod:`libcloud.compute.drivers.vcl` :class:`VCLNodeDriver`
-`vCloud`_ :doc:`Click </compute/drivers/vcloud>` VCLOUD single region driver :mod:`libcloud.compute.drivers.vcloud` :class:`VCloudNodeDriver`
-`Voxel VoxCLOUD`_ VOXEL single region driver :mod:`libcloud.compute.drivers.voxel` :class:`VoxelNodeDriver`
-`vps.net`_ VPSNET single region driver :mod:`libcloud.compute.drivers.vpsnet` :class:`VPSNetNodeDriver`
-`VMware vSphere`_ :doc:`Click </compute/drivers/vsphere>` VSPHERE single region driver :mod:`libcloud.compute.drivers.vsphere` :class:`VSphereNodeDriver`
-`Vultr`_ :doc:`Click </compute/drivers/vultr>` VULTR single region driver :mod:`libcloud.compute.drivers.vultr` :class:`VultrNodeDriver`
-===================================== ================================================= =================== ============================================================================================================================================================================================================================================================================================ ================================================= ====================================
+===================================== ================================================= =================== ======================================================================================================================================================================================================================================================================================================== ================================================= ====================================
+Provider Documentation Provider Constant Supported Regions Module Class Name
+===================================== ================================================= =================== ======================================================================================================================================================================================================================================================================================================== ================================================= ====================================
+`Abiquo`_ ABIQUO single region driver :mod:`libcloud.compute.drivers.abiquo` :class:`AbiquoNodeDriver`
+`Aliyun ECS`_ :doc:`Click </compute/drivers/aliyun_ecs>` ALIYUN_ECS single region driver :mod:`libcloud.compute.drivers.ecs` :class:`ECSDriver`
+`PCextreme AuroraCompute`_ :doc:`Click </compute/drivers/auroracompute>` AURORACOMPUTE single region driver :mod:`libcloud.compute.drivers.auroracompute` :class:`AuroraComputeNodeDriver`
+`Azure Virtual machines`_ :doc:`Click </compute/drivers/azure>` AZURE single region driver :mod:`libcloud.compute.drivers.azure` :class:`AzureNodeDriver`
+`Azure Virtual machines`_ :doc:`Click </compute/drivers/azure_arm>` AZURE_ARM single region driver :mod:`libcloud.compute.drivers.azure_arm` :class:`AzureNodeDriver`
+`Bluebox Blocks`_ BLUEBOX single region driver :mod:`libcloud.compute.drivers.bluebox` :class:`BlueboxNodeDriver`
+`Brightbox`_ BRIGHTBOX single region driver :mod:`libcloud.compute.drivers.brightbox` :class:`BrightboxNodeDriver`
+`BSNL`_ :doc:`Click </compute/drivers/bsnl>` BSNL single region driver :mod:`libcloud.compute.drivers.bsnl` :class:`BSNLNodeDriver`
+`Cloudscale`_ :doc:`Click </compute/drivers/cloudscale>` CLOUDSCALE single region driver :mod:`libcloud.compute.drivers.cloudscale` :class:`CloudscaleNodeDriver`
+`CloudSigma (API v2.0)`_ :doc:`Click </compute/drivers/cloudsigma>` CLOUDSIGMA single region driver :mod:`libcloud.compute.drivers.cloudsigma` :class:`CloudSigmaNodeDriver`
+`CloudStack`_ :doc:`Click </compute/drivers/cloudstack>` CLOUDSTACK single region driver :mod:`libcloud.compute.drivers.cloudstack` :class:`CloudStackNodeDriver`
+`Cloudwatt`_ :doc:`Click </compute/drivers/cloudwatt>` CLOUDWATT single region driver :mod:`libcloud.compute.drivers.cloudwatt` :class:`CloudwattNodeDriver`
+`DigitalOcean`_ :doc:`Click </compute/drivers/digital_ocean>` DIGITAL_OCEAN single region driver :mod:`libcloud.compute.drivers.digitalocean` :class:`DigitalOceanNodeDriver`
+`DimensionData`_ :doc:`Click </compute/drivers/dimensiondata>` DIMENSIONDATA single region driver :mod:`libcloud.compute.drivers.dimensiondata` :class:`DimensionDataNodeDriver`
+`Amazon EC2`_ :doc:`Click </compute/drivers/ec2>` EC2 af-south-1, ap-east-1, 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-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-gov-west-1, us-west-1, us-west-2 :mod:`libcloud.compute.drivers.ec2` :class:`EC2NodeDriver`
+`Enomaly Elastic Computing Platform`_ ECP single region driver :mod:`libcloud.compute.drivers.ecp` :class:`ECPNodeDriver`
+`ElasticHosts`_ ELASTICHOSTS single region driver :mod:`libcloud.compute.drivers.elastichosts` :class:`ElasticHostsNodeDriver`
+`EquinixMetal`_ :doc:`Click </compute/drivers/equinixmetal>` EQUINIXMETAL single region driver :mod:`libcloud.compute.drivers.equinixmetal` :class:`EquinixMetalNodeDriver`
+`Eucalyptus`_ EUCALYPTUS single region driver :mod:`libcloud.compute.drivers.ec2` :class:`EucNodeDriver`
+`Exoscale`_ :doc:`Click </compute/drivers/exoscale>` EXOSCALE single region driver :mod:`libcloud.compute.drivers.exoscale` :class:`ExoscaleNodeDriver`
+`Gandi`_ :doc:`Click </compute/drivers/gandi>` GANDI single region driver :mod:`libcloud.compute.drivers.gandi` :class:`GandiNodeDriver`
+`Google Compute Engine`_ :doc:`Click </compute/drivers/gce>` GCE single region driver :mod:`libcloud.compute.drivers.gce` :class:`GCENodeDriver`
+`GiG G8 Node Provider`_ GIG_G8 single region driver :mod:`libcloud.compute.drivers.gig_g8` :class:`G8NodeDriver`
+`GoGrid`_ GOGRID single region driver :mod:`libcloud.compute.drivers.gogrid` :class:`GoGridNodeDriver`
+`Gridscale`_ :doc:`Click </compute/drivers/gridscale>` GRIDSCALE single region driver :mod:`libcloud.compute.drivers.gridscale` :class:`GridscaleNodeDriver`
+`HostVirtual`_ HOSTVIRTUAL single region driver :mod:`libcloud.compute.drivers.hostvirtual` :class:`HostVirtualNodeDriver`
+`Ikoula`_ :doc:`Click </compute/drivers/ikoula>` IKOULA single region driver :mod:`libcloud.compute.drivers.ikoula` :class:`IkoulaNodeDriver`
+`Indosat`_ :doc:`Click </compute/drivers/indosat>` INDOSAT single region driver :mod:`libcloud.compute.drivers.indosat` :class:`IndosatNodeDriver`
+`InternetSolutions`_ :doc:`Click </compute/drivers/internetsolutions>` INTERNETSOLUTIONS single region driver :mod:`libcloud.compute.drivers.internetsolutions` :class:`InternetSolutionsNodeDriver`
+`Joyent`_ JOYENT single region driver :mod:`libcloud.compute.drivers.joyent` :class:`JoyentNodeDriver`
+`Kamatera`_ :doc:`Click </compute/drivers/kamatera>` KAMATERA single region driver :mod:`libcloud.compute.drivers.kamatera` :class:`KamateraNodeDriver`
+`Kili Public Cloud`_ :doc:`Click </compute/drivers/kili>` KILI single region driver :mod:`libcloud.compute.drivers.kili` :class:`KiliCloudNodeDriver`
+`KTUCloud`_ KTUCLOUD single region driver :mod:`libcloud.compute.drivers.ktucloud` :class:`KTUCloudNodeDriver`
+`kubevirt`_ KUBEVIRT single region driver :mod:`libcloud.compute.drivers.kubevirt` :class:`KubeVirtNodeDriver`
+`Libvirt`_ :doc:`Click </compute/drivers/libvirt>` LIBVIRT single region driver :mod:`libcloud.compute.drivers.libvirt_driver` :class:`LibvirtNodeDriver`
+`Linode`_ LINODE single region driver :mod:`libcloud.compute.drivers.linode` :class:`LinodeNodeDriver`
+`Maxihost`_ :doc:`Click </compute/drivers/maxihost>` MAXIHOST single region driver :mod:`libcloud.compute.drivers.maxihost` :class:`MaxihostNodeDriver`
+`MedOne`_ :doc:`Click </compute/drivers/medone>` MEDONE single region driver :mod:`libcloud.compute.drivers.medone` :class:`MedOneNodeDriver`
+`NephoScale`_ NEPHOSCALE single region driver :mod:`libcloud.compute.drivers.nephoscale` :class:`NephoscaleNodeDriver`
+`Nimbus`_ :doc:`Click </compute/drivers/nimbus>` NIMBUS single region driver :mod:`libcloud.compute.drivers.ec2` :class:`NimbusNodeDriver`
+`NTTAmerica`_ :doc:`Click </compute/drivers/ntta>` NTTA single region driver :mod:`libcloud.compute.drivers.ntta` :class:`NTTAmericaNodeDriver`
+`NTTC-CIS`_ :doc:`Click </compute/drivers/nttcis>` NTTCIS single region driver :mod:`libcloud.compute.drivers.nttcis` :class:`NttCisNodeDriver`
+`OnApp`_ :doc:`Click </compute/drivers/onapp>` ONAPP single region driver :mod:`libcloud.compute.drivers.onapp` :class:`OnAppNodeDriver`
+`1and1`_ :doc:`Click </compute/drivers/oneandone>` ONEANDONE single region driver :mod:`libcloud.compute.drivers.oneandone` :class:`OneAndOneNodeDriver`
+`OpenNebula (v3.8)`_ OPENNEBULA single region driver :mod:`libcloud.compute.drivers.opennebula` :class:`OpenNebulaNodeDriver`
+`OpenStack`_ :doc:`Click </compute/drivers/openstack>` OPENSTACK single region driver :mod:`libcloud.compute.drivers.openstack` :class:`OpenStackNodeDriver`
+`Outscale API`_ :doc:`Click </compute/drivers/outscale>` OUTSCALE single region driver :mod:`libcloud.compute.drivers.outscale` :class:`OutscaleNodeDriver`
+`Outscale INC`_ :doc:`Click </compute/drivers/outscale_inc>` OUTSCALE_INC single region driver :mod:`libcloud.compute.drivers.ec2` :class:`OutscaleINCNodeDriver`
+`Outscale SAS`_ :doc:`Click </compute/drivers/outscale_sas>` OUTSCALE_SAS single region driver :mod:`libcloud.compute.drivers.ec2` :class:`OutscaleSASNodeDriver`
+`Ovh`_ :doc:`Click </compute/drivers/ovh>` OVH ca, eu :mod:`libcloud.compute.drivers.ovh` :class:`OvhNodeDriver`
+`ProfitBricks`_ PROFIT_BRICKS single region driver :mod:`libcloud.compute.drivers.profitbricks` :class:`ProfitBricksNodeDriver`
+`Rackspace Cloud (Next Gen)`_ :doc:`Click </compute/drivers/rackspace>` RACKSPACE single region driver :mod:`libcloud.compute.drivers.rackspace` :class:`RackspaceNodeDriver`
+`Rackspace Cloud (First Gen)`_ RACKSPACE_FIRST_GEN single region driver :mod:`libcloud.compute.drivers.rackspace` :class:`RackspaceFirstGenNodeDriver`
+`RimuHosting`_ RIMUHOSTING single region driver :mod:`libcloud.compute.drivers.rimuhosting` :class:`RimuHostingNodeDriver`
+`Scaleway`_ :doc:`Click </compute/drivers/scaleway>` SCALEWAY single region driver :mod:`libcloud.compute.drivers.scaleway` :class:`ScalewayNodeDriver`
+`ServerLove`_ SERVERLOVE single region driver :mod:`libcloud.compute.drivers.serverlove` :class:`ServerLoveNodeDriver`
+`skalicloud`_ SKALICLOUD single region driver :mod:`libcloud.compute.drivers.skalicloud` :class:`SkaliCloudNodeDriver`
+`SoftLayer`_ SOFTLAYER single region driver :mod:`libcloud.compute.drivers.softlayer` :class:`SoftLayerNodeDriver`
+`vCloud`_ TERREMARK single region driver :mod:`libcloud.compute.drivers.vcloud` :class:`TerremarkDriver`
+`Upcloud`_ :doc:`Click </compute/drivers/upcloud>` UPCLOUD single region driver :mod:`libcloud.compute.drivers.upcloud` :class:`UpcloudDriver`
+`VCL`_ VCL single region driver :mod:`libcloud.compute.drivers.vcl` :class:`VCLNodeDriver`
+`vCloud`_ :doc:`Click </compute/drivers/vcloud>` VCLOUD single region driver :mod:`libcloud.compute.drivers.vcloud` :class:`VCloudNodeDriver`
+`Voxel VoxCLOUD`_ VOXEL single region driver :mod:`libcloud.compute.drivers.voxel` :class:`VoxelNodeDriver`
+`vps.net`_ VPSNET single region driver :mod:`libcloud.compute.drivers.vpsnet` :class:`VPSNetNodeDriver`
+`VMware vSphere`_ :doc:`Click </compute/drivers/vsphere>` VSPHERE single region driver :mod:`libcloud.compute.drivers.vsphere` :class:`VSphereNodeDriver`
+`Vultr`_ :doc:`Click </compute/drivers/vultr>` VULTR single region driver :mod:`libcloud.compute.drivers.vultr` :class:`VultrNodeDriver`
+===================================== ================================================= =================== ======================================================================================================================================================================================================================================================================================================== ================================================= ====================================
.. _`Abiquo`: http://www.abiquo.com/
.. _`Aliyun ECS`: https://www.aliyun.com/product/ecs
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 45553d33e3f4c5eb04bfc7da3327ee92fd1e41b8
Author: Tomaz Muraus <to...@tomaz.me>
AuthorDate: Wed May 18 12:58:27 2022 +0200
Ensure object.hash is None instead of empty string ("") in case response
doesn't contain etag header, add test case for scenario where response
doesn't contai etag and content-type header.
---
libcloud/storage/drivers/s3.py | 2 +-
libcloud/test/storage/test_s3.py | 26 ++++++++++++++++++++++++++
2 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/libcloud/storage/drivers/s3.py b/libcloud/storage/drivers/s3.py
index edebe5f71..516bf6f57 100644
--- a/libcloud/storage/drivers/s3.py
+++ b/libcloud/storage/drivers/s3.py
@@ -1232,7 +1232,7 @@ class BaseS3StorageDriver(StorageDriver):
obj = Object(
name=object_name,
size=int(content_length),
- hash=hash,
+ hash=hash or None,
extra=extra,
meta_data=meta_data,
container=container,
diff --git a/libcloud/test/storage/test_s3.py b/libcloud/test/storage/test_s3.py
index ee3af96b2..0f592aa05 100644
--- a/libcloud/test/storage/test_s3.py
+++ b/libcloud/test/storage/test_s3.py
@@ -112,6 +112,20 @@ class S3MockHttp(BaseRangeDownloadMockHttp, unittest.TestCase):
body = self.fixtures.load("list_container_objects.xml")
return (httplib.OK, body, self.base_headers, httplib.responses[httplib.OK])
+ def _test2_test_get_object_no_content_type(self, method, url, body, headers):
+ headers = {
+ "content-length": "12345",
+ "last-modified": "Thu, 13 Sep 2012 07:13:22 GMT",
+ }
+ return (httplib.OK, body, headers, httplib.responses[httplib.OK])
+
+ def _test2_get_object_no_content_type(self, method, url, body, headers):
+ headers = {
+ "content-length": "12345",
+ "last-modified": "Thu, 13 Sep 2012 07:13:22 GMT",
+ }
+ return (httplib.OK, body, headers, httplib.responses[httplib.OK])
+
def _test2_test_get_object(self, method, url, body, headers):
# test_get_object_success
body = self.fixtures.load("list_containers.xml")
@@ -502,6 +516,18 @@ class S3Tests(unittest.TestCase):
container = self.driver.get_container(container_name="test1")
self.assertTrue(container.name, "test1")
+ def test_get_object_no_content_type_and_etag_in_response_headers(self):
+ self.mock_response_klass.type = "get_object_no_content_type"
+ obj = self.driver.get_object(container_name="test2", object_name="test")
+
+ self.assertEqual(obj.name, "test")
+ self.assertEqual(obj.container.name, "test2")
+ self.assertEqual(obj.size, 12345)
+ self.assertIsNone(obj.hash)
+ self.assertEqual(obj.extra["last_modified"], "Thu, 13 Sep 2012 07:13:22 GMT")
+ self.assertTrue("etag" not in obj.extra)
+ self.assertTrue("content_type" not in obj.extra)
+
def test_get_object_cdn_url(self):
self.mock_response_klass.type = "get_object"
obj = self.driver.get_object(container_name="test2", object_name="test")
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 854372bb4c879103cfef030a429075e2d169a877
Author: Tomaz Muraus <to...@tomaz.me>
AuthorDate: Sun May 15 21:02:05 2022 +0200
Bump version for v3.6.0 release.
---
docs/conf.py | 4 ++--
libcloud/__init__.py | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/docs/conf.py b/docs/conf.py
index 14e3ff9e1..aa3ee20b3 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -68,10 +68,10 @@ html_show_sphinx = False
# built documents.
#
# The short X.Y version.
-version = '3.5.2-dev'
+version = '3.6.0'
# The full version, including alpha/beta/rc tags.
-release = '3.5.2-dev'
+release = '3.6.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff --git a/libcloud/__init__.py b/libcloud/__init__.py
index 77ea1042f..1dbd3c337 100644
--- a/libcloud/__init__.py
+++ b/libcloud/__init__.py
@@ -39,7 +39,7 @@ except ImportError:
__all__ = ["__version__", "enable_debug"]
-__version__ = "3.5.2-dev"
+__version__ = "3.6.0"
def enable_debug(fo):