dping 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/dping +13 -0
  3. metadata +21 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1ba5dc4a450516dd09fbbdffa962618fb1760900
4
- data.tar.gz: 6c0c2f461f8e76757e8184fc3ae04fee96353dbc
3
+ metadata.gz: 94ecab6f5dd15a0f37a1dd21df07efe1a13e4512
4
+ data.tar.gz: f83388c12a271e388e34787d760e9ea220f41019
5
5
  SHA512:
6
- metadata.gz: d0ad915a0cb04e48c7960e02499f1e596230038a9b6223c1bce87b5a83126bcd352304f2943ffb3ae2e6fb788840c78f12e95b69afc32ec6aa2e06dcb7276bcc
7
- data.tar.gz: 67e9f39dc4d85356fd1b45d1f92f328c0ccc4c4f464eeb97804ce286cd7fbef6938ed53b550cd49f08cc36c1e0a42ce99db9fcd43c219e87f5c176997f2f991d
6
+ metadata.gz: 7b1bc274962fca2d06731a693c5fb00f0d26655aff93a83ffda9ace9f7b5a1fe232fd54448e07d2df253157ebec4583407bbb1180c09c50527315d48a5bee1b4
7
+ data.tar.gz: fe76567819585bb6cd126ac10aadf76864871790f6d3959879c499fafb6872bd949c8fa75ce486b1abf40f90184c2747aa56d642e586b3fae87e41f6154cdead
data/bin/dping CHANGED
@@ -2,8 +2,16 @@
2
2
 
3
3
  require "fog"
4
4
 
5
+ $verbose = false
6
+ %w(-v --verbose).each { |f| $verbose ||= ARGV.delete(f) }
7
+
8
+ def log(message)
9
+ puts(message) if $verbose
10
+ end
11
+
5
12
  target_name = ARGV.first
6
13
  abort("Usage: dping <domain>") unless target_name
14
+ log("Target name: #{target_name}")
7
15
 
8
16
  pairs = File.read(ENV["HOME"] + "/.aws-credentials-master").split.map { |l|
9
17
  l.split("=").map { |v| v.strip }
@@ -12,6 +20,7 @@ conf = Hash[pairs]
12
20
 
13
21
  id = conf["AWSAccessKeyId"] or abort("Need AWSAccessKeyId")
14
22
  secret = conf["AWSSecretKey"] or abort("Need AWSSecretKey")
23
+ log("AWS access key ID: #{id}")
15
24
 
16
25
  dns = Fog::DNS.new({
17
26
  :provider => 'AWS',
@@ -21,13 +30,17 @@ dns = Fog::DNS.new({
21
30
 
22
31
  # get the zone by stripping the subdomain
23
32
  target_domain = target_name.split(".").reverse[0, 2].reverse.join(".")
33
+ log("Target zone: #{target_domain}")
24
34
 
25
35
  ip = Excon.get("https://icanhazip.com", expects: 200).body.strip
36
+ log("IP: #{ip}")
26
37
 
27
38
  zone = dns.zones.detect { |z| z.domain =~ /#{target_domain}\.?/ }
28
39
  abort("Zone not found") unless zone
40
+ log("Zone ID: #{zone.id}")
29
41
 
30
42
  record = zone.records.detect { |r| r.name =~ /#{target_name}\.?/ }
31
43
  abort("Record not found") unless record
32
44
 
33
45
  record.modify(value: [ip])
46
+ log("Update successful")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dping
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandur
@@ -10,6 +10,26 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2014-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: excon
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.39'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.39.5
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '0.39'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.39.5
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: fog
15
35
  requirement: !ruby/object:Gem::Requirement