Sha256: 6e8dc08e4b3dbbde655aac2b4d9c86393e2687a25539445d54dcd98bfb6b5de8
Contents?: true
Size: 1.42 KB
Versions: 36
Compression:
Stored size: 1.42 KB
Contents
require 'fog/core/model' module Fog module HP class Network class Router < Fog::Model identity :id attribute :name attribute :tenant_id attribute :external_gateway_info attribute :admin_state_up attribute :status def destroy requires :id service.delete_router(id) true end def add_interface(subnet_id=nil, port_id=nil, options={}) requires :id begin service.add_router_interface(id, subnet_id, port_id, options).body['router'] true rescue ArgumentError, Fog::HP::Network::NotFound false end end def remove_interface(subnet_id=nil, port_id=nil, options={}) requires :id begin service.remove_router_interface(id, subnet_id, port_id, options) true rescue ArgumentError, Fog::HP::Network::NotFound false end end def ready? self.status == 'ACTIVE' end def save identity ? update : create end private def create merge_attributes(service.create_router(attributes).body['router']) true end def update requires :id merge_attributes(service.update_router(id, attributes).body['router']) true end end end end end
Version data entries
36 entries across 36 versions & 2 rubygems