Class: S3Ranger::CLI::CreateBucket
- Defined in:
- lib/s3ranger/cli.rb
Instance Attribute Summary collapse
-
#acl ⇒ Object
Returns the value of attribute acl.
Instance Method Summary collapse
-
#initialize ⇒ CreateBucket
constructor
A new instance of CreateBucket.
- #run(s3, bucket, key, file, args) ⇒ Object
Methods inherited from BaseCmd
#has_options?, #has_prefix?, #usage
Constructor Details
#initialize ⇒ CreateBucket
84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/s3ranger/cli.rb', line 84 def initialize super 'createbucket', false, false @short_desc = "Create a new bucket under your user account" @acl = nil self. = CmdParse::OptionParserWrapper.new do |opt| opt.on("-a", "--acl=ACL", "Options: #{AVAILABLE_ACLS.join ', '}") {|acl| @acl = acl.to_sym } end end |
Instance Attribute Details
#acl ⇒ Object
Returns the value of attribute acl.
82 83 84 |
# File 'lib/s3ranger/cli.rb', line 82 def acl @acl end |
Instance Method Details
#run(s3, bucket, key, file, args) ⇒ Object
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/s3ranger/cli.rb', line 98 def run s3, bucket, key, file, args raise WrongUsage.new(nil, "You need to inform a bucket") if not bucket begin params = {} if @acl raise WrongUsage.new(nil, "Invalid ACL `#{@acl}'. Should be any of #{AVAILABLE_ACLS.join ', '}") if not AVAILABLE_ACLS.include? @acl params.merge!({:acl => @acl}) end s3.buckets.create bucket, params rescue AWS::S3::Errors::BucketAlreadyExists => exc raise FailureFeedback.new("Bucket `#{bucket}' already exists") end end |