diff options
Diffstat (limited to 'lib/object_storage/config.rb')
-rw-r--r-- | lib/object_storage/config.rb | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/lib/object_storage/config.rb b/lib/object_storage/config.rb index d0777914cb5..cc536ce9b46 100644 --- a/lib/object_storage/config.rb +++ b/lib/object_storage/config.rb @@ -2,12 +2,26 @@ module ObjectStorage class Config + AWS_PROVIDER = 'AWS' + AZURE_PROVIDER = 'AzureRM' + GOOGLE_PROVIDER = 'Google' + attr_reader :options def initialize(options) @options = options.to_hash.deep_symbolize_keys end + def load_provider + if aws? + require 'fog/aws' + elsif google? + require 'fog/google' + elsif azure? + require 'fog/azurerm' + end + end + def credentials @credentials ||= options[:connection] || {} end @@ -30,7 +44,7 @@ module ObjectStorage # AWS-specific options def aws? - provider == 'AWS' + provider == AWS_PROVIDER end def use_iam_profile? @@ -54,12 +68,18 @@ module ObjectStorage end # End AWS-specific options + # Begin Azure-specific options + def azure_storage_domain + credentials[:azure_storage_domain] + end + # End Azure-specific options + def google? - provider == 'Google' + provider == GOOGLE_PROVIDER end def azure? - provider == 'AzureRM' + provider == AZURE_PROVIDER end def fog_attributes |