diff --git a/Remote/Glacier.hs b/Remote/Glacier.hs index 02a7b5c264..e5b541bb4d 100644 --- a/Remote/Glacier.hs +++ b/Remote/Glacier.hs @@ -40,6 +40,7 @@ remote = specialRemoteType $ RemoteType [ optionalStringParser datacenterField , optionalStringParser vaultField , optionalStringParser fileprefixField + , optionalStringParser AWS.s3credsField ] , setup = glacierSetup , exportSupported = exportUnsupported diff --git a/Remote/Helper/AWS.hs b/Remote/Helper/AWS.hs index 759de1972b..21ef69c2b4 100644 --- a/Remote/Helper/AWS.hs +++ b/Remote/Helper/AWS.hs @@ -13,6 +13,7 @@ module Remote.Helper.AWS where import Annex.Common import Creds import Types.ProposedAccepted +import Types.RemoteConfig import qualified Data.Map as M import qualified Data.ByteString as B @@ -24,9 +25,12 @@ creds :: UUID -> CredPairStorage creds u = CredPairStorage { credPairFile = fromUUID u , credPairEnvironment = ("AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY") - , credPairRemoteField = Accepted "s3creds" + , credPairRemoteField = s3credsField } +s3credsField :: RemoteConfigField +s3credsField = Accepted "s3creds" + data Service = S3 | Glacier deriving (Eq) diff --git a/Remote/S3.hs b/Remote/S3.hs index 347f8836fa..b8b2969bfc 100644 --- a/Remote/S3.hs +++ b/Remote/S3.hs @@ -88,6 +88,7 @@ remote = specialRemoteType $ RemoteType , optionalStringParser portField , optionalStringParser requeststyleField , optionalStringParser mungekeysField + , optionalStringParser AWS.s3credsField ] , remoteConfigRestPassthrough = \f -> isMetaHeader f || isArchiveMetaHeader f diff --git a/Remote/WebDAV.hs b/Remote/WebDAV.hs index 1abd176adb..583a0017be 100644 --- a/Remote/WebDAV.hs +++ b/Remote/WebDAV.hs @@ -49,6 +49,7 @@ remote = specialRemoteType $ RemoteType , generate = gen , configParser = mkRemoteConfigParser [ optionalStringParser urlField + , optionalStringParser davcredsField ] , setup = webdavSetup , exportSupported = exportIsSupported @@ -58,6 +59,9 @@ remote = specialRemoteType $ RemoteType urlField :: RemoteConfigField urlField = Accepted "url" +davcredsField :: RemoteConfigField +davcredsField = Accepted "davcreds" + gen :: Git.Repo -> UUID -> ParsedRemoteConfig -> RemoteGitConfig -> RemoteStateHandle -> Annex (Maybe Remote) gen r u c gc rs = new <$> remoteCost gc expensiveRemoteCost where @@ -351,7 +355,7 @@ davCreds :: UUID -> CredPairStorage davCreds u = CredPairStorage { credPairFile = fromUUID u , credPairEnvironment = ("WEBDAV_USERNAME", "WEBDAV_PASSWORD") - , credPairRemoteField = Accepted "davcreds" + , credPairRemoteField = davcredsField } {- Content-Type to use for files uploaded to WebDAV. -}