lib/smartdc/client.rb in smartdc-1.3.0 vs lib/smartdc/client.rb in smartdc-2.0.0
- old
+ new
@@ -1,40 +1,45 @@
-require 'smartdc/api/keys'
+require 'cassette-rack'
+require 'smartdc/auth'
require 'smartdc/api/datacenters'
-require 'smartdc/api/datasets'
+require 'smartdc/api/images'
require 'smartdc/api/packages'
+require 'smartdc/api/keys'
require 'smartdc/api/machines'
+require 'smartdc/api/machines/tags'
+require 'smartdc/api/machines/metadata'
+require 'smartdc/api/machines/snapshots'
require 'smartdc/api/analytics'
+require 'smartdc/api/analytics/heatmap'
module Smartdc
class Client
- attr_reader :options
+ include CassetteRack::Request
+ include Smartdc::Api::Datacenters
+ include Smartdc::Api::Images
+ include Smartdc::Api::Packages
+ include Smartdc::Api::Keys
+ include Smartdc::Api::Machines
+ include Smartdc::Api::Machines::Tags
+ include Smartdc::Api::Machines::Metadata
+ include Smartdc::Api::Machines::Snapshots
+ include Smartdc::Api::Analytics
+ include Smartdc::Api::Analytics::Heatmap
def initialize(options={})
- @options ||= options
- end
+ options = Smartdc.config.options.merge(options)
+ auth = Smartdc::Auth.new(options)
+ date = Time.now.gmtime.to_s
- def keys()
- Smartdc::Api::Keys.new(options)
- end
-
- def datacenters()
- Smartdc::Api::Datacenters.new(options)
- end
-
- def datasets()
- Smartdc::Api::Datasets.new(options)
- end
-
- def packages()
- Smartdc::Api::Packages.new(options)
- end
-
- def machines()
- Smartdc::Api::Machines.new(options)
- end
-
- def analytics()
- Smartdc::Api::Analytics.new(options)
+ @request_options = {
+ builder: options[:middleware],
+ url: options[:url],
+ ssl: { verify: options[:ssl_verify] },
+ headers: {
+ date: date, authorization: auth.signature(date),
+ 'content-type' => 'application/json', accept: 'application/json',
+ 'x-api-version' => options[:version]
+ }
+ }
end
end
end