Class: NiftycloudRestfulReadApi::NiftyCloud::Dns

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/niftycloud-restful-read-api.rb

Constant Summary collapse

VERSION =
'2012-12-12N2013-12-16'

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Dns

Returns a new instance of Dns.



164
165
166
167
# File 'lib/niftycloud-restful-read-api.rb', line 164

def initialize(options)
  @access_key_id = options[:access_key_id]
  @secret_access_key = options[:secret_access_key]
end

Instance Method Details

#headersObject



175
176
177
178
179
180
# File 'lib/niftycloud-restful-read-api.rb', line 175

def headers
  {
    'x-nifty-authorization' => "NIFTY3-HTTPS NIFTYAccessKeyId=#{@access_key_id},ALgorithm=HmacSHA256,Signature=#{signature}", 
    'x-nifty-date' => @date
  }
end

#signatureObject



182
183
184
# File 'lib/niftycloud-restful-read-api.rb', line 182

def signature
  signature = Base64.encode64(OpenSSL::HMAC.digest(OpenSSL::Digest::Digest.new('sha256'), @secret_access_key, @date)).strip
end

#zonesObject



169
170
171
172
173
# File 'lib/niftycloud-restful-read-api.rb', line 169

def zones
  @date = Time.now.rfc2822.gsub(/(\-|\+)\d{4}$/, 'GMT')
  response = self.class.get("/#{Dns::VERSION}/hostedzone", :headers => headers)
  [response['ListHostedZonesResponse']['HostedZones']['HostedZone']].flatten rescue []
end