Module: S3

Extended by:
ModuleMethods
Defined in:
lib/s3.rb,
lib/s3/errors.rb,
lib/s3/helpers.rb,
lib/s3/request.rb,
lib/s3/service.rb,
lib/s3/version.rb,
lib/s3/error_result.rb,
lib/s3/bucket_methods.rb,
lib/s3/module_methods.rb,
lib/s3/object_methods.rb,
lib/s3/schema_options.rb,
lib/s3/presign_methods.rb,
lib/s3/response_methods.rb,
lib/s3/multipart_methods.rb,
lib/s3/object_put_result.rb,
lib/s3/bucket_head_result.rb,
lib/s3/bucket_list_result.rb,
lib/s3/object_copy_result.rb,
lib/s3/object_get_request.rb,
lib/s3/object_head_result.rb,
lib/s3/object_list_result.rb,
lib/s3/object_put_options.rb,
lib/s3/object_put_request.rb,
lib/s3/bucket_head_request.rb,
lib/s3/bucket_list_request.rb,
lib/s3/object_copy_options.rb,
lib/s3/object_copy_request.rb,
lib/s3/object_head_request.rb,
lib/s3/object_list_options.rb,
lib/s3/object_list_request.rb,
lib/s3/presign_get_options.rb,
lib/s3/presign_get_request.rb,
lib/s3/presign_put_options.rb,
lib/s3/presign_put_request.rb,
lib/s3/bucket_create_options.rb,
lib/s3/bucket_create_request.rb,
lib/s3/bucket_delete_request.rb,
lib/s3/multipart_list_result.rb,
lib/s3/object_delete_request.rb,
lib/s3/multipart_list_options.rb,
lib/s3/multipart_list_request.rb,
lib/s3/multipart_parts_result.rb,
lib/s3/multipart_abort_request.rb,
lib/s3/multipart_create_result.rb,
lib/s3/multipart_parts_options.rb,
lib/s3/multipart_parts_request.rb,
lib/s3/multipart_upload_result.rb,
lib/s3/multipart_create_options.rb,
lib/s3/multipart_create_request.rb,
lib/s3/multipart_upload_request.rb,
lib/s3/multipart_complete_result.rb,
lib/s3/multipart_complete_options.rb,
lib/s3/multipart_complete_request.rb,
lib/s3/object_delete_batch_result.rb,
lib/s3/object_delete_batch_request.rb

Defined Under Namespace

Modules: BucketMethods, Helpers, ModuleMethods, MultipartMethods, ObjectMethods, PresignMethods, ResponseMethods, SchemaOptions Classes: AccessDeniedError, AuthenticationError, BucketAlreadyExistsError, BucketCreateOptions, BucketCreateRequest, BucketDeleteRequest, BucketEntry, BucketHeadRequest, BucketHeadResult, BucketListRequest, BucketListResult, BucketNotEmptyError, BucketNotFoundError, DeleteError, DeletedObject, EntityTooLargeError, EntityTooSmallError, Error, ErrorResult, InternalError, InvalidBucketNameError, InvalidPartError, InvalidPartOrderError, InvalidRequestError, MultipartAbortRequest, MultipartCompleteOptions, MultipartCompleteRequest, MultipartCompleteResult, MultipartCreateOptions, MultipartCreateRequest, MultipartCreateResult, MultipartListOptions, MultipartListRequest, MultipartListResult, MultipartPartsOptions, MultipartPartsRequest, MultipartPartsResult, MultipartUploadEntry, MultipartUploadRequest, MultipartUploadResult, NetworkError, NoSuchKeyError, NoSuchUploadError, ObjectCopyOptions, ObjectCopyRequest, ObjectCopyResult, ObjectDeleteBatchRequest, ObjectDeleteBatchResult, ObjectDeleteRequest, ObjectEntry, ObjectGetRequest, ObjectHeadRequest, ObjectHeadResult, ObjectListOptions, ObjectListRequest, ObjectListResult, ObjectPutOptions, ObjectPutRequest, ObjectPutResult, Owner, PartEntry, PresignGetOptions, PresignGetRequest, PresignPutOptions, PresignPutRequest, Request, Service, ServiceUnavailableError, TimeoutError

Constant Summary collapse

ERROR_CODE_MAP =
{
  'InvalidAccessKeyId'              => AuthenticationError,
  'SignatureDoesNotMatch'           => AuthenticationError,
  'AccessDenied'                    => AccessDeniedError,
  'NoSuchBucket'                    => BucketNotFoundError,
  'BucketAlreadyExists'             => BucketAlreadyExistsError,
  'BucketAlreadyOwnedByYou'         => BucketAlreadyExistsError,
  'BucketNotEmpty'                  => BucketNotEmptyError,
  'InvalidBucketName'               => InvalidBucketNameError,
  'NoSuchKey'                       => NoSuchKeyError,
  'EntityTooLarge'                  => EntityTooLargeError,
  'EntityTooSmall'                  => EntityTooSmallError,
  'NoSuchUpload'                    => NoSuchUploadError,
  'InvalidPart'                     => InvalidPartError,
  'InvalidPartOrder'                => InvalidPartOrderError,
  'MalformedXML'                    => InvalidRequestError,
  'InvalidArgument'                 => InvalidRequestError,
  'ServiceUnavailable'              => ServiceUnavailableError,
  'SlowDown'                        => ServiceUnavailableError,
  'InternalError'                   => InternalError,
  'RequestTimeout'                  => TimeoutError
}.freeze
VERSION =
'1.1.0'
ObjectPutResultSchema =
DynamicSchema::Struct.define do
  etag                String
  version_id          String
