Class: TerraformDevKit::Aws::S3
- Inherits:
-
Object
- Object
- TerraformDevKit::Aws::S3
- Defined in:
- lib/TerraformDevKit/aws/s3.rb
Instance Method Summary collapse
- #create_bucket(bucket_name) ⇒ Object
- #delete_bucket(bucket_name) ⇒ Object
- #empty_bucket(bucket_name) ⇒ Object
-
#initialize(credentials, region) ⇒ S3
constructor
A new instance of S3.
Constructor Details
#initialize(credentials, region) ⇒ S3
Returns a new instance of S3.
8 9 10 11 12 13 |
# File 'lib/TerraformDevKit/aws/s3.rb', line 8 def initialize(credentials, region) @s3_client = ::Aws::S3::Client.new( credentials: credentials, region: region ) end |
Instance Method Details
#create_bucket(bucket_name) ⇒ Object
15 16 17 18 19 |
# File 'lib/TerraformDevKit/aws/s3.rb', line 15 def create_bucket(bucket_name) @s3_client.create_bucket( bucket: bucket_name ) end |
#delete_bucket(bucket_name) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/TerraformDevKit/aws/s3.rb', line 21 def delete_bucket(bucket_name) empty_bucket(bucket_name) @s3_client.delete_bucket( bucket: bucket_name ) end |
#empty_bucket(bucket_name) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/TerraformDevKit/aws/s3.rb', line 29 def empty_bucket(bucket_name) keys_to_delete = @s3_client .list_objects_v2(bucket: bucket_name) .contents .map { |x| { key: x.key } } @s3_client.delete_objects( bucket: bucket_name, delete: { objects: keys_to_delete } ) end |