Class: ZAWS::Services::S3::Bucket

Inherits:
Object
  • Object
show all
Defined in:
lib/zaws/services/s3/bucket.rb

Instance Method Summary collapse

Constructor Details

#initialize(shellout, aws) ⇒ Bucket

Returns a new instance of Bucket.



6
7
8
9
# File 'lib/zaws/services/s3/bucket.rb', line 6

def initialize(shellout, aws)
  @shellout=shellout
  @aws=aws
end

Instance Method Details

#declare(name, region, verbose) ⇒ Object



22
23
24
25
26
27
28
29
# File 'lib/zaws/services/s3/bucket.rb', line 22

def declare(name, region, verbose)
  if exists(name, region, nil)
    puts "Bucket already exists. Creation skipped.\n"
  else
    cmdline="aws --region #{region} s3 mb s3://#{name}"
    puts @shellout.cli(cmdline, verbose)
  end
end

#exists(name, region, verbose = nil) ⇒ Object



18
19
20
# File 'lib/zaws/services/s3/bucket.rb', line 18

def exists(name, region, verbose=nil)
  /\s#{name}$/.match(view(name, region, verbose)) != nil
end

#sync(region, bucket_name, dest, verbose = nil) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/zaws/services/s3/bucket.rb', line 31

def sync(region, bucket_name, dest, verbose=nil)
  dir = dest ? dest : Dir.mktmpdir
  com_line = "aws --region #{region} s3 sync #{bucket_name} #{dir}"
  puts @shellout.cli(com_line, verbose)

  dir
end

#view(name, region, verbose = nil) ⇒ Object



11
12
13
14
15
16
# File 'lib/zaws/services/s3/bucket.rb', line 11

def view(name, region, verbose=nil)
  cmdline="aws --region #{region} s3 ls"
  bucket_list=@shellout.cli cmdline
  verbose.puts(bucket_list) if verbose
  bucket_list
end