Class: S3Secure::Versioning::Show

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

Instance Method Summary collapse

Methods inherited from CLI::Base

#buckets, #initialize

Methods included from CLI::Say

#say

Methods included from AwsServices

#sts

Methods included from AwsServices::S3

#check_bucket!, #new_s3_regional_client, #region, #region_map, #s3, #s3_client, #s3_regional_client

Constructor Details

This class inherits a constructor from S3Secure::CLI::Base

Instance Method Details

#enabled?Boolean

Returns:

  • (Boolean)


16
17
18
19
# File 'lib/s3_secure/versioning/show.rb', line 16

def enabled?
  versioning = get_versioning(@bucket)
  versioning.status == "Enabled" # Can be Enabled, Suspended, or nil
end

#get_versioning(bucket) ⇒ Object



21
22
23
24
# File 'lib/s3_secure/versioning/show.rb', line 21

def get_versioning(bucket)
  s3.get_bucket_versioning(bucket: bucket) # resp
rescue Aws::S3::Errors::ServerSideEncryptionConfigurationNotFoundError
end

#runObject



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

def run
  if enabled?
    say "This S3 bucket has versioning enabled"
  else
    say "This S3 bucket does not have versioning enabled"
  end
  details = get_versioning(@bucket).to_h
  unless details.empty?
    say "Bucket versioning details: "
    pp details
  end
end