Sha256: 0106a38d264bbee2948058c0ef20572ae2281f72e4cb20d9d0c56aa00a3008d6

Contents?: true

Size: 899 Bytes

Versions: 9

Compression:

Stored size: 899 Bytes

Contents

require 'fog/core/collection'
require 'fog/qingcloud/models/compute/security_group_rule'

module Fog
  module Compute
    class QingCloud
      class SecurityGroupRules < Fog::Collection

        attribute :filters

        model Fog::Compute::QingCloud::SecurityGroupRule

        def all(filters = self.filters)
          group_id = filters['group-id']
          rule_id  = filters['rule-id']
          direction = filters['direction']
          direction = [:ingress, :egress].index(direction)
          data = service.describe_security_group_rules(group_id, rule_id, direction).body
          load(data['security_group_rule_set'])
        end

        def get(security_group_rule_id)
          if security_group_rule_id
            all('rule-id' => security_group_rule_id).first
          end
        rescue Fog::QingCloud::Errors::NotFound
          nil
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
ns-fog-1.22.11 lib/fog/qingcloud/models/compute/security_group_rules.rb
ns-fog-1.22.10 lib/fog/qingcloud/models/compute/security_group_rules.rb
ns-fog-1.22.9 lib/fog/qingcloud/models/compute/security_group_rules.rb
ns-fog-1.22.8 lib/fog/qingcloud/models/compute/security_group_rules.rb
ns-fog-1.22.7 lib/fog/qingcloud/models/compute/security_group_rules.rb
ns-fog-1.22.6 lib/fog/qingcloud/models/compute/security_group_rules.rb
ns-fog-1.22.4 lib/fog/qingcloud/models/compute/security_group_rules.rb
ns-fog-1.22.3 lib/fog/qingcloud/models/compute/security_group_rules.rb
ns-fog-1.22.2 lib/fog/qingcloud/models/compute/security_group_rules.rb