Sha256: 0e7e1ebf0c30f7036609fc1640e4a98a53c89071a3a6a9888b97b5d9313df667
Contents?: true
Size: 1.36 KB
Versions: 34
Compression:
Stored size: 1.36 KB
Contents
require 'fog/core/model' module Fog module Compute class Google ## # Represents a Firewall resource # # @see https://developers.google.com/compute/docs/reference/latest/firewalls class Firewall < Fog::Model identity :name attribute :kind attribute :id attribute :allowed attribute :creation_timestamp, :aliases => 'creationTimestamp' attribute :description attribute :network attribute :self_link, :aliases => 'selfLink' attribute :source_ranges, :aliases => 'sourceRanges' attribute :source_tags, :aliases => 'sourceTags' attribute :target_tags, :aliases => 'targetTags' def save requires :identity, :allowed, :network data = service.insert_firewall(identity, self.allowed, self.network, 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_firewall(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
Version data entries
34 entries across 32 versions & 6 rubygems