ExAws v1.0.0-beta1 ExAws.S3

Operations on AWS S3

Summary

Functions

Delete a bucket

Delete a bucket cors

Delete a bucket lifecycle

Delete a bucket policy

Delete a bucket replication

Delete a bucket tagging

Delete a bucket website

Delete multiple objects within a bucket

Delete object object in bucket

Get bucket acl

Get bucket cors

Get bucket lifecycle

Get bucket location

Get bucket logging

Get bucket notification

Get bucket policy

Get bucket replication

Get bucket payment configuration

Get bucket tagging

Get bucket versioning

Get bucket website

Get an object from a bucket

Get an object’s access control policy

Get a torrent for a bucket

Determine if a bucket exists

Determine of an object exists

List multipart uploads for a bucket

List objects in bucket

List the parts of a multipart upload

Restore an object to a particular version

Generates a pre-signed URL for this object

Creates a bucket. Same as create_bucket/2

Update or create a bucket bucket access control

Update or create a bucket CORS policy

Update or create a bucket lifecycle configuration

Update or create a bucket logging configuration

Update or create a bucket notification configuration

Update or create a bucket policy configuration

Update or create a bucket replication configuration

Update or create a bucket requestPayment configuration

Update or create a bucket tagging configuration

Update or create a bucket versioning configuration

Update or create a bucket website configuration

Create an object within a bucket

Create or update an object’s access control FIXME

Types

acl_opts :: [{:acl, canned_acl} | grant]
amz_meta_opts :: [{atom, binary} | {binary, binary}, ...]
canned_acl ::
  :private |
  :public_read |
  :public_read_write |
  :authenticated_read |
  :bucket_owner_read |
  :bucket_owner_full_control
customer_encryption_opts :: [customer_algorithm: binary, customer_key: binary, customer_key_md5: binary]
encryption_opts ::
  binary |
  [{:aws_kms_key_id, binary}] |
  customer_encryption_opts
get_object_response_opts :: [content_language: binary, expires: binary, cach_control: binary, content_disposition: binary, content_encoding: binary]
grant ::
  {:grant_read, grantee} |
  {:grant_read_acp, grantee} |
  {:grant_write_acp, grantee} |
  {:grant_full_control, grantee}
grantee :: [email: binary, id: binary, uri: binary]
head_object_opts :: [encryption: customer_encryption_opts, range: binary, if_modified_since: binary, if_unmodified_since: binary, if_match: binary, if_none_match: binary]
initiate_multipart_upload_opts :: [{:cache_control, binary} | {:content_disposition, binary} | {:content_encoding, binary} | {:content_type, binary} | {:expires, binary} | {:storage_class, :standard | :redunced_redundancy} | {:website_redirect_location, binary} | {:encryption, encryption_opts} | acl_opts]
list_objects_opts :: [delimiter: binary, marker: binary, prefix: binary, encoding_type: binary, max_keys: 0..1000]
presigned_url_opts :: [expires_in: integer, virtual_host: boolean]
pub_object_copy_opts :: [{:metadata_directive, :COPY | :REPLACE} | {:copy_source_if_modified_since, binary} | {:copy_source_if_unmodified_since, binary} | {:copy_source_if_match, binary} | {:copy_source_if_none_match, binary} | {:website_redirect_location, binary} | {:destination_encryption, encryption_opts} | {:source_encryption, customer_encryption_opts} | {:cache_control, binary} | {:content_disposition, binary} | {:content_encoding, binary} | {:content_length, binary} | {:content_type, binary} | {:expect, binary} | {:expires, binary} | {:storage_class, :standard | :redunced_redundancy} | {:website_redirect_location, binary} | {:meta, amz_meta_opts} | acl_opts]
put_object_opts :: [{:cache_control, binary} | {:content_disposition, binary} | {:content_encoding, binary} | {:content_length, binary} | {:content_type, binary} | {:expect, binary} | {:expires, binary} | {:storage_class, :standard | :redunced_redundancy} | {:website_redirect_location, binary} | {:encryption, encryption_opts} | {:meta, amz_meta_opts} | acl_opts]
upload_part_copy_opts :: [copy_source_range: Range.t, copy_source_if_modified_since: binary, copy_source_if_unmodified_since: binary, copy_source_if_match: binary, copy_source_if_none_match: binary, destination_encryption: encryption_opts, source_encryption: customer_encryption_opts]

Functions

abort_multipart_upload(bucket, object, upload_id)

Specs

abort_multipart_upload(bucket :: binary, object :: binary, upload_id :: binary) :: ExAws.Operation.S3.t

Abort a multipart upload

complete_multipart_upload(bucket, object, upload_id, parts)

Specs

complete_multipart_upload(bucket :: binary, object :: binary, upload_id :: binary, parts :: [{binary | pos_integer, binary}, ...]) :: ExAws.Operation.S3.t

Complete a multipart upload

delete_all_objects(bucket, objects, opts \\ [])

Specs

delete_all_objects(bucket :: binary, objects :: [binary | {binary, binary}, ...], opts :: [{:quiet, true}]) :: ExAws.Operation.S3DeleteAllObjects.t

