Class: Fog::Network::SakuraCloud::Router

Inherits:
Model
  • Object
show all
Defined in:
lib/fog/sakuracloud/models/network/router.rb

Instance Method Summary collapse

Instance Method Details

#deleteObject Also known as: destroy



19
20
21
22
# File 'lib/fog/sakuracloud/models/network/router.rb', line 19

def delete
  service.delete_router(identity)
  true
end

#router_available?(network, router_id) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
38
39
40
41
# File 'lib/fog/sakuracloud/models/network/router.rb', line 35

def router_available?(network, router_id)
  until network.switches.find {|r| r.internet != nil && r.internet["ID"] == router_id}
    print '.'
    sleep 2
  end
  ::JSON.parse((network.switches.find {|r| r.internet != nil && r.internet["ID"] == router_id}).to_json)
end

#saveObject



25
26
27
28
29
30
31
32
33
# File 'lib/fog/sakuracloud/models/network/router.rb', line 25

def save
  requires :name, :networkmasklen
  Fog::Logger.warning("Create Router with public subnet")
  data = service.create_router(@attributes).body["Internet"]
  Fog::Logger.warning("Waiting available new router...")
  new_data = router_available?(service, data["ID"])
  merge_attributes(new_data)
  true
end