class Fog::Compute::Aliyun::SecurityGroupRule

Public Instance Methods

save() click to toggle source
# File lib/fog/aliyun/models/compute/security_group_rule.rb, line 21
def save
  requires :security_group_id, :ip_protocol, :port_range, :direction
  options = {}
  options[:portRange] = port_range if port_range
  options[:policy] = policy if policy
  options[:priority] = priority if port_range
  options[:protocol] = ip_protocol if ip_protocol
  if direction == 'egress'
    if dest_cidr_ip
      service.create_security_group_egress_ip_rule(security_group_id, dest_cidr_ip, nic_type, options)
    elsif dest_group_id
      options[:destGroupOwnerAccount] = dest_owner if dest_owner
      service.create_security_group_egress_sg_rule(security_group_id, dest_group_id, options)
    end
  else
    if source_cidr_ip
      service.create_security_group_ip_rule(security_group_id, source_cidr_ip, nic_type, options)
    elsif source_group_id
      options[:sourceGroupOwnerAccount] = source_owner if source_owner
      service.create_security_group_sg_rule(security_group_id, source_group_id, options)
    end
  end
end