Sha256: 8756146128e68d767123c38dca62df17840535505c1889bd2e92ef712dc7b1b9
Contents?: true
Size: 802 Bytes
Versions: 4
Compression:
Stored size: 802 Bytes
Contents
module Jets::AwsServices class S3Bucket include Jets::AwsServices def self.ensure_exists(bucket_name) new(bucket_name).ensure_exists end def initialize(name) @name = name end def ensure_exists s3.create_bucket(bucket: @name) unless exists? rescue Aws::S3::Errors::BucketAlreadyExists => e puts "ERROR #{e.class}: #{e.message}".color(:red) puts "Bucket name: #{@name}" exit 1 end def exists? s3.head_bucket(bucket: @name) true rescue Aws::S3::Errors::BucketAlreadyOwnedByYou, Aws::S3::Errors::Http301Error => e # These exceptions indicate bucket already exists # Aws::S3::Errors::Http301Error could be inaccurate but compromising for simplicity true rescue false end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
jets-6.0.5 | lib/jets/aws_services/s3_bucket.rb |
jets-6.0.4 | lib/jets/aws_services/s3_bucket.rb |
jets-6.0.3 | lib/jets/aws_services/s3_bucket.rb |
jets-6.0.2 | lib/jets/aws_services/s3_bucket.rb |