diff --git a/dvc/config.py b/dvc/config.py index ade17be31..70a3b88e5 100644 --- a/dvc/config.py +++ b/dvc/config.py @@ -123,12 +123,15 @@ class Config(object): SECTION_AWS_ENDPOINT_URL = 'endpointurl' SECTION_AWS_REGION = 'region' SECTION_AWS_PROFILE = 'profile' + SECTION_AWS_USE_SSL = 'use_ssl' SECTION_AWS_SCHEMA = { SECTION_AWS_STORAGEPATH: str, Optional(SECTION_AWS_REGION): str, Optional(SECTION_AWS_PROFILE): str, Optional(SECTION_AWS_CREDENTIALPATH): str, Optional(SECTION_AWS_ENDPOINT_URL): str, + Optional(SECTION_AWS_USE_SSL, + default=True): And(str, is_bool, Use(to_bool)), } # backward compatibility @@ -162,6 +165,8 @@ class Config(object): Optional(SECTION_AWS_PROFILE): str, Optional(SECTION_AWS_CREDENTIALPATH): str, Optional(SECTION_AWS_ENDPOINT_URL): str, + Optional(SECTION_AWS_USE_SSL, + default=True): And(str, is_bool, Use(to_bool)), Optional(SECTION_GCP_PROJECTNAME): str, Optional(SECTION_CACHE_TYPE): SECTION_CACHE_TYPE_SCHEMA, Optional(SECTION_CACHE_PROTECTED, diff --git a/dvc/remote/s3.py b/dvc/remote/s3.py index 944a0cadc..3242f42a9 100644 --- a/dvc/remote/s3.py +++ b/dvc/remote/s3.py @@ -60,6 +60,8 @@ class RemoteS3(RemoteBase): self.endpoint_url = config.get(Config.SECTION_AWS_ENDPOINT_URL) + self.use_ssl = config.get(Config.SECTION_AWS_USE_SSL, True) + shared_creds = config.get(Config.SECTION_AWS_CREDENTIALPATH) if shared_creds: os.environ.setdefault('AWS_SHARED_CREDENTIALS_FILE', shared_creds) @@ -84,7 +86,9 @@ class RemoteS3(RemoteBase): session = boto3.session.Session(profile_name=self.profile, region_name=self.region) - return session.client('s3', endpoint_url=self.endpoint_url) + return session.client('s3', + endpoint_url=self.endpoint_url, + use_ssl=self.use_ssl) def get_etag(self, bucket, key): try: