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/google/models/compute/network.rb
Paul Thornthwaite 2e0b7e545a Standardise empty lines throughout codebase
Done with `rubocop --auto-correct --only EmptyLineBetweenDefs,EmptyLines,EmptyLinesAroundBody`
2014-05-26 14:20:02 +01:00

43 lines
1.2 KiB
Ruby

require 'fog/core/model'
module Fog
module Compute
class Google
##
# Represents a Network resource
#
# @see https://developers.google.com/compute/docs/reference/latest/networks
class Network < Fog::Model
identity :name
attribute :kind
attribute :id
attribute :ipv4_range, :aliases => 'IPv4Range'
attribute :creation_timestamp, :aliases => 'creationTimestamp'
attribute :description
attribute :gateway_ipv4, :aliases => 'gatewayIPv4'
attribute :self_link, :aliases => 'selfLink'
def save
requires :identity, :ipv4_range
data = service.insert_network(identity, self.ipv4_range, self.attributes)
operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'])
operation.wait_for { !pending? }
reload
end
def destroy(async=true)
requires :identity
data = service.delete_network(identity)
operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'])
unless async
operation.wait_for { ready? }
end
operation
end
end
end
end
end