end
BucketHeadResultSchema =
DynamicSchema::Struct.define do
  region              String
end
OwnerSchema =
DynamicSchema::Struct.define do
  id                  String
  display_name        String
end
BucketEntrySchema =
DynamicSchema::Struct.define do
  name                String
  creation_date       Time
end
BucketListResultSchema =
DynamicSchema::Struct.define do
  buckets             BucketEntry,        array: true
  owner               Owner
end
ObjectCopyResultSchema =
DynamicSchema::Struct.define do
  etag                String
  last_modified       Time
end
ObjectHeadResultSchema =
DynamicSchema::Struct.define do
  content_type        String
  content_length      Integer
  last_modified       Time
  etag                String
  storage_class       String
  version_id          String
              Hash
end
ObjectEntrySchema =
DynamicSchema::Struct.define do
  key                 String
  size                Integer
  last_modified       Time
  etag                String
  storage_class       String
end
ObjectListResultSchema =
DynamicSchema::Struct.define do
  contents            ObjectEntry,        array: true
  common_prefixes     String,             array: true
  is_truncated        [ TrueClass, FalseClass ]
  next_continuation_token String
  key_count           Integer
  name                String
  prefix              String
  max_keys            Integer
end
MultipartUploadEntrySchema =
DynamicSchema::Struct.define do
  key                 String
  upload_id           String
  initiated           Time
  storage_class       String
end
MultipartListResultSchema =
DynamicSchema::Struct.define do
  bucket              String
  uploads             MultipartUploadEntry, array: true
  is_truncated        [ TrueClass, FalseClass ]
  next_key_marker     String
  next_upload_id_marker String
end
PartEntrySchema =
DynamicSchema::Struct.define do
  part_number         Integer
  etag                String
  size                Integer
  last_modified       Time
end
MultipartPartsResultSchema =
DynamicSchema::Struct.define do
  bucket              String
  key                 String
  upload_id           String
  parts               PartEntry,          array: true
  is_truncated        [ TrueClass, FalseClass ]
  next_part_number_marker Integer
end
MultipartCreateResultSchema =
DynamicSchema::Struct.define do
  bucket              String
  key                 String
  upload_id           String
end
MultipartUploadResultSchema =
DynamicSchema::Struct.define do
  etag                String
  part_number         Integer
end
MultipartCompleteResultSchema =
DynamicSchema::Struct.define do
  location            String
  bucket              String
  key                 String
  etag                String
end
DeletedObjectSchema =
DynamicSchema::Struct.define do
  key                 String
  version_id          String
  delete_marker       [ TrueClass, FalseClass ]
  delete_marker_version_id String
end
DeleteErrorSchema =
DynamicSchema::Struct.define do
  key                 String
  version_id          String
  code                String
  message             String
end
ObjectDeleteBatchResultSchema =
DynamicSchema::Struct.define do
  deleted             DeletedObject,      array: true
  errors              DeleteError,        array: true
end

Class Attribute Summary collapse

Class Method Summary collapse

Methods included from ModuleMethods

configure

Methods included from PresignMethods

#presign_get, #presign_put

Methods included from MultipartMethods

#multipart_abort, #multipart_complete, #multipart_create, #multipart_list, #multipart_parts, #multipart_upload

Methods included from ObjectMethods

#object_copy, #object_delete, #object_delete_batch, #object_exists?, #object_get, #object_head, #object_list, #object_metadata_set, #object_put

Methods included from BucketMethods

#bucket_create, #bucket_delete, #bucket_exists?, #bucket_head, #bucket_list

Class Attribute Details

.access_key_id ⇒ Object

Returns the value of attribute access_key_id.



76
77
78
# File 'lib/s3.rb', line 76

def access_key_id
  @access_key_id
end

.connection ⇒ Object

Returns the value of attribute connection.



76
77
78
# File 'lib/s3.rb', line 76

def connection
  @connection
end

.endpoint ⇒ Object

Returns the value of attribute endpoint.



76
77
78
# File 'lib/s3.rb', line 76

def endpoint
  @endpoint
end

.region ⇒ Object

Returns the value of attribute region.



76
77
78
# File 'lib/s3.rb', line 76

def region
  @region
end

.secret_access_key ⇒ Object

Returns the value of attribute secret_access_key.



76
77
78
# File 'lib/s3.rb', line 76

def secret_access_key
  @secret_access_key
end

Class Method Details

.build_error(code:, message:, request_id: nil, resource: nil) ⇒ Object



67
68
69
70
# File 'lib/s3/errors.rb', line 67

def self.build_error( code:, message:, request_id: nil, resource: nil )
  error_class = ERROR_CODE_MAP[ code ] || Error
  error_class.new( message, code: code, request_id: request_id, resource: resource )
end