class AWS::S3::BucketCollection


#=> [‘bucket1’, ‘bucket2’, …]
s3.buckets.collect(&:name)
You can also use it to find out which buckets are in your account:
bucket = s3.buckets[‘mybucket’]
bucket = s3.buckets[:mybucket]

access:
You can get a handle for a specific bucket with indifferent
s3.buckets.create(“mybucket”)
You can use this to create a bucket:
Represents a collection of buckets.

def [] bucket_name

Returns:
  • (Bucket) -

Parameters:
  • bucket_name (String) --
def [] bucket_name
  bucket_named(bucket_name)
end

def bucket_named name, owner = nil

def bucket_named name, owner = nil
  S3::Bucket.new(name.to_s, :owner => owner, :config => config)
end

def create bucket_name, options = {}

Returns:
  • (Bucket) -

Options Hash: (**options)
  • :grant_full_control (String) --
  • :grant_write_acp (String) --
  • :grant_read_acp (String) --
  • :grant_write (String) --
  • :grant_read (String) --
  • :acl (Symbol, String) -- Sets the ACL of the
  • :location_constraint (String) -- The

Parameters:
  • options (Hash) --
  • bucket_name (String) --

Other tags:
    Note: - If your bucket name contains one or more periods and it
def create bucket_name, options = {}
  # convert the symbolized-canned acl into the string version
  if acl = options[:acl]
    options[:acl] = acl.to_s.tr('_', '-')
  end
  # auto set the location constraint for the user if it is not
  # passed in and the endpoint is not the us-standard region.  don't
  # override the location constraint though, even it is wrong,
  unless
    config.s3_endpoint == 's3.amazonaws.com' or
    options[:location_constraint]
  then
    constraint = guess_constraint
    options[:location_constraint] = constraint if constraint
  end
  client.create_bucket(options.merge(:bucket_name => bucket_name))
  bucket_named(bucket_name)
end

def each &block

Returns:
  • (nil) -
def each &block
  response = client.list_buckets
  response.buckets.each do |b|
    yield(bucket_named(b.name, response.owner))
  end
  nil
end

def guess_constraint

def guess_constraint
  case config.s3_endpoint
  when 's3-eu-west-1.amazonaws.com' then 'EU'
  when /^s3[.-](.*)\.amazonaws\.com/ then $1
  end
end