engineyard-dns 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,9 @@
1
1
  # ChangeLog
2
2
 
3
+ ## v0.5.0 - 2011/5/24
4
+
5
+ * "ey-dns domains" lists the registered domains for each DNS provider (with a count of records for each)
6
+
3
7
  ## v0.4.0 - 2011/5/23
4
8
 
5
9
  * supporting many DNS providers via fog
@@ -0,0 +1,17 @@
1
+ Feature: List available domains
2
+ I want to see the available domains I can associate with my AppCloud apps
3
+
4
+ Scenario: Show domains without any records:
5
+ Given I have setup my fog credentials for "DNSimple"
6
+ And I have DNS domain "myapp.com" with provider "DNSimple"
7
+ And I have DNS domain "myotherapp.com" with provider "DNSimple"
8
+ When I run local executable "ey-dns" with arguments "domains"
9
+ Then I should see exactly
10
+ """
11
+ DNSimple:
12
+ myapp.com - 0 records
13
+ myotherapp.com - 0 records
14
+
15
+ """
16
+
17
+
@@ -1,8 +1,6 @@
1
1
  $:.unshift(File.expand_path(File.dirname(__FILE__) + '/../../lib'))
2
2
  require 'bundler/setup'
3
3
  require 'engineyard-dns'
4
- require 'dnsimple'
5
- require 'dnsimple/cli'
6
4
  require 'fog'
7
5
 
8
6
  path = ENV['PATH']
@@ -18,7 +18,6 @@ module EngineYard
18
18
  super
19
19
  end
20
20
 
21
-
22
21
  desc "assign DOMAIN [NAME]", "Assign DNS domain/tld (or name.tld) to your AppCloud environment"
23
22
  method_option :verbose, :aliases => ["-V"], :desc => "Display more output"
24
23
  method_option :environment, :aliases => ["-e"], :desc => "Environment in which to deploy this application", :type => :string
@@ -61,10 +60,28 @@ module EngineYard
61
60
  # ::DNSimple::Commands::ListRecords.new.execute([domain])
62
61
  end
63
62
 
63
+ desc "domains", "List available domains/zones from your DNS providers"
64
+ def domains
65
+ dns_provider_names.each do |provider_name|
66
+ dns_provider = ::Fog::DNS.new({:provider => provider_name})
67
+ domains = dns_provider.zones
68
+
69
+ if domains.size == 0
70
+ say "#{provider_name}: ", :yellow; say "none"
71
+ else
72
+ say "#{provider_name}:", :green
73
+ domains.each do |domain|
74
+ records = domain.records.all
75
+ say " #{domain.domain} - #{records.size} records"
76
+ end
77
+ end
78
+ end
79
+ end
80
+
64
81
  desc "version", "show version information"
65
82
  def version
66
- require 'engineyard-jenkins/version'
67
- shell.say Engineyard::Jenkins::VERSION
83
+ require 'engineyard-dns/version'
84
+ shell.say Engineyard::DNS::VERSION
68
85
  end
69
86
 
70
87
  map "-v" => :version, "--version" => :version, "-h" => :help, "--help" => :help
@@ -1,5 +1,5 @@
1
1
  module EngineYard
2
2
  module DNS
3
- VERSION = "0.4.0"
3
+ VERSION = "0.5.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: engineyard-dns
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.4.0
5
+ version: 0.5.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Dr Nic Williams
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-05-23 00:00:00 -07:00
13
+ date: 2011-05-24 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -165,7 +165,7 @@ files:
165
165
  - bin/ey-dns
166
166
  - engineyard-dns.gemspec
167
167
  - features/assign_dns_to_environment.feature
168
- - features/assign_dns_to_environment_via_different_dns_providers.feature
168
+ - features/list_available_domains.feature
169
169
  - features/step_definitions/common_steps.rb
170
170
  - features/step_definitions/dnsimple_steps.rb
171
171
  - features/step_definitions/ey_api_steps.rb
@@ -210,7 +210,7 @@ specification_version: 3
210
210
  summary: Configure your Engine Yard AppCloud environment and your DNSimple domain.
211
211
  test_files:
212
212
  - features/assign_dns_to_environment.feature
213
- - features/assign_dns_to_environment_via_different_dns_providers.feature
213
+ - features/list_available_domains.feature
214
214
  - features/step_definitions/common_steps.rb
215
215
  - features/step_definitions/dnsimple_steps.rb
216
216
  - features/step_definitions/ey_api_steps.rb
@@ -1,26 +0,0 @@
1
- Feature: Assign DNS to environment IP address
2
- I want to assign DNS record to an AppCloud environment IP address
3
-
4
- Background:
5
- Given I have setup my engineyard email/password for API access
6
- And I have "two apps" in AppCloud
7
-
8
- Scenario: Assign new DNS A Record to an environment via fog to DNSimple
9
- Given I have setup my fog credentials for "DNSimple"
10
- And I have DNS domain "myapp.com" with provider "DNSimple"
11
- When I run local executable "ey-dns" with arguments "assign myapp.com --account main --environment giblets"
12
- Then I should see exactly
13
- """
14
- Fetching AppCloud environment information...
15
- Found AppCloud environment giblets on account main with IP 174.129.7.113
16
-
17
- Searching for myapp.com amongst your DNS providers...
18
- Found myapp.com in DNSimple account
19
-
20
- Assigning myapp.com --> 174.129.7.113 (main/giblets)
21
- Created A record for myapp.com
22
- Assigning www.myapp.com --> 174.129.7.113 (main/giblets)
23
- Created A record for www.myapp.com
24
- Complete!
25
-
26
- """