def save
raise Fog::Errors::Error.new("Resaving an existing object may create a duplicate") if persisted?
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 = service.create_firewall_rule(options)
merge_attributes(data)
true
end