[DRE-commits] [ruby-fog-dynect] 04/05: changed by Sagar Ippalpalli <i.vikram15 at gmail.com>
Praveen Arimbrathodiyil
praveen at moszumanska.debian.org
Tue Feb 2 14:16:13 UTC 2016
This is an automated email from the git hooks/post-receive script.
praveen pushed a commit to branch master
in repository ruby-fog-dynect.
commit 4cd07c736c4393006ba124f10fc5f6853dd4eceb
Author: isaagar <i.vikram15 at gmail.com>
Date: Tue Feb 2 14:47:36 2016 +0530
changed by Sagar Ippalpalli <i.vikram15 at gmail.com>
---
debian/debhelper-build-stamp | 2 +
debian/files | 1 +
debian/ruby-fog-dynect.debhelper.log | 19 +++
debian/ruby-fog-dynect.substvars | 3 +
debian/ruby-fog-dynect/DEBIAN/control | 14 ++
debian/ruby-fog-dynect/DEBIAN/md5sums | 24 ++++
.../usr/lib/ruby/vendor_ruby/fog/bin/dynect.rb | 28 ++++
.../usr/lib/ruby/vendor_ruby/fog/dynect.rb | 33 +++++
.../usr/lib/ruby/vendor_ruby/fog/dynect/dns.rb | 155 +++++++++++++++++++++
.../vendor_ruby/fog/dynect/models/dns/record.rb | 65 +++++++++
.../vendor_ruby/fog/dynect/models/dns/records.rb | 47 +++++++
.../ruby/vendor_ruby/fog/dynect/models/dns/zone.rb | 55 ++++++++
.../vendor_ruby/fog/dynect/models/dns/zones.rb | 24 ++++
.../fog/dynect/requests/dns/delete_record.rb | 55 ++++++++
.../fog/dynect/requests/dns/delete_zone.rb | 41 ++++++
.../fog/dynect/requests/dns/get_all_records.rb | 56 ++++++++
.../fog/dynect/requests/dns/get_node_list.rb | 55 ++++++++
.../fog/dynect/requests/dns/get_record.rb | 83 +++++++++++
.../fog/dynect/requests/dns/get_zone.rb | 57 ++++++++
.../fog/dynect/requests/dns/post_record.rb | 71 ++++++++++
.../fog/dynect/requests/dns/post_session.rb | 43 ++++++
.../fog/dynect/requests/dns/post_zone.rb | 70 ++++++++++
.../fog/dynect/requests/dns/put_record.rb | 76 ++++++++++
.../fog/dynect/requests/dns/put_zone.rb | 76 ++++++++++
.../usr/lib/ruby/vendor_ruby/fog/dynect/version.rb | 5 +
.../usr/share/doc/ruby-fog-dynect/README.md | 58 ++++++++
.../share/doc/ruby-fog-dynect/changelog.Debian.gz | Bin 0 -> 172 bytes
.../usr/share/doc/ruby-fog-dynect/changelog.gz | Bin 0 -> 79 bytes
.../usr/share/doc/ruby-fog-dynect/copyright | 57 ++++++++
.../all/specifications/fog-dynect-0.0.2.gemspec | 46 ++++++
30 files changed, 1319 insertions(+)
diff --git a/debian/debhelper-build-stamp b/debian/debhelper-build-stamp
new file mode 100644
index 0000000..21c7504
--- /dev/null
+++ b/debian/debhelper-build-stamp
@@ -0,0 +1,2 @@
+ruby-fog-dynect
+ruby-fog-dynect
diff --git a/debian/files b/debian/files
new file mode 100644
index 0000000..7fb2d73
--- /dev/null
+++ b/debian/files
@@ -0,0 +1 @@
+ruby-fog-dynect_0.0.2-1_all.deb ruby optional
diff --git a/debian/ruby-fog-dynect.debhelper.log b/debian/ruby-fog-dynect.debhelper.log
new file mode 100644
index 0000000..ef22e05
--- /dev/null
+++ b/debian/ruby-fog-dynect.debhelper.log
@@ -0,0 +1,19 @@
+dh_update_autotools_config
+dh_auto_configure
+dh_auto_build
+dh_auto_test
+dh_prep
+dh_installchangelogs
+dh_auto_install
+dh_installdocs
+dh_installchangelogs
+dh_perl
+dh_link
+dh_strip_nondeterminism
+dh_compress
+dh_fixperms
+dh_installdeb
+dh_gencontrol
+dh_md5sums
+dh_builddeb
+dh_builddeb
diff --git a/debian/ruby-fog-dynect.substvars b/debian/ruby-fog-dynect.substvars
new file mode 100644
index 0000000..9546843
--- /dev/null
+++ b/debian/ruby-fog-dynect.substvars
@@ -0,0 +1,3 @@
+ruby:Versions=all
+misc:Depends=
+misc:Pre-Depends=
diff --git a/debian/ruby-fog-dynect/DEBIAN/control b/debian/ruby-fog-dynect/DEBIAN/control
new file mode 100644
index 0000000..abcd685
--- /dev/null
+++ b/debian/ruby-fog-dynect/DEBIAN/control
@@ -0,0 +1,14 @@
+Package: ruby-fog-dynect
+Version: 0.0.2-1
+Architecture: all
+Maintainer: Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers at lists.alioth.debian.org>
+Installed-Size: 70
+Depends: ruby | ruby-interpreter, ruby-fog-core, ruby-fog-json, ruby-fog-xml
+Section: ruby
+Priority: optional
+Homepage: http://github.com/fog/fog-dynect
+Description: Module for the 'fog' gem to support Dynect DNS
+ This library can be used as a module for `fog`
+ or as standalone provider to use Dynect DNS
+ in applications.
+Ruby-Versions: all
diff --git a/debian/ruby-fog-dynect/DEBIAN/md5sums b/debian/ruby-fog-dynect/DEBIAN/md5sums
new file mode 100644
index 0000000..03f833c
--- /dev/null
+++ b/debian/ruby-fog-dynect/DEBIAN/md5sums
@@ -0,0 +1,24 @@
+0380a445327a73e12c7897080808f039 usr/lib/ruby/vendor_ruby/fog/bin/dynect.rb
+ddfe33cf40c31efc5d0a10ada7628bc5 usr/lib/ruby/vendor_ruby/fog/dynect.rb
+df97d24aa426801044224481b3626a39 usr/lib/ruby/vendor_ruby/fog/dynect/dns.rb
+67bd5b0f80ad8cf27e2d6a93dbb37c7c usr/lib/ruby/vendor_ruby/fog/dynect/models/dns/record.rb
+333701463fb2aa1696b548eabfdadc7d usr/lib/ruby/vendor_ruby/fog/dynect/models/dns/records.rb
+ea73346da15e015e694b50bcc3093bc6 usr/lib/ruby/vendor_ruby/fog/dynect/models/dns/zone.rb
+2ed8cf9ee7c15937c560d40a8948accd usr/lib/ruby/vendor_ruby/fog/dynect/models/dns/zones.rb
+1d846aa145c230bc47170fcbe1c79ef2 usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/delete_record.rb
+f0187f261c1925f4269ae9d70b4ce73d usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/delete_zone.rb
+30fabd1c6b98a13fa567fb898b7b25f6 usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/get_all_records.rb
+7c8270f8d0728ede47f47a733518cc18 usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/get_node_list.rb
+2270ce34a2f03d9899164d961bf62182 usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/get_record.rb
+03ff03cbc3182cd62d419108feda2af1 usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/get_zone.rb
+a6137b90c645c3587ce9911bf415d31e usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/post_record.rb
+1eb573359ed3ffaee7ce8e682280a373 usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/post_session.rb
+49d64611f0893f80da1722f917737952 usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/post_zone.rb
+e078780282e4b0ff17fdb4014354a4bb usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/put_record.rb
+29416d14ab01623baedb5c7b040aaa5a usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/put_zone.rb
+38f9734d083e16481f434e621deb2852 usr/lib/ruby/vendor_ruby/fog/dynect/version.rb
+8c40968d8a5a5b71a41c05bcb5405909 usr/share/doc/ruby-fog-dynect/README.md
+9251d19ab92fc863531b5eb9d772e3ef usr/share/doc/ruby-fog-dynect/changelog.Debian.gz
+88f7e768e50669a4c3345f1a63506621 usr/share/doc/ruby-fog-dynect/changelog.gz
+c4af35b3d78fb045210b7566c4336a66 usr/share/doc/ruby-fog-dynect/copyright
+558fcc2a33405b7cb4bbdc1d5f9f820f usr/share/rubygems-integration/all/specifications/fog-dynect-0.0.2.gemspec
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/bin/dynect.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/bin/dynect.rb
new file mode 100644
index 0000000..3ec4d68
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/bin/dynect.rb
@@ -0,0 +1,28 @@
+class Dynect < Fog::Bin
+ class << self
+ def class_for(key)
+ case key
+ when :dns
+ Fog::DNS::Dynect
+ else
+ raise ArgumentError, "Unrecognized service: #{key}"
+ end
+ end
+
+ def [](service)
+ @@connections ||= Hash.new do |hash, key|
+ hash[key] = case key
+ when :dns
+ Fog::DNS.new(:provider => 'Dynect')
+ else
+ raise ArgumentError, "Unrecognized service: #{service}"
+ end
+ end
+ @@connections[service]
+ end
+
+ def services
+ [:dns]
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect.rb
new file mode 100644
index 0000000..4b70293
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect.rb
@@ -0,0 +1,33 @@
+require 'nokogiri'
+
+require 'fog/core'
+require 'fog/json'
+require 'fog/xml'
+
+module Fog
+ module DNS
+ autoload :Dynect, File.expand_path('../dynect/dns', __FILE__)
+ end
+
+ module Dynect
+ extend Fog::Provider
+
+ autoload :VERSION, File.expand_path('../dynect/version', __FILE__)
+
+ service(:dns, 'DNS')
+
+ class Mock
+ def self.job_id
+ Fog::Mock.random_numbers(8).to_i
+ end
+
+ def self.token
+ Fog::Mock.random_hex(48)
+ end
+
+ def self.version
+ [Fog::Mock.random_numbers(1), Fog::Mock.random_numbers(1), Fog::Mock.random_numbers(1)].join('.')
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/dns.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/dns.rb
new file mode 100644
index 0000000..9649ed6
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/dns.rb
@@ -0,0 +1,155 @@
+module Fog
+ module DNS
+ class Dynect < Fog::Service
+ requires :dynect_customer, :dynect_username, :dynect_password
+ recognizes :timeout, :persistent, :job_poll_timeout
+ recognizes :provider # remove post deprecation
+
+ model_path 'fog/dynect/models/dns'
+ model :record
+ collection :records
+ model :zone
+ collection :zones
+
+ request_path 'fog/dynect/requests/dns'
+ request :delete_record
+ request :delete_zone
+ request :get_node_list
+ request :get_all_records
+ request :get_record
+ request :get_zone
+ request :post_record
+ request :post_session
+ request :post_zone
+ request :put_zone
+ request :put_record
+
+ class JobIncomplete < Error; end
+
+ class Mock
+ def initialize(options={})
+ @dynect_customer = options[:dynect_customer]
+ @dynect_username = options[:dynect_username]
+ @dynect_password = options[:dynect_password]
+ end
+
+ def self.data
+ @data ||= {
+ :zones => {}
+ }
+ end
+
+ def self.reset
+ @data = nil
+ end
+
+ def auth_token
+ @auth_token ||= Fog::Dynect::Mock.token
+ end
+
+ def data
+ self.class.data
+ end
+
+ def reset_data
+ self.class.reset
+ end
+ end
+
+ class Real
+ def initialize(options={})
+ @dynect_customer = options[:dynect_customer]
+ @dynect_username = options[:dynect_username]
+ @dynect_password = options[:dynect_password]
+
+ @connection_options = options[:connection_options] || {}
+ @host = 'api-v4.dynect.net'
+ @port = options[:port] || 443
+ @path = options[:path] || '/REST'
+ @persistent = options[:persistent] || false
+ @scheme = options[:scheme] || 'https'
+ @version = options[:version] || '3.5.2'
+ @job_poll_timeout = options[:job_poll_timeout] || 10
+ @connection = Fog::XML::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options)
+ end
+
+ def auth_token
+ @auth_token ||= post_session.body['data']['token']
+ end
+
+ def request(params)
+ begin
+ # any request could redirect to a job
+ params[:expects] = Array(params[:expects]) | [307]
+
+ params[:headers] ||= {}
+ params[:headers]['Content-Type'] = 'application/json'
+ params[:headers]['API-Version'] = @version
+ params[:headers]['Auth-Token'] = auth_token unless params[:path] == 'Session'
+ params[:path] = "#{@path}/#{params[:path]}" unless params[:path] =~ %r{^#{Regexp.escape(@path)}/}
+
+ response = @connection.request(params)
+
+ if response.body.empty?
+ response.body = {}
+ elsif response.headers['Content-Type'] == 'application/json'
+ response.body = Fog::JSON.decode(response.body)
+ end
+
+ if response.body['status'] == 'failure'
+ raise Error, response.body['msgs'].first['INFO']
+ end
+
+ if params[:path] !~ %r{^/REST/Job/}
+ if response.status == 307
+ response = poll_job(response, params[:expects], @job_poll_timeout)
+
+ # Dynect intermittently returns 200 with an incomplete status. When this
+ # happens, the job should still be polled.
+ elsif response.status == 200 && response.body['status'].eql?('incomplete')
+ response.headers['Location'] = "/REST/Job/#{ response.body['job_id'] }"
+ response = poll_job(response, params[:expects], @job_poll_timeout)
+ end
+ end
+
+ response
+ rescue Excon::Errors::HTTPStatusError => error
+ if @auth_token && error.message =~ /login: (Bad or expired credentials|inactivity logout)/
+ @auth_token = nil
+ retry
+ else
+ raise error
+ end
+ end
+
+ response
+ end
+
+ def poll_job(response, original_expects, time_to_wait)
+ job_location = response.headers['Location']
+
+ begin
+ Fog.wait_for(time_to_wait) do
+ response = request(
+ :expects => original_expects,
+ :idempotent => true,
+ :method => :get,
+ :path => job_location
+ )
+ response.body['status'] != 'incomplete'
+ end
+
+ rescue Errors::TimeoutError => error
+ if response.body['status'] == 'incomplete'
+ raise JobIncomplete.new("Job #{response.body['job_id']} is still incomplete")
+ else
+ raise error
+ end
+ end
+
+ response
+ end
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/models/dns/record.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/models/dns/record.rb
new file mode 100644
index 0000000..0204696
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/models/dns/record.rb
@@ -0,0 +1,65 @@
+module Fog
+ module DNS
+ class Dynect
+ class Record < Fog::Model
+ extend Fog::Deprecation
+
+ identity :id
+ attribute :name, :aliases => [:fqdn, 'fqdn']
+ attribute :rdata
+ attribute :serial_style
+ attribute :ttl
+ attribute :type, :aliases => 'record_type'
+
+ def destroy
+ requires :identity, :name, :type, :zone
+ service.delete_record(type, zone.identity, name, identity)
+ true
+ end
+
+ def save(replace=false)
+ requires :name, :type, :rdata, :zone
+
+ options = {
+ :ttl => ttl
+ }
+ options.delete_if {|key, value| value.nil?}
+
+ if replace
+ data = service.put_record(type, zone.identity, name, rdata, options).body['data']
+ else
+ data = service.post_record(type, zone.identity, name, rdata, options).body['data']
+ end
+ # avoid overwriting zone object with zone string
+ data = data.reject {|key, value| key == 'zone'}
+ merge_attributes(data)
+
+ zone.publish
+ records = service.get_record(type, zone.identity, name).body['data']
+ # data in format ['/REST/xRecord/domain/fqdn/identity]
+ records.map! do |record|
+ tokens = record.split('/')
+ {
+ :identity => tokens.last,
+ :type => tokens[2][0...-6] # everything before 'Record'
+ }
+ end
+ record = records.find {|record| record[:type] == type}
+ merge_attributes(record)
+
+ true
+ end
+
+ def zone
+ @zone
+ end
+
+ private
+
+ def zone=(new_zone)
+ @zone = new_zone
+ end
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/models/dns/records.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/models/dns/records.rb
new file mode 100644
index 0000000..1b871fb
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/models/dns/records.rb
@@ -0,0 +1,47 @@
+require 'fog/dynect/models/dns/record'
+
+module Fog
+ module DNS
+ class Dynect
+ class Records < Fog::Collection
+ attribute :zone
+
+ model Fog::DNS::Dynect::Record
+
+ def all(options = {})
+ requires :zone
+ data = []
+ service.get_all_records(zone.domain, options).body['data'].each do |records|
+ (type, list) = records
+ list.each do |record|
+ data << {
+ :identity => record['record_id'],
+ :fqdn => record['fqdn'],
+ :type => record['record_type'],
+ :rdata => record['rdata']
+ }
+ end
+ end
+
+ load(data)
+ end
+
+ def get(record_id)
+ requires :zone
+
+ # there isn't a way to look up by just id
+ # must have type and domain for 'get_record' request
+ # so we pick it from the list returned by 'all'
+
+ list = all
+ list.detect {|e| e.id == record_id}
+ end
+
+ def new(attributes = {})
+ requires :zone
+ super({:zone => zone}.merge!(attributes))
+ end
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/models/dns/zone.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/models/dns/zone.rb
new file mode 100644
index 0000000..a8ab242
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/models/dns/zone.rb
@@ -0,0 +1,55 @@
+require 'fog/dynect/models/dns/records'
+
+module Fog
+ module DNS
+ class Dynect
+ class Zone < Fog::Model
+ identity :domain
+
+ attribute :domain, :aliases => 'zone'
+ attribute :email, :aliases => 'rname'
+ attribute :serial
+ attribute :serial_style
+ attribute :ttl
+ attribute :type, :aliases => 'zone_type'
+
+ def initialize(attributes={})
+ super
+ end
+
+ def destroy
+ requires :domain
+ service.delete_zone(domain)
+ true
+ end
+
+ undef_method :domain=
+ def domain=(new_domain)
+ attributes[:domain] = new_domain.split('/').last
+ end
+
+ def publish
+ requires :identity
+ data = service.put_zone(identity, 'publish' => true)
+ true
+ end
+
+ def records
+ @records ||= Fog::DNS::Dynect::Records.new(:zone => self, :service => service)
+ end
+
+ def nameservers
+ raise 'nameservers Not Implemented'
+ end
+
+ def save
+ self.ttl ||= 3600
+ requires :domain, :email, :ttl
+ data = service.post_zone(email, ttl, domain).body['data']
+ merge_attributes(data)
+ true
+ end
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/models/dns/zones.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/models/dns/zones.rb
new file mode 100644
index 0000000..4b76db6
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/models/dns/zones.rb
@@ -0,0 +1,24 @@
+require 'fog/dynect/models/dns/zone'
+
+module Fog
+ module DNS
+ class Dynect
+ class Zones < Fog::Collection
+ model Fog::DNS::Dynect::Zone
+
+ def all
+ data = service.get_zone.body['data'].map do |zone|
+ { :domain => zone }
+ end
+ load(data)
+ end
+
+ def get(zone_id)
+ new(service.get_zone('zone' => zone_id).body['data'])
+ rescue Excon::Errors::NotFound
+ nil
+ end
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/delete_record.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/delete_record.rb
new file mode 100644
index 0000000..9cbc6f6
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/delete_record.rb
@@ -0,0 +1,55 @@
+module Fog
+ module DNS
+ class Dynect
+ class Real
+ # Delete a record
+ #
+ # ==== Parameters
+ # * type<~String> - type of record in ['AAAA', 'ANY', 'A', 'CNAME', 'DHCID', 'DNAME', 'DNSKEY', 'DS', 'KEY', 'LOC', 'MX', 'NSA', 'NS', 'PTR', 'PX', 'RP', 'SOA', 'SPF', 'SRV', 'SSHFP', 'TXT']
+ # * zone<~String> - zone of record
+ # * fqdn<~String> - fqdn of record
+ # * record_id<~String> - id of record
+
+ def delete_record(type, zone, fqdn, record_id)
+ request(
+ :expects => 200,
+ :idempotent => true,
+ :method => :delete,
+ :path => ["#{type.to_s.upcase}Record", zone, fqdn, record_id].join('/')
+ )
+ end
+ end
+
+ class Mock
+ def delete_record(type, zone, fqdn, record_id)
+ raise Fog::DNS::Dynect::NotFound unless zone = self.data[:zones][zone]
+
+ raise Fog::DNS::Dynect::NotFound unless zone[:records][type].find { |record| record[:fqdn] == fqdn && record[:record_id] == record_id.to_i }
+
+ zone[:records_to_delete] << {
+ :type => type,
+ :fqdn => fqdn,
+ :record_id => record_id.to_i
+ }
+
+ response = Excon::Response.new
+ response.status = 200
+
+ response.body = {
+ "status" => "success",
+ "data" => {},
+ "job_id" => Fog::Dynect::Mock.job_id,
+ "msgs" => [{
+ "INFO" => "delete: Record will be deleted on zone publish",
+ "SOURCE" => "BLL",
+ "ERR_CD" => nil,
+ "LVL" => "INFO"
+ }]
+ }
+
+ response
+ end
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/delete_zone.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/delete_zone.rb
new file mode 100644
index 0000000..1e54acc
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/delete_zone.rb
@@ -0,0 +1,41 @@
+module Fog
+ module DNS
+ class Dynect
+ class Real
+ # Delete a zone
+ #
+ # ==== Parameters
+ # * zone<~String> - zone to host
+
+ def delete_zone(zone)
+ request(
+ :expects => 200,
+ :method => :delete,
+ :path => "Zone/#{zone}"
+ )
+ end
+ end
+
+ class Mock
+ def delete_zone(zone)
+ self.data[:zones].delete(zone)
+
+ response = Excon::Response.new
+ response.status = 200
+ response.body = {
+ "status" => "success",
+ "data" => {},
+ "job_id" => Fog::Dynect::Mock.job_id,
+ "msgs" => [{
+ "ERR_CD" => '',
+ "INFO" => '',
+ "LVL" => '',
+ "SOURCE" => ''
+ }]
+ }
+ response
+ end
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/get_all_records.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/get_all_records.rb
new file mode 100644
index 0000000..13e8d78
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/get_all_records.rb
@@ -0,0 +1,56 @@
+module Fog
+ module DNS
+ class Dynect
+ class Real
+ # Get one or more node lists
+ #
+ # ==== Parameters
+ # * zone<~String> - zone to lookup node lists for
+ # * options<~Hash>
+ # * fqdn<~String> - fully qualified domain name of node to lookup
+
+ def get_all_records(zone, options = {})
+ requested_fqdn = options['fqdn'] || options[:fqdn]
+ request(
+ :expects => 200,
+ :idempotent => true,
+ :method => :get,
+ :path => ['AllRecord', zone, requested_fqdn].compact.join('/'),
+ :query => {'detail' => 'Y'} # return full records, instead of just resource URLs
+ )
+ end
+ end
+
+ class Mock
+ def get_all_records(zone, options = {})
+ raise Fog::DNS::Dynect::NotFound unless zone = self.data[:zones][zone]
+
+ response = Excon::Response.new
+ response.status = 200
+
+ data = [zone[:zone]]
+
+ if fqdn = options[:fqdn]
+ data = data | zone[:records].map { |type, records| records.select { |record| record[:fqdn] == fqdn } }.flatten.compact
+ else
+ data = data | zone[:records].map { |type, records| records.map { |record| record[:fqdn] } }.flatten
+ end
+
+ response.body = {
+ "status" => "success",
+ "data" => data,
+ "job_id" => Fog::Dynect::Mock.job_id,
+ "msgs" => [{
+ "INFO" => "get_tree: Here is your zone tree",
+ "SOURCE" => "BLL",
+ "ERR_CD" => nil,
+ "LVL" => "INFO"
+ }]
+ }
+
+ response
+ end
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/get_node_list.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/get_node_list.rb
new file mode 100644
index 0000000..d692c2d
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/get_node_list.rb
@@ -0,0 +1,55 @@
+module Fog
+ module DNS
+ class Dynect
+ class Real
+ # Get one or more node lists
+ #
+ # ==== Parameters
+ # * zone<~String> - zone to lookup node lists for
+ # * options<~Hash>
+ # * fqdn<~String> - fully qualified domain name of node to lookup
+
+ def get_node_list(zone, options = {})
+ requested_fqdn = options['fqdn'] || options[:fqdn]
+ request(
+ :expects => 200,
+ :idempotent => true,
+ :method => :get,
+ :path => ['AllRecord', zone, requested_fqdn].compact.join('/')
+ )
+ end
+ end
+
+ class Mock
+ def get_node_list(zone, options = {})
+ raise Fog::DNS::Dynect::NotFound unless zone = self.data[:zones][zone]
+
+ response = Excon::Response.new
+ response.status = 200
+
+ data = [zone[:zone]]
+
+ if fqdn = options[:fqdn]
+ data = data | zone[:records].map { |type, records| records.select { |record| record[:fqdn] == fqdn } }.flatten.compact
+ else
+ data = data | zone[:records].map { |type, records| records.map { |record| record[:fqdn] } }.flatten
+ end
+
+ response.body = {
+ "status" => "success",
+ "data" => data,
+ "job_id" => Fog::Dynect::Mock.job_id,
+ "msgs" => [{
+ "INFO" => "get_tree: Here is your zone tree",
+ "SOURCE" => "BLL",
+ "ERR_CD" => nil,
+ "LVL" => "INFO"
+ }]
+ }
+
+ response
+ end
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/get_record.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/get_record.rb
new file mode 100644
index 0000000..e58c036
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/get_record.rb
@@ -0,0 +1,83 @@
+module Fog
+ module DNS
+ class Dynect
+ class Real
+ # List records of a given type
+ #
+ # ==== Parameters
+ # * type<~String> - type of record in ['AAAA', 'ANY', 'A', 'CNAME', 'DHCID', 'DNAME', 'DNSKEY', 'DS', 'KEY', 'LOC', 'MX', 'NSA', 'NS', 'PTR', 'PX', 'RP', 'SOA', 'SPF', 'SRV', 'SSHFP', 'TXT']
+ # * zone<~String> - name of zone to lookup
+ # * fqdn<~String> - name of fqdn to lookup
+ # * options<~Hash>:
+ # * record_id<~String> - id of record
+
+ def get_record(type, zone, fqdn, options = {})
+ request(
+ :expects => 200,
+ :idempotent => true,
+ :method => :get,
+ :path => ["#{type.to_s.upcase}Record", zone, fqdn, options['record_id']].compact.join('/')
+ )
+ end
+ end
+
+ class Mock
+ def get_record(type, zone, fqdn, options = {})
+ raise ArgumentError unless [
+ 'AAAA', 'ANY', 'A', 'CNAME',
+ 'DHCID', 'DNAME', 'DNSKEY',
+ 'DS', 'KEY', 'LOC', 'MX',
+ 'NSA', 'NS', 'PTR', 'PX',
+ 'RP', 'SOA', 'SPF', 'SRV',
+ 'SSHFP', 'TXT'
+ ].include? type
+ raise Fog::DNS::Dynect::NotFound unless zone = self.data[:zones][zone]
+
+ response = Excon::Response.new
+ response.status = 200
+
+ if record_id = options['record_id']
+ raise Fog::DNS::Dynect::NotFound unless record = zone[:records][type].find { |record| record[:record_id] == record_id.to_i }
+ response.body = {
+ "status" => "success",
+ "data" => {
+ "zone" => record[:zone][:zone],
+ "ttl" => record[:ttl],
+ "fqdn" => record[:fqdn],
+ "record_type" => type,
+ "rdata" => record[:rdata],
+ "record_id" => record[:record_id]
+ },
+ "job_id" => Fog::Dynect::Mock.job_id,
+ "msgs" => [{
+ "INFO" => "get: Found the record",
+ "SOURCE" => "API-B",
+ "ERR_CD" => nil,
+ "LVL" => "INFO"
+ }]
+ }
+ else
+ records = if type == "ANY"
+ zone[:records].values.flatten.select { |record| record[:fqdn] == fqdn }
+ else
+ zone[:records][type].select { |record| record[:fqdn] == fqdn }
+ end
+ response.body = {
+ "status" => "success",
+ "data" => records.map { |record| "/REST/#{record[:type]}Record/#{record[:zone][:zone]}/#{record[:fqdn]}/#{record[:record_id]}" },
+ "job_id" => Fog::Dynect::Mock.job_id,
+ "msgs" => [{
+ "INFO" => "detail: Found #{records.size} record",
+ "SOURCE" => "BLL",
+ "ERR_CD" => nil,
+ "LVL" => "INFO"
+ }]
+ }
+ end
+
+ response
+ end
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/get_zone.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/get_zone.rb
new file mode 100644
index 0000000..9ccc5dc
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/get_zone.rb
@@ -0,0 +1,57 @@
+module Fog
+ module DNS
+ class Dynect
+ class Real
+ # Get one or more zones
+ #
+ # ==== Parameters
+ # * options<~Hash>:
+ # * zone<~String> - name of zone to lookup, or omit to return list of zones
+
+ def get_zone(options = {})
+ request(
+ :expects => 200,
+ :idempotent => true,
+ :method => :get,
+ :path => ['Zone', options['zone']].compact.join('/')
+ )
+ end
+ end
+
+ class Mock
+ def get_zone(options = {})
+ if options['zone']
+ raise Fog::DNS::Dynect::NotFound unless zone = self.data[:zones][options['zone']]
+ data = {
+ "zone_type" => zone[:zone_type],
+ "serial_style" => zone[:serial_style],
+ "serial" => zone[:serial],
+ "zone" => zone[:zone]
+ }
+ info = "get: Your zone, #{zone[:zone]}"
+ else
+ data = self.data[:zones].map { |zone, data| "/REST/Zone/#{zone}/" }
+ info = "get: Your #{data.size} zones"
+ end
+
+ response = Excon::Response.new
+ response.status = 200
+
+ response.body = {
+ "status" => "success",
+ "data" => data,
+ "job_id" => Fog::Dynect::Mock.job_id,
+ "msgs" => [{
+ "INFO" => info,
+ "SOURCE" => "BLL",
+ "ERR_CD" => nil,
+ "LVL" => "INFO"
+ }]
+ }
+
+ response
+ end
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/post_record.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/post_record.rb
new file mode 100644
index 0000000..126bec0
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/post_record.rb
@@ -0,0 +1,71 @@
+module Fog
+ module DNS
+ class Dynect
+ class Real
+ # Create a record
+ #
+ # ==== Parameters
+ # * type<~String> - type of record in ['AAAA', 'ANY', 'A', 'CNAME', 'DHCID', 'DNAME', 'DNSKEY', 'DS', 'KEY', 'LOC', 'MX', 'NSA', 'NS', 'PTR', 'PX', 'RP', 'SOA', 'SPF', 'SRV', 'SSHFP', 'TXT']
+ # * zone<~String> - zone of record
+ # * rdata<~Hash> - rdata for record
+ # * options<~Hash>: (options vary by type, listing below includes common parameters)
+ # * ttl<~Integer> - ttl for the record, defaults to zone ttl
+
+ def post_record(type, zone, fqdn, rdata, options = {})
+ options.merge!('rdata' => rdata)
+ request(
+ :body => Fog::JSON.encode(options),
+ :expects => 200,
+ :method => :post,
+ :path => ["#{type.to_s.upcase}Record", zone, fqdn].join('/')
+ )
+ end
+ end
+
+ class Mock
+ def post_record(type, zone, fqdn, rdata, options = {})
+ raise Fog::DNS::Dynect::NotFound unless zone = self.data[:zones][zone]
+
+ records = zone[:records]
+ record_id = zone[:next_record_id]
+ zone[:next_record_id] += 1
+
+ record = {
+ :type => type,
+ :zone => zone,
+ :fqdn => fqdn,
+ :rdata => rdata,
+ :ttl => options[:ttl] || zone[:ttl],
+ :record_id => record_id
+ }
+
+ records[type] << record
+
+ response = Excon::Response.new
+ response.status = 200
+
+ response.body = {
+ "status" => "success",
+ "data" => {
+ "zone" => record[:zone][:zone],
+ "ttl" => record[:ttl],
+ "fqdn" => record[:fqdn],
+ "record_type" => record[:type],
+ "rdata" => record[:rdata],
+ "record_id" => record[:record_id]
+ },
+ "job_id" => Fog::Dynect::Mock.job_id,
+ "msgs" => [{
+ "INFO"=>"add: Record added",
+ "SOURCE"=>"BLL",
+ "ERR_CD"=>nil,
+ "LVL"=>"INFO"
+ }]
+ }
+
+ response
+ end
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/post_session.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/post_session.rb
new file mode 100644
index 0000000..3aa3d82
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/post_session.rb
@@ -0,0 +1,43 @@
+module Fog
+ module DNS
+ class Dynect
+ class Real
+ def post_session
+ request(
+ :expects => 200,
+ :idempotent => true,
+ :method => :post,
+ :path => "Session",
+ :body => Fog::JSON.encode({
+ :customer_name => @dynect_customer,
+ :user_name => @dynect_username,
+ :password => @dynect_password
+ })
+ )
+ end
+ end
+
+ class Mock
+ def post_session
+ response = Excon::Response.new
+ response.status = 200
+ response.body = {
+ "status" => "success",
+ "data" => {
+ "token" => auth_token,
+ "version" => Fog::Dynect::Mock.version
+ },
+ "job_id" => Fog::Dynect::Mock.job_id,
+ "msgs"=>[{
+ "INFO"=>"login: Login successful",
+ "SOURCE"=>"BLL",
+ "ERR_CD"=>nil,
+ "LVL"=>"INFO"
+ }]
+ }
+ response
+ end
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/post_zone.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/post_zone.rb
new file mode 100644
index 0000000..579b642
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/post_zone.rb
@@ -0,0 +1,70 @@
+module Fog
+ module DNS
+ class Dynect
+ class Real
+ # Create a zone
+ #
+ # ==== Parameters
+ # * rname<~String> - administrative contact
+ # * ttl<~Integer> - time to live (in seconds) for records in this zone
+ # * zone<~String> - name of zone to host
+ # * options<~Hash>:
+ # * serial_style<~String> - style of serial number, in ['day', 'epoch', 'increment', 'minute']. Defaults to increment
+
+ def post_zone(rname, ttl, zone, options = {})
+ body = Fog::JSON.encode({
+ :rname => rname,
+ :token => auth_token,
+ :ttl => ttl
+ }.merge!(options))
+
+ request(
+ :body => body,
+ :expects => 200,
+ :method => :post,
+ :path => 'Zone/' << zone
+ )
+ end
+ end
+
+ class Mock
+ def post_zone(rname, ttl, zone, options = {})
+ new_zone = self.data[:zones][zone] = {
+ :next_record_id => 0,
+ :records => Hash.new do |records_hash, type|
+ records_hash[type] = []
+ end,
+ :records_to_delete => [],
+ :rname => rname,
+ :serial_style => options[:serial_style] || "increment",
+ :serial => 0,
+ :ttl => ttl,
+ :zone => zone,
+ :zone_type => "Primary"
+ }
+
+ response = Excon::Response.new
+ response.status = 200
+ response.body = {
+ "status" => "success",
+ "data" => {
+ "zone_type" => new_zone[:zone_type],
+ "serial_style" => new_zone[:serial_style],
+ "serial" => new_zone[:serial],
+ "zone" => zone
+ },
+ "job_id" => Fog::Dynect::Mock.job_id,
+ "msgs" => [{
+ "INFO" => "create: New zone #{zone} created. Publish it to put it on our server.",
+ "SOURCE" => "BLL",
+ "ERR_CD" => nil,
+ "LVL" => "INFO"
+ }]
+ }
+
+ response
+ end
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/put_record.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/put_record.rb
new file mode 100644
index 0000000..5f5f6a3
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/put_record.rb
@@ -0,0 +1,76 @@
+module Fog
+ module DNS
+ class Dynect
+ class Real
+ # Update or replace a record
+ #
+ # ==== Parameters
+ # * type<~String> - type of record in ['AAAA', 'ANY', 'A', 'CNAME', 'DHCID', 'DNAME', 'DNSKEY', 'DS', 'KEY', 'LOC', 'MX', 'NSA', 'NS', 'PTR', 'PX', 'RP', 'SOA', 'SPF', 'SRV', 'SSHFP', 'TXT']
+ # * zone<~String> - zone of record
+ # * rdata<~Hash> - rdata for record
+ # * options<~Hash>: (options vary by type, listing below includes common parameters)
+ # * ttl<~Integer> - ttl for the record, defaults to zone ttl
+
+ def put_record(type, zone, fqdn, rdata, options = {})
+ options.merge!('rdata' => rdata)
+ type.to_s.upcase!
+ options = {"#{type}Records" => [options]} unless options['record_id']
+ path = ["#{type}Record", zone, fqdn].join('/')
+ path += "/#{options.delete('record_id')}" if options['record_id']
+ request(
+ :body => Fog::JSON.encode(options),
+ :expects => 200,
+ :idempotent => true,
+ :method => :put,
+ :path => path
+ )
+ end
+ end
+
+ class Mock
+ def put_record(type, zone, fqdn, rdata, options = {})
+ raise Fog::DNS::Dynect::NotFound unless zone = self.data[:zones][zone]
+
+ records = zone[:records]
+ record_id = zone[:next_record_id]
+ zone[:next_record_id] += 1
+
+ record = {
+ :type => type,
+ :zone => zone,
+ :fqdn => fqdn,
+ :rdata => rdata,
+ :ttl => options[:ttl] || zone[:ttl],
+ :record_id => record_id
+ }
+
+ records[type] << record
+
+ response = Excon::Response.new
+ response.status = 200
+
+ response.body = {
+ "status" => "success",
+ "data" => {
+ "zone" => record[:zone][:zone],
+ "ttl" => record[:ttl],
+ "fqdn" => record[:fqdn],
+ "record_type" => record[:type],
+ "rdata" => record[:rdata],
+ "record_id" => record[:record_id]
+ },
+ "job_id" => Fog::Dynect::Mock.job_id,
+ "msgs" => [{
+ "INFO"=>"add: Record added",
+ "SOURCE"=>"BLL",
+ "ERR_CD"=>nil,
+ "LVL"=>"INFO"
+ }]
+ }
+
+ response
+ end
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/put_zone.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/put_zone.rb
new file mode 100644
index 0000000..c421061
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/requests/dns/put_zone.rb
@@ -0,0 +1,76 @@
+module Fog
+ module DNS
+ class Dynect
+ class Real
+ # Update a zone
+ #
+ # ==== Parameters
+ # * zone<~String> - name or id of zone
+ # * options<~Hash>:
+ # * freeze<~Boolean> - causes zone to become frozen
+ # * publish<~Boolean> - causes all pending changes to be pushed to nameservers
+ # * thaw<~Boolean> - causes zone to cease being frozen
+
+ def put_zone(zone, options = {})
+ request(
+ :body => Fog::JSON.encode(options),
+ :expects => 200,
+ :idempotent => true,
+ :method => :put,
+ :path => 'Zone/' << zone
+ )
+ end
+ end
+
+ class Mock
+ def put_zone(zone, options = {})
+ raise Fog::DNS::Dynect::NotFound unless zone = self.data[:zones][zone]
+
+ raise ArgumentError unless options.size == 1
+
+ response = Excon::Response.new
+ response.status = 200
+
+ data = {}
+
+ if options['freeze']
+ zone['frozen'] = true
+ info = "freeze: Your zone is now frozen"
+ elsif options['publish']
+ zone[:changes] = {}
+ zone[:records_to_delete].each do |record|
+ zone[:records][record[:type]].delete_if { |r| r[:fqdn] == record[:fqdn] && r[:record_id] == record[:record_id] }
+ end
+ zone[:records_to_delete] = []
+ data = {
+ "zone_type" => zone[:zone_type],
+ "serial_style" => zone[:serial_style],
+ "serial" => zone[:serial] += 1,
+ "zone" => zone[:zone]
+ }
+ info = "publish: #{zone[:zone]} published"
+ elsif options['thaw']
+ zone[:frozen] = false
+ info = "thaw: Your zone is now thawed, you may edit normally"
+ else
+ raise ArgumentError
+ end
+
+ response.body = {
+ "status" => "success",
+ "data" => data,
+ "job_id" => Fog::Dynect::Mock.job_id,
+ "msgs" => [{
+ "INFO" => info,
+ "SOURCE"=>"BLL",
+ "ERR_CD"=>nil,
+ "LVL"=>"INFO"
+ }]
+ }
+
+ response
+ end
+ end
+ end
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/version.rb b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/version.rb
new file mode 100644
index 0000000..02d2eda
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/lib/ruby/vendor_ruby/fog/dynect/version.rb
@@ -0,0 +1,5 @@
+module Fog
+ module Dynect
+ VERSION = '0.0.2'
+ end
+end
diff --git a/debian/ruby-fog-dynect/usr/share/doc/ruby-fog-dynect/README.md b/debian/ruby-fog-dynect/usr/share/doc/ruby-fog-dynect/README.md
new file mode 100644
index 0000000..d6d0177
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/share/doc/ruby-fog-dynect/README.md
@@ -0,0 +1,58 @@
+# Fog::Dynect
+
+[![Build Status](https://travis-ci.org/fog/fog-dynect.svg?branch=master)](https://travis-ci.org/fog/fog-dynect)
+
+## Installation
+
+Add this line to your application's Gemfile:
+
+```ruby
+gem 'fog-dynect'
+```
+
+And then execute:
+
+ $ bundle
+
+Or install it yourself as:
+
+ $ gem install fog-dynect
+
+## Usage
+
+Initialize a `Fog::DNS` object using the Dynect provider.
+
+```ruby
+
+dns = Fog::DNS.new({
+ :provider => 'Dynect',
+ :dynect_customer => 'dynect_customer',
+ :dynect_username => 'dynect_username',
+ :dynect_password => 'dynect_password'
+})
+
+```
+
+This can then be used like other [Fog DNS](http://fog.io/dns/) providers.
+
+```ruby
+
+zone = dns.zones.create(
+ :domain => 'example.com',
+ :email => 'admin at example.com'
+)
+record = zone.records.create(
+ :value => '1.2.3.4',
+ :name => 'example.com',
+ :type => 'A'
+)
+
+```
+
+## Contributing
+
+1. Fork it ( https://github.com/fog/fog-dynect/fork )
+2. Create your feature branch (`git checkout -b my-new-feature`)
+3. Commit your changes (`git commit -am 'Add some feature'`)
+4. Push to the branch (`git push origin my-new-feature`)
+5. Create a new Pull Request
diff --git a/debian/ruby-fog-dynect/usr/share/doc/ruby-fog-dynect/changelog.Debian.gz b/debian/ruby-fog-dynect/usr/share/doc/ruby-fog-dynect/changelog.Debian.gz
new file mode 100644
index 0000000..e1ed56d
Binary files /dev/null and b/debian/ruby-fog-dynect/usr/share/doc/ruby-fog-dynect/changelog.Debian.gz differ
diff --git a/debian/ruby-fog-dynect/usr/share/doc/ruby-fog-dynect/changelog.gz b/debian/ruby-fog-dynect/usr/share/doc/ruby-fog-dynect/changelog.gz
new file mode 100644
index 0000000..c1eef35
Binary files /dev/null and b/debian/ruby-fog-dynect/usr/share/doc/ruby-fog-dynect/changelog.gz differ
diff --git a/debian/ruby-fog-dynect/usr/share/doc/ruby-fog-dynect/copyright b/debian/ruby-fog-dynect/usr/share/doc/ruby-fog-dynect/copyright
new file mode 100644
index 0000000..5d09370
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/share/doc/ruby-fog-dynect/copyright
@@ -0,0 +1,57 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: fog-dynect
+Source: http://github.com/fog/fog-dynect
+
+Files: *
+Copyright: 2014 geemus <geemus at gmail.com>
+ 2014 tokengeek <tokengeek at gmail.com>
+ 2014 glennpratt <glennpratt at gmail.com>
+ 2014 krames <kyle at rames.org>
+License: Expat
+ Copyright (c) 2014
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge,
+ publish, distribute, sublicense, and/or sell copies of the Software,
+ and to permit persons to whom the Software is furnished to do so,
+ subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+
+Files: debian/*
+Copyright: 2016 Sagar Ippalpalli <i.vikram15 at gmail.com>
+License: GPL-2+
+Comment: the Debian packaging is licensed under the same terms as the original package.
+
+License: GPL-2+
+ This program is free software; you can redistribute it
+ and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later
+ version.
+ .
+ This program is distributed in the hope that it will be
+ useful, but WITHOUT ANY WARRANTY; without even the implied
+ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more
+ details.
+ .
+ You should have received a copy of the GNU General Public
+ License along with this package; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ Boston, MA 02110-1301 USA
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.
diff --git a/debian/ruby-fog-dynect/usr/share/rubygems-integration/all/specifications/fog-dynect-0.0.2.gemspec b/debian/ruby-fog-dynect/usr/share/rubygems-integration/all/specifications/fog-dynect-0.0.2.gemspec
new file mode 100644
index 0000000..ed6ba64
--- /dev/null
+++ b/debian/ruby-fog-dynect/usr/share/rubygems-integration/all/specifications/fog-dynect-0.0.2.gemspec
@@ -0,0 +1,46 @@
+# -*- encoding: utf-8 -*-
+# stub: fog-dynect 0.0.2 ruby lib
+
+Gem::Specification.new do |s|
+ s.name = "fog-dynect"
+ s.version = "0.0.2"
+
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.require_paths = ["lib"]
+ s.authors = ["Wesley Beary", "The fog team"]
+ s.date = "2015-08-24"
+ s.description = "This library can be used as a module for `fog` or as\n standalone provider to use Dynect DNS in applications."
+ s.email = ["geemus at gmail.com"]
+ s.files = [".gitignore", ".travis.yml", "CHANGELOG.md", "CONTRIBUTING.md", "CONTRIBUTORS.md", "Gemfile", "LICENSE.md", "README.md", "Rakefile", "fog-dynect.gemspec", "gemfiles/Gemfile-1.8.7", "lib/fog/bin/dynect.rb", "lib/fog/dynect.rb", "lib/fog/dynect/dns.rb", "lib/fog/dynect/models/dns/record.rb", "lib/fog/dynect/models/dns/records.rb", "lib/fog/dynect/models/dns/zone.rb", "lib/fog/dynect/models/dns/zones.rb", "lib/fog/dynect/requests/dns/delete_record.rb", "lib/fog/dynect/requests/ [...]
+ s.homepage = "http://github.com/fog/fog-dynect"
+ s.licenses = ["MIT"]
+ s.rubygems_version = "2.4.5.1"
+ s.summary = "Module for the 'fog' gem to support Dynect DNS."
+
+ if s.respond_to? :specification_version then
+ s.specification_version = 4
+
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+ s.add_development_dependency(%q<bundler>, [">= 0"])
+ s.add_development_dependency(%q<rake>, [">= 0"])
+ s.add_development_dependency(%q<shindo>, ["~> 0.3"])
+ s.add_runtime_dependency(%q<fog-core>, [">= 0"])
+ s.add_runtime_dependency(%q<fog-json>, [">= 0"])
+ s.add_runtime_dependency(%q<fog-xml>, [">= 0"])
+ else
+ s.add_dependency(%q<bundler>, [">= 0"])
+ s.add_dependency(%q<rake>, [">= 0"])
+ s.add_dependency(%q<shindo>, ["~> 0.3"])
+ s.add_dependency(%q<fog-core>, [">= 0"])
+ s.add_dependency(%q<fog-json>, [">= 0"])
+ s.add_dependency(%q<fog-xml>, [">= 0"])
+ end
+ else
+ s.add_dependency(%q<bundler>, [">= 0"])
+ s.add_dependency(%q<rake>, [">= 0"])
+ s.add_dependency(%q<shindo>, ["~> 0.3"])
+ s.add_dependency(%q<fog-core>, [">= 0"])
+ s.add_dependency(%q<fog-json>, [">= 0"])
+ s.add_dependency(%q<fog-xml>, [">= 0"])
+ end
+end
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/ruby-fog-dynect.git
More information about the Pkg-ruby-extras-commits
mailing list