class S3Secure::Lifecycle::Show

Constants

RULE_ID

Public Instance Methods

any?() click to toggle source
# File lib/s3_secure/lifecycle/show.rb, line 18
def any?
  rules = get_lifecycle_rules(@bucket)
  !!(rules && !rules.empty?)
end
get_lifecycle(bucket) click to toggle source
# File lib/s3_secure/lifecycle/show.rb, line 28
def get_lifecycle(bucket)
  s3.get_bucket_lifecycle_configuration(bucket: bucket) # resp
rescue Aws::S3::Errors::NoSuchLifecycleConfiguration
end
get_lifecycle_rules(bucket) click to toggle source

Also used by add and remove

# File lib/s3_secure/lifecycle/show.rb, line 35
def get_lifecycle_rules(bucket)
  resp = get_lifecycle(bucket)
  resp.rules.map(&:to_h) if resp
end
has?(rule_id) click to toggle source
# File lib/s3_secure/lifecycle/show.rb, line 23
def has?(rule_id)
  rules = get_lifecycle_rules(@bucket)
  rules && rules.detect { |rule| rule[:id] == rule_id }
end
run() click to toggle source
# File lib/s3_secure/lifecycle/show.rb, line 5
def run
  if any?
    say "This S3 bucket has lifecycle rules"
  else
    say "This S3 bucket does not have lifecycle rules"
  end

  if any?
    say "Bucket lifecycle details: "
    pp get_lifecycle(@bucket).to_h
  end
end