Sha256: cd7a57fe64b51fac765a5d5457676706031f65836ee2bee2ddc881f50aa1361d

Contents?: true

Size: 1.1 KB

Versions: 97

Compression:

Stored size: 1.1 KB

Contents

module Fog
  module Parsers
    module AWS
      module RDS
        class SecurityGroupParser < Fog::Parsers::Base
          def reset
            @security_group = fresh_security_group
          end

          def fresh_security_group
            {'EC2SecurityGroups' => [], 'IPRanges' => []}
          end

          def start_element(name, attrs = [])
            super
            case name
            when 'EC2SecurityGroup', 'IPRange'; then @ingress = {}
            end
          end

          def end_element(name)
            case name
            when 'DBSecurityGroupDescription' then @security_group['DBSecurityGroupDescription'] = value
            when 'DBSecurityGroupName' then @security_group['DBSecurityGroupName'] = value
            when 'OwnerId' then @security_group['OwnerId'] = value
            when 'EC2SecurityGroup', 'IPRange'
              @security_group["#{name}s"] << @ingress unless @ingress.empty?
            when 'EC2SecurityGroupName', 'EC2SecurityGroupOwnerId', 'CIDRIP', 'Status'
              @ingress[name] = value
            end
          end
        end
      end
    end
  end
end

Version data entries

97 entries across 95 versions & 6 rubygems

Version Path
fog-aws-3.29.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.28.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.27.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.26.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.25.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.24.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.23.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.22.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.21.1 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.21.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.20.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.19.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.18.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.17.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.16.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.15.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.14.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.13.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.12.0 lib/fog/aws/parsers/rds/security_group_parser.rb
fog-aws-3.11.0 lib/fog/aws/parsers/rds/security_group_parser.rb