Class: S3Secure::Encryption::List

Inherits:
Base show all
Defined in:
lib/s3_secure/encryption/list.rb

Instance Method Summary collapse

Methods inherited from AbstractBase

#buckets, #initialize

Methods included from AwsServices

#new_s3_regional_client, #s3_client, #s3_regional_client

Constructor Details

This class inherits a constructor from S3Secure::AbstractBase

Instance Method Details

#get_encryption_rules(bucket) ⇒ Object



17
18
19
20
21
# File 'lib/s3_secure/encryption/list.rb', line 17

def get_encryption_rules(bucket)
  resp = @s3.get_bucket_encryption(bucket: bucket)
  resp.server_side_encryption_configuration.rules # Aws::Xml::DefaultList object
rescue Aws::S3::Errors::ServerSideEncryptionConfigurationNotFoundError
end

#runObject



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/s3_secure/encryption/list.rb', line 3

def run
  buckets.each do |bucket|
    @s3 = s3_regional_client(bucket)
    puts "Policy for bucket #{bucket.color(:green)}"
    encryption_rules = get_encryption_rules(bucket)

    if encryption_rules
      puts encryption_rules
    else
      puts "Bucket does not have bucket encryption enabled"
    end
  end
end

#set_s3(client) ⇒ Object

Useful when calling List outside of the list CLI



24
25
26
# File 'lib/s3_secure/encryption/list.rb', line 24

def set_s3(client)
  @s3 = client
end