Sha256: b7272a0a6aed707521c7b51dc1bab5c8a894b20c2bcbb6730a0d4edc9e34b68a

Contents?: true

Size: 1.74 KB

Versions: 24

Compression:

Stored size: 1.74 KB

Contents

module Fog
  class << self

    def credential=(new_credential)
      @credential = new_credential
      @credentials = nil
    end

    def credential
      @credential || :default
    end

    def credentials
      @credentials ||= begin
        path = File.expand_path('~/.fog')
        credentials = if File.exists?(path)
          File.open(path) do |file|
            YAML.load(file.read)
          end
        else
          nil
        end
        unless credentials && credentials[credential]
          print("\n  To run as '#{credential}', add the following to ~/.fog\n")
          yml = <<-YML

:#{credential}:
  :aws_access_key_id:     INTENTIONALLY_LEFT_BLANK
  :aws_secret_access_key: INTENTIONALLY_LEFT_BLANK
  :rackspace_api_key:     INTENTIONALLY_LEFT_BLANK
  :rackspace_username:    INTENTIONALLY_LEFT_BLANK
  :slicehost_password:    INTENTIONALLY_LEFT_BLANK
  :terremark_username:    INTENTIONALLY_LEFT_BLANK
  :terremark_password:    INTENTIONALLY_LEFT_BLANK

YML
          print(yml)
          raise(ArgumentError.new("Missing Credentials"))
        end
        credentials[credential]
      end
    end

    def services
      services = []
      [::AWS, ::Rackspace, ::Slicehost, ::Terremark].each do |service|
        if service.initialized?
          services << service
        end
      end
      services
    end

    def flavors
      flavors = {}
      services.each do |service|
        flavors[service] = service.flavors
      end
      flavors
    end

    def images
      images = {}
      services.each do |service|
        images[service] = service.images
      end
      images
    end

    def servers
      servers = {}
      services.each do |service|
        servers[service] = service.servers
      end
      servers
    end

  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
fog-0.0.66 lib/fog/bin.rb
fog-0.0.65 lib/fog/bin.rb
fog-0.0.64 lib/fog/bin.rb
fog-0.0.63 lib/fog/bin.rb
fog-0.0.62 lib/fog/bin.rb
fog-0.0.61 lib/fog/bin.rb
fog-0.0.60 lib/fog/bin.rb
fog-0.0.59 lib/fog/bin.rb
fog-0.0.58 lib/fog/bin.rb
fog-0.0.57 lib/fog/bin.rb
fog-0.0.56 lib/fog/bin.rb
fog-0.0.55 lib/fog/bin.rb
fog-0.0.54 lib/fog/bin.rb
fog-0.0.53 lib/fog/bin.rb
fog-0.0.52 lib/fog/bin.rb
fog-0.0.51 lib/fog/bin.rb
fog-0.0.50 lib/fog/bin.rb
fog-0.0.49 lib/fog/bin.rb
fog-0.0.48 lib/fog/bin.rb
fog-0.0.47 lib/fog/bin.rb