Sha256: 19b10e90e078ac4e9a0a7d4ea4e881869fdf0f16898c18a594432a8c7e23abf3
Contents?: true
Size: 1.05 KB
Versions: 65
Compression:
Stored size: 1.05 KB
Contents
require 'fog/core/collection' require 'fog/cloudstack/models/compute/security_group_rule' module Fog module Compute class Cloudstack class SecurityGroupRules < Fog::Collection model Fog::Compute::Cloudstack::SecurityGroupRule attribute :security_group_id, :type => :string def security_group service.security_groups.get(self.security_group_id) end def create(attributes) model = self.new(attributes.merge(:security_group_id => self.security_group_id)) model.save end def all(options={}) merge_attributes(options) security_group = self.security_group rules = security_group.ingress_rules.map{|r| r.merge("direction" => "ingress", "security_group_id" => security_group_id)} rules += security_group.egress_rules.map{|r| r.merge("direction" => "egress", "security_group_id" => security_group_id)} load(rules) end def get(rule_id) all.find{|r| r.id == rule_id} end end end end end
Version data entries
65 entries across 65 versions & 6 rubygems