Sha256: 0e86fb7d32396d424a964115660dcda2b50fd671132c2f67afa33f035474daa7
Contents?: true
Size: 1.01 KB
Versions: 1
Compression:
Stored size: 1.01 KB
Contents
require 'aws-sdk' require_relative '../service' require_relative '../services/check_acl' class OpenBuckets < Service def call(access_key:, secret:) @access_key, @secret = access_key, secret collect_data rescue => e puts e [] end def client @client ||= Aws::S3::Resource.new( credentials: Aws::Credentials.new(@access_key, @secret), region: 'eu-central-1' ) end def collect_data buckets = client.buckets.map do |b| region = client.client.get_bucket_location(bucket: b.name).location_constraint s3tempclient = Aws::S3::Resource.new( credentials: Aws::Credentials.new(@access_key, @secret), region: region ) status = CheckAcl.call(s3tempclient.client.get_bucket_acl({bucket: b.name})) bucket = Bucket.new(b.name, region, status, s3tempclient.client, []) s3tempclient.bucket(b.name).objects.each do |obj| bucket.keys << obj.key end bucket end end Bucket = Struct.new(:name, :region, :public, :client, :keys) end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
s3_sec-0.1.0 | lib/s3sec/services/open_buckets.rb |