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