class Outliers::Resources::Aws::S3::Bucket
Public Instance Methods
configured_as_website?()
click to toggle source
# File lib/outliers/resources/aws/s3/bucket.rb, line 38 def configured_as_website? !website_configuration.nil? end
empty?()
click to toggle source
# File lib/outliers/resources/aws/s3/bucket.rb, line 7 def empty? logger.debug "Bucket #{id} has #{count} objects." count == 0 end
no_public_objects?()
click to toggle source
# File lib/outliers/resources/aws/s3/bucket.rb, line 13 def no_public_objects? passed = true logger.info "Validating #{objects.count} objects in '#{id}' are private." objects.each do |o| logger.debug "Verifying '#{o.key}' is private." o.acl.grants.select do |g| grantee = Nokogiri::XML(g.grantee.to_s).children.children.children.to_s if grantee == "http://acs.amazonaws.com/groups/global/AllUsers" || grantee == "http://acs.amazonaws.com/groups/global/AuthenticatedUsers" logger.debug "Object '#{o.key}' in '#{id}' has public grant '#{grantee}'." passed = false end end end logger.debug "Verification of '#{id}' #{passed ? 'passed' : 'failed'}." passed end
not_configured_as_website?()
click to toggle source
# File lib/outliers/resources/aws/s3/bucket.rb, line 34 def not_configured_as_website? !configured_as_website? end
Private Instance Methods
count()
click to toggle source
# File lib/outliers/resources/aws/s3/bucket.rb, line 48 def count objects.count end
objects()
click to toggle source
# File lib/outliers/resources/aws/s3/bucket.rb, line 52 def objects @objects ||= source.objects end
website_configuration()
click to toggle source
# File lib/outliers/resources/aws/s3/bucket.rb, line 44 def website_configuration source.website_configuration end