Module: Smash::CloudPowers::Storage
- Includes:
- AwsResources
- Included in:
- Smash::CloudPowers, Delegator
- Defined in:
- lib/cloud_powers/storage.rb
Instance Method Summary collapse
Methods included from AwsResources
#ec2, #image, #kinesis, #region, #s3, #sqs
Methods included from Zenv
#env_vars, #file_tree_search, #i_vars, #project_root, #project_root=, #system_vars, #zfind
Methods included from Helper
#attr_map!, #called_from, #create_logger, #errors, #format_error_message, #log_file, #logger, #smart_retry, #task_path, #task_require_path, #to_camel, #to_i_var, #to_pascal, #to_ruby_file_name, #to_snake, #update_message_body, #valid_json?
Methods included from Auth
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) # TODO: better path management bucket = zfind('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 |