Module: Smash::CloudPowers::Storage
Instance Method Summary
collapse
#ec2, #image, #kinesis, #region, #s3
Methods included from Helper
#attr_map!, #create_logger, #env, #errors, #format_error_message, #log_file, #logger, #retry, #task_path, #task_require_path, #to_camel, #to_i_var, #to_pascal, #to_ruby_file_name, #to_snake, #update_message_body
Methods included from Auth
creds
Instance Method Details
#search(bucket, pattern) ⇒ Object
22
23
24
25
26
|
# File 'lib/cloud_powers/storage.rb', line 22
def search(bucket, pattern)
s3.list_objects(bucket: bucket).contents.select do |o|
o.key =~ pattern
end
end
|
#send_logs_to_s3 ⇒ Object
28
29
30
31
32
33
34
35
36
|
# File 'lib/cloud_powers/storage.rb', line 28
def send_logs_to_s3
File.open(log_file) do |file|
s3.put_object(
bucket: log_bucket,
key: @instance_id,
body: file
)
end
end
|
#source_task(file) ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/cloud_powers/storage.rb', line 9
def source_task(file)
bucket = env('task storage')
unless task_path(file).exist?
objects = s3.list_objects(bucket: bucket).contents.select do |f|
/#{Regexp.escape file}/i =~ f.key
end
objects.each do |obj|
s3.get_object(bucket: bucket, key: obj.key, response_target: task_path(file))
end
end
end
|