class TerraspacePluginAws::Interfaces::Backend::Bucket
Public Instance Methods
create()
click to toggle source
# File lib/terraspace_plugin_aws/interfaces/backend/bucket.rb, line 5 def create bucket = @info["bucket"] unless bucket # not bucket provided logger.error "ERROR: no bucket value provided in your terraform backend config".color(:red) exit 1 end if exist?(bucket) logger.debug "Bucket already exist: #{bucket}" c = TerraspacePluginAws::Interfaces::Config.instance.config.s3 secure(bucket) if c.secure_existing else logger.info "Creating bucket: #{bucket}" s3.create_bucket(bucket: bucket) secure(bucket) end end
exist?(name)
click to toggle source
# File lib/terraspace_plugin_aws/interfaces/backend/bucket.rb, line 22 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 logger.error "#{e.class}: #{e.message}" logger.error "ERROR: Bucket is not available: #{name}".color(:red) logger.error "Bucket might be owned by someone else or is on another one of your AWS accounts." exit 1 end