summaryrefslogtreecommitdiff
path: root/lib/object_storage
diff options
context:
space:
mode:
Diffstat (limited to 'lib/object_storage')
-rw-r--r--lib/object_storage/config.rb20
1 files changed, 17 insertions, 3 deletions
diff --git a/lib/object_storage/config.rb b/lib/object_storage/config.rb
index e91fda29880..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?
@@ -61,11 +75,11 @@ module ObjectStorage
# End Azure-specific options
def google?
- provider == 'Google'
+ provider == GOOGLE_PROVIDER
end
def azure?
- provider == 'AzureRM'
+ provider == AZURE_PROVIDER
end
def fog_attributes