def save
raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if identity
requires :firewall_policy_id
options = {
:firewall_policy => firewall_policy_id,
:protocol => protocol,
:description => description,
:source => source,
:source_port => source_port,
:destination => destination,
:destination_port => destination_port,
:icmp_type_name => icmp_type_name
}.delete_if {|k,v| v.nil? || v == "" }
data = connection.create_firewall_rule(options)
merge_attributes(data)
true
end