Sha256: d0614fb69f7569aa77f7f7617131279b0103452f279c4bad70e1f4f5987ab441

Contents?: true

Size: 842 Bytes

Versions: 11

Compression:

Stored size: 842 Bytes

Contents

module S3
  extend self

  # Write value to key in S3 bucket, with logging.
  #
  # @param bucket [String]
  # @param key [String]
  # @param value [String]
  def write(bucket, key, value)
    Vault::Log.log(:fn => __method__, :key => key) do
      s3.buckets[bucket].objects[key].write(value)
    end
  end

  # Read value from key in S3 bucket, with logging.
  #
  # @param bucket [String]
  # @param key [String]
  def read(bucket, key)
    Vault::Log.log(:fn => __method__, :key => key) do
      s3.buckets[bucket].objects[key].read
    end
  end

  # Get the underlying AWS::S3 instance, creating it using environment vars
  # if necessary.
  def s3
    @s3 ||= AWS::S3.new(
      :access_key_id => Config.env('AWS_ACCESS_KEY_ID'),
      :secret_access_key => Config.env('AWS_SECRET_ACCESS_KEY'),
      :use_ssl => true
    )
  end

end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
vault-tools-0.5.5 lib/vault-tools/s3.rb
vault-tools-0.5.4 lib/vault-tools/s3.rb
vault-tools-0.5.3 lib/vault-tools/s3.rb
vault-tools-0.5.2 lib/vault-tools/s3.rb
vault-tools-0.5.1 lib/vault-tools/s3.rb
vault-tools-0.5.0 lib/vault-tools/s3.rb
vault-tools-0.4.15 lib/vault-tools/s3.rb
vault-tools-0.4.14 lib/vault-tools/s3.rb
vault-tools-0.4.13 lib/vault-tools/s3.rb
vault-tools-0.4.12 lib/vault-tools/s3.rb
vault-tools-0.4.11 lib/vault-tools/s3.rb