Sha256: 20e962e2e6b5116da188d84f96409fd0588b189a13ea96c742bd7258d6966784

Contents?: true

Size: 1.16 KB

Versions: 3

Compression:

Stored size: 1.16 KB

Contents

# coding: utf-8

module Fog
  module DNS
    class SakuraCloud
      class Real
        def create_zone(options)
          name = options[:name] ? options[:name] : options[:zone]
          body = {
            "CommonServiceItem"=>{
              "Name"=>name,
              "Status"=>{"Zone"=>options[:zone]},
              "Provider"=>{"Class"=>"dns"},
              "Description"=> options[:description],
              "Settings" => {
                "DNS" => {
                  "ResourceRecordSets" => options[:rr_sets]
                }
              }
            }
          }

          request(
            :headers => {
              'Authorization' => "Basic #{@auth_encord}"
            },
            :expects  => 201,
            :method => 'POST',
            :path => "#{Fog::SakuraCloud::SAKURACLOUD_API_ENDPOINT}/commonserviceitem",
            :body => Fog::JSON.encode(body)
          )
        end
      end # Real

      class Mock
        def create_zone(options)
          response = Excon::Response.new
          response.status = 201
          response.body = {
          }
          response
        end
      end
    end # SakuraCloud
  end # DNS
end # Fog

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
fog-sakuracloud-1.3.2 lib/fog/sakuracloud/requests/dns/create_zone.rb
fog-sakuracloud-1.3.1 lib/fog/sakuracloud/requests/dns/create_zone.rb
fog-sakuracloud-1.3.0 lib/fog/sakuracloud/requests/dns/create_zone.rb