Sha256: 1a38f0fb9c3ece21d80900a07568b0917be8965f300d3020b65da24f1d4b47fe
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
class TerraspacePluginAws::Interfaces::Backend class Bucket < Base include Secure def create bucket = @info["bucket"] unless bucket # not bucket provided puts "ERROR: no bucket value provided in your terraform backend config".color(:red) exit 1 end if exist?(bucket) # puts "Bucket already exist: #{bucket}" c = TerraspacePluginAws::Interfaces::Config.instance.config.s3 secure(bucket) if c.secure_existing else puts "Creating bucket: #{bucket}" s3.create_bucket(bucket: bucket) secure(bucket) end end def exist?(name) s3.head_bucket(bucket: name, use_accelerate_endpoint: false) true # Bucket exist rescue Aws::S3::Errors::NotFound false # Bucket does not exist rescue Aws::S3::Errors::Forbidden => e puts "#{e.class}: #{e.message}" puts "ERROR: Bucket is not available: #{name}".color(:red) puts "Bucket might be owned by someone else or is on another one of your AWS accounts." exit 1 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
terraspace_plugin_aws-0.0.0 | lib/terraspace_plugin_aws/interfaces/backend/bucket.rb |