Delete all listed objects.

When performed, this function will continue making delete_multiple_objects requests deleting 1000 objects at a time until all are deleted.

Can be streamed.

delete_bucket(bucket)

Specs

delete_bucket(bucket :: binary) :: ExAws.Operation.S3.t

Delete a bucket

delete_bucket_cors(bucket)

Specs

delete_bucket_cors(bucket :: binary) :: ExAws.Operation.S3.t

Delete a bucket cors

delete_bucket_lifecycle(bucket)

Specs

delete_bucket_lifecycle(bucket :: binary) :: ExAws.Operation.S3.t

Delete a bucket lifecycle

delete_bucket_policy(bucket)

Specs

delete_bucket_policy(bucket :: binary) :: ExAws.Operation.S3.t

Delete a bucket policy

delete_bucket_replication(bucket)

Specs

delete_bucket_replication(bucket :: binary) :: ExAws.Operation.S3.t

Delete a bucket replication

delete_bucket_tagging(bucket)

Specs

delete_bucket_tagging(bucket :: binary) :: ExAws.Operation.S3.t

Delete a bucket tagging

delete_bucket_website(bucket)

Specs

delete_bucket_website(bucket :: binary) :: ExAws.Operation.S3.t

Delete a bucket website

delete_multiple_objects(bucket, objects, opts \\ [])

Specs

delete_multiple_objects(bucket :: binary, objects :: [binary | {binary, binary}, ...], opts :: [{:quiet, true}]) :: ExAws.Operation.S3.t

Delete multiple objects within a bucket

Limited to 1000 objects.

delete_object(bucket, object, opts \\ [])

Delete object object in bucket

get_bucket_acl(bucket)

Specs

get_bucket_acl(bucket :: binary) :: ExAws.Operation.S3.t

Get bucket acl

get_bucket_cors(bucket)

Specs

get_bucket_cors(bucket :: binary) :: ExAws.Operation.S3.t

Get bucket cors

get_bucket_lifecycle(bucket)

Specs

get_bucket_lifecycle(bucket :: binary) :: ExAws.Operation.S3.t

Get bucket lifecycle

get_bucket_location(bucket)

Specs

get_bucket_location(bucket :: binary) :: ExAws.Operation.S3.t

Get bucket location

get_bucket_logging(bucket)

Specs

get_bucket_logging(bucket :: binary) :: ExAws.Operation.S3.t

Get bucket logging

get_bucket_notification(bucket)

Specs

get_bucket_notification(bucket :: binary) :: ExAws.Operation.S3.t

Get bucket notification

get_bucket_object_versions(bucket, opts \\ [])

Specs

get_bucket_object_versions(bucket :: binary, opts :: Keyword.t) :: ExAws.Operation.S3.t

Get bucket object versions

get_bucket_policy(bucket)

Specs

get_bucket_policy(bucket :: binary) :: ExAws.Operation.S3.t

Get bucket policy

get_bucket_replication(bucket)

Specs

get_bucket_replication(bucket :: binary) :: ExAws.Operation.S3.t

Get bucket replication

get_bucket_request_payment(bucket)

Specs

get_bucket_request_payment(bucket :: binary) :: ExAws.Operation.S3.t

Get bucket payment configuration

get_bucket_tagging(bucket)

Specs

get_bucket_tagging(bucket :: binary) :: ExAws.Operation.S3.t

Get bucket tagging

get_bucket_versioning(bucket)

Specs

get_bucket_versioning(bucket :: binary) :: ExAws.Operation.S3.t

Get bucket versioning

get_bucket_website(bucket)

Specs

get_bucket_website(bucket :: binary) :: ExAws.Operation.S3.t

Get bucket website

get_object(bucket, object, opts \\ [])

Specs

get_object(bucket :: binary, object :: binary, opts :: get_object_opts) :: ExAws.Operation.S3.t

Get an object from a bucket

get_object_acl(bucket, object, opts \\ [])

Specs

get_object_acl(bucket :: binary, object :: binary, opts :: Keyword.t) :: ExAws.Operation.S3.t

Get an object’s access control policy

get_object_torrent(bucket, object)

Specs

get_object_torrent(bucket :: binary, object :: binary) :: ExAws.Operation.S3.t

Get a torrent for a bucket

head_bucket(bucket)

Specs

head_bucket(bucket :: binary) :: ExAws.Operation.S3.t

Determine if a bucket exists

head_object(bucket, object, opts \\ [])

Specs

head_object(bucket :: binary, object :: binary, opts :: head_object_opts) :: ExAws.Operation.S3.t

Determine of an object exists

initiate_multipart_upload(bucket, object, opts \\ [])

Specs

initiate_multipart_upload(bucket :: binary, object :: binary, opts :: initiate_multipart_upload_opts) :: ExAws.Operation.S3.t

Initiate a multipart upload

list_buckets(opts \\ [])

Specs

list_buckets(opts :: Keyword.t) :: ExAws.Operation.S3.t

List buckets

list_multipart_uploads(bucket, opts \\ [])

Specs

