Sha256: 21273018189e6be2e072ecdf94610a8e5ad6cfc00edcfcbc864f7ea90bafbfb3

Contents?: true

Size: 1.4 KB

Versions: 16

Compression:

Stored size: 1.4 KB

Contents

require 'fog/core/collection'
require 'fog/aws/models/rds/log_file'

module Fog
  module AWS
    class RDS
      class LogFiles < Fog::Collection
        attribute :filters
        attribute :rds_id
        model Fog::AWS::RDS::LogFile

        def initialize(attributes)
          self.filters ||= {}
          super
        end

        # This method deliberately returns only a single page of results
        def all(filters=filters)
          self.filters.merge!(filters)

          result = service.describe_db_log_files(rds_id, self.filters).body['DescribeDBLogFilesResult']
          self.filters[:marker] = result['Marker']
          load(result['DBLogFiles'])
        end

        def each(filters=filters)
          if block_given?
            begin
              page = self.all(filters)
              # We need to explicitly use the base 'each' method here on the page, otherwise we get infinite recursion
              base_each = Fog::Collection.instance_method(:each)
              base_each.bind(page).call { |log_file| yield log_file }
            end while self.filters[:marker]
          end
          self
        end

        def get(file_name=nil)
          if file_name
            matches = self.select {|log_file| log_file.name.upcase == file_name.upcase}
            return matches.first unless matches.empty?
          end
        rescue Fog::AWS::RDS::NotFound
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 4 rubygems

Version Path
vagrant-cloudstack-1.1.0 vendor/bundle/gems/fog-1.22.1/lib/fog/aws/models/rds/log_files.rb
fog-1.26.0 lib/fog/aws/models/rds/log_files.rb
fog-1.25.0 lib/fog/aws/models/rds/log_files.rb
nsidc-fog-1.24.1 lib/fog/aws/models/rds/log_files.rb
fog-1.24.0 lib/fog/aws/models/rds/log_files.rb
ns-fog-1.22.11 lib/fog/aws/models/rds/log_files.rb
ns-fog-1.22.10 lib/fog/aws/models/rds/log_files.rb
ns-fog-1.22.9 lib/fog/aws/models/rds/log_files.rb
ns-fog-1.22.8 lib/fog/aws/models/rds/log_files.rb
ns-fog-1.22.7 lib/fog/aws/models/rds/log_files.rb
ns-fog-1.22.6 lib/fog/aws/models/rds/log_files.rb
fog-1.23.0 lib/fog/aws/models/rds/log_files.rb
ns-fog-1.22.4 lib/fog/aws/models/rds/log_files.rb
ns-fog-1.22.3 lib/fog/aws/models/rds/log_files.rb
ns-fog-1.22.2 lib/fog/aws/models/rds/log_files.rb
fog-1.22.1 lib/fog/aws/models/rds/log_files.rb