1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/hp/models/network/network.rb

57 lines
1.1 KiB
Ruby
Raw Normal View History

require 'fog/core/model'
module Fog
module HP
class Network
class Network < Fog::Model
identity :id
attribute :name
attribute :tenant_id
attribute :status
attribute :shared
attribute :admin_state_up
attribute :router_external, :aliases => 'router:external'
def destroy
requires :id
service.delete_network(id)
true
end
def ready?
self.status == 'ACTIVE'
end
def subnets
@subnets ||= begin
Fog::HP::Network::Subnets.new({
:service => service,
:filters => {:network_id => self.id}
})
end
end
def save
identity ? update : create
end
private
def create
merge_attributes(service.create_network(attributes).body['network'])
true
end
def update
requires :id
merge_attributes(service.update_network(id, attributes).body['network'])
true
end
end
end
end
end