list_multipart_uploads(bucket :: binary, opts :: Keyword.t) :: ExAws.Operation.S3.t

List multipart uploads for a bucket

list_objects(bucket, opts \\ [])

Specs

list_objects(bucket :: binary, opts :: list_objects_opts) :: ExAws.Operation.S3.t

List objects in bucket

Can be streamed.

list_parts(bucket, object, upload_id, opts \\ [])

Specs

list_parts(bucket :: binary, object :: binary, upload_id :: binary, opts :: Keyword.t) :: ExAws.Operation.S3.t

List the parts of a multipart upload

options_object(bucket, object, origin, request_method, request_headers \\ [])

Specs

options_object(bucket :: binary, object :: binary, origin :: binary, request_method :: atom, request_headers :: [binary]) :: ExAws.Operation.S3.t

Determine the CORS configuration for an object

post_object_restore(bucket, object, number_of_days, opts \\ [])

Specs

post_object_restore(bucket :: binary, object :: binary, number_of_days :: pos_integer, opts :: [{:version_id, binary}]) :: ExAws.Operation.S3.t

Restore an object to a particular version

presigned_url(config, http_method, bucket, object, opts \\ [])

Specs

presigned_url(config :: %{}, http_method :: atom, bucket :: binary, object :: binary, opts :: presigned_url_opts) ::
  {:ok, binary} |
  {:error, binary}

Generates a pre-signed URL for this object.

When option param :virtual_host is true, the {#bucket} name will be used as the hostname. This will cause the returned URL to be ‘http’ and not ‘https’.

put_bucket(bucket, region, opts \\ [])

Creates a bucket. Same as create_bucket/2

put_bucket_acl(bucket, grants)

Specs

put_bucket_acl(bucket :: binary, opts :: acl_opts) :: ExAws.Operation.S3.t

Update or create a bucket bucket access control

put_bucket_cors(bucket, cors_rules)

Specs

put_bucket_cors(bucket :: binary, cors_config :: %{}) :: ExAws.Operation.S3.t

Update or create a bucket CORS policy

put_bucket_lifecycle(bucket, livecycle_config)

Specs

put_bucket_lifecycle(bucket :: binary, lifecycle_config :: %{}) :: no_return

Update or create a bucket lifecycle configuration

put_bucket_logging(bucket, logging_config)

Specs

put_bucket_logging(bucket :: binary, logging_config :: %{}) :: no_return

Update or create a bucket logging configuration

put_bucket_notification(bucket, notification_config)

Specs

put_bucket_notification(bucket :: binary, notification_config :: %{}) :: no_return

Update or create a bucket notification configuration

put_bucket_policy(bucket, policy)

Specs

put_bucket_policy(bucket :: binary, policy :: %{}) :: ExAws.Operation.S3.t

Update or create a bucket policy configuration

put_bucket_replication(bucket, replication_config)

Specs

put_bucket_replication(bucket :: binary, replication_config :: %{}) :: no_return

Update or create a bucket replication configuration

put_bucket_request_payment(bucket, payer)

Specs

put_bucket_request_payment(bucket :: binary, payer :: :requester | :bucket_owner) :: no_return

Update or create a bucket requestPayment configuration

put_bucket_tagging(bucket, tags)

Specs

put_bucket_tagging(bucket :: binary, tags :: %{}) :: no_return

Update or create a bucket tagging configuration

put_bucket_versioning(bucket, version_config)

Specs

put_bucket_versioning(bucket :: binary, version_config :: binary) :: no_return

Update or create a bucket versioning configuration

put_bucket_website(bucket, website_config)

Specs

put_bucket_website(bucket :: binary, website_config :: binary) :: no_return

Update or create a bucket website configuration

put_object(bucket, object, body, opts \\ [])

Specs

put_object(bucket :: binary, object :: binary, body :: binary, opts :: put_object_opts) :: ExAws.Operation.S3.t

Create an object within a bucket

put_object_acl(bucket, object, acl)

Specs

put_object_acl(bucket :: binary, object :: binary, acl :: acl_opts) :: ExAws.Operation.S3.t

Create or update an object’s access control FIXME

put_object_copy(dest_bucket, dest_object, src_bucket, src_object, opts \\ [])

Specs

put_object_copy(dest_bucket :: binary, dest_object :: binary, src_bucket :: binary, src_object :: binary, opts :: pub_object_copy_opts) :: ExAws.Operation.S3.t

Copy an object

upload_part(bucket, object, upload_id, part_number, body, opts \\ [])

Specs

upload_part(bucket :: binary, object :: binary, upload_id :: binary, part_number :: pos_integer, body :: binary, opts :: [encryption_opts | {:expect, binary}]) :: ExAws.Operation.S3.t

Upload a part for a multipart upload

upload_part_copy(dest_bucket, dest_object, src_bucket, src_object, opts \\ [])

Specs

upload_part_copy(dest_bucket :: binary, dest_object :: binary, src_bucket :: binary, src_object :: binary, opts :: upload_part_copy_opts) :: ExAws.Operation.S3.t

Upload a part for a multipart copy