Class: S3Secure::Lifecycle::Add
- Defined in:
- lib/s3_secure/lifecycle/add.rb
Constant Summary collapse
Instance Method Summary collapse
Methods inherited from CLI::Base
Methods included from CLI::Say
Methods included from AwsServices
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
#run ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/s3_secure/lifecycle/add.rb', line 5 def run show = Show.new(@options) if @options[:additive] current_rules = show.get_lifecycle_rules(@bucket) builder = Builder.new(current_rules) rules = builder.rules_with_addition(@options[:prefix]) if current_rules.size == rules.size say "WARN: rule wasnt added because a #{RULE_ID} already exists".color(:yellow) else s3.put_bucket_lifecycle_configuration( bucket: @bucket, # required lifecycle_configuration: {rules: rules} ) end elsif show.any? say "Bucket #{@bucket} is has a lifecycle policy already." return else = { bucket: @bucket, # required lifecycle_configuration: {rules: [Builder::DEFAULT_RULE]} } s3.put_bucket_lifecycle_configuration() end say "Added lifecycle policy to bucket #{@bucket}" end |