Sha256: 9dc30e2a9634a80f8b9878089f27cf58b288173c67f221dbda227435080c4b73
Contents?: true
Size: 1.63 KB
Versions: 41
Compression:
Stored size: 1.63 KB
Contents
require 'fog/core/model' module Fog module Compute class Brightbox class FirewallPolicy < Fog::Model identity :id attribute :url attribute :resource_type attribute :name attribute :description attribute :default attribute :server_group_id, :aliases => "server_group", :squash => "id" attribute :created_at, :type => :time attribute :rules # Sticking with existing Fog behaviour, save does not update but creates a new resource def save raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if persisted? options = { :server_group => server_group_id, :name => name, :description => description }.delete_if {|k,v| v.nil? || v == "" } data = service.create_firewall_policy(options) merge_attributes(data) true end def apply_to(server_group_id) requires :identity options = { :server_group => server_group_id } data = service.apply_to_firewall_policy(identity, options) merge_attributes(data) true end def remove(server_group_id) requires :identity options = { :server_group => server_group_id } data = service.remove_firewall_policy(identity, options) merge_attributes(data) true end def destroy requires :identity data = service.destroy_firewall_policy(identity) true end end end end end
Version data entries
41 entries across 41 versions & 6 rubygems