gclouder 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 29116b388c07abbba630ea7457469e940e4c8053
4
- data.tar.gz: 8000b318ef323a161dc1da3f4ca9ade2764a386b
3
+ metadata.gz: c883949702bd5ebf5955dd329f1270ab98029010
4
+ data.tar.gz: aa2a1d13fb78f58ce04db2e2065a1c54319741c7
5
5
  SHA512:
6
- metadata.gz: be2079d49483b0d3468865a3dde9c58cfccda9da1456f75d7d81964a9f3260e5ad44efa1745f728627fc3347d2fee83c854dbda91c59d7319598a75f5cdb8347
7
- data.tar.gz: 41adda690f93e17af09d8316635609d2e8875da41035ce5bddec1a16de8114879a1aaf6dfd61f32f1b73ab9603f28e06fba12437363c446ac155385df9b7358f
6
+ metadata.gz: 2587dbcdb61c10507a2bd0613f13cce975752734acce1c72c046148bf2ae1b995ec04a211a32479f3cc02a0f1b485addf665a4096f8387e198ecd0b6442c0167
7
+ data.tar.gz: e7142be85907d2b90b6875cc08bab66c0169a1bab8c1084ba6caf39ebf3039be09015feb56bbbe14a2a065d3f3230845aaec6ed231353b3bb94ad29442d3ff4f
@@ -13,13 +13,15 @@ module GClouder
13
13
 
14
14
  def self.resource?(resource, name, args = nil, filter_key: "name", filter: "#{filter_key} ~ ^#{name}$", project_id: nil, silent: false, extra_info: nil, indent: 3)
15
15
  exists = \
16
- gcloud("#{resource} list --filter '#{filter}' #{args} | jq '. | length'", force: true, silent: silent, project_id: project_id)
16
+ gcloud("#{resource} list --filter '#{filter}' #{args} | jq '. | length'", force: true, project_id: project_id) > 0
17
17
 
18
- # if silent is specified then shell call returns truthy, otherwise integer
19
- exists = exists > 0 ? true : false if !silent
18
+ # if silent is specified then shell call returns boolean, otherwise integer
19
+ if exists.is_a?(Integer)
20
+ exists = exists > 0 ? true : false
21
+ end
20
22
 
21
23
  if exists
22
- feedback("good", resource, name, extra_info: extra_info, indent: indent, silent: silent)
24
+ feedback("good", resource, name, extra_info: extra_info, indent: indent, silent: silent) unless silent
23
25
  return true
24
26
  end
25
27
 
@@ -269,8 +269,9 @@ module GClouder
269
269
  true
270
270
  end
271
271
 
272
+ # FIXME: if a record exists but ttl or ip are different, an update should be performed
272
273
  def self.add_record_set(name, value, zone, type, ttl, project_id)
273
- if Resource.resource?("dns record-sets", name, "--zone=#{zone}", filter: "name = #{name} AND type = #{type}", project_id: project_id, silent: true)
274
+ if record_exists?(project_id, zone, name, type)
274
275
  good "#{name} IN #{type} #{value} #{ttl}", indent: 4
275
276
  return
276
277
  end
@@ -280,6 +281,10 @@ module GClouder
280
281
  gcloud "dns record-sets transaction add --name=#{name} --zone=#{zone} --type=#{type} --ttl=#{ttl} #{value}", project_id: project_id
281
282
  end
282
283
 
284
+ def self.record_exists?(project_id, zone, name, type)
285
+ Resource.resource?("dns record-sets", name, "--zone=#{zone}", filter: "name = #{name} AND type = #{type}", project_id: project_id, silent: true)
286
+ end
287
+
283
288
  def self.lookup_ip(name, context)
284
289
  args = context == "global" ? "--global" : "--regions #{context}"
285
290
  ip = gcloud("compute addresses list #{name} #{args}", force: true)
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  module GClouder
4
- VERSION = "0.1.6"
4
+ VERSION = "0.1.7"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gclouder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Wilson