You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::S3::Resource

Inherits:
Object
  • Object
show all
Defined in:
gems/aws-sdk-s3/lib/aws-sdk-s3/resource.rb

Actions collapse

Associations collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Resource

Returns a new instance of Resource

Parameters:

  • options ({}) (defaults to: {})

Options Hash (options):



13
14
15
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/resource.rb', line 13

def initialize(options = {})
  @client = options[:client] || Client.new(options)
end

Instance Method Details

#bucket(name) ⇒ Bucket

Parameters:

  • name (String)

Returns:



68
69
70
71
72
73
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/resource.rb', line 68

def bucket(name)
  Bucket.new(
    name: name,
    client: @client
  )
end

#buckets(options = {}) ⇒ Bucket::Collection

Examples:

Request syntax with placeholder values


s3.buckets()

Parameters:

  • options (Hash) (defaults to: {})

    ({})

Returns:



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/resource.rb', line 80

def buckets(options = {})
  batches = Enumerator.new do |y|
    batch = []
    resp = @client.list_buckets(options)
    resp.data.buckets.each do |b|
      batch << Bucket.new(
        name: b.name,
        data: b,
        client: @client
      )
    end
    y.yield(batch)
  end
  Bucket::Collection.new(batches)
end

#clientClient

Returns:



18
19
20
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/resource.rb', line 18

def client
  @client
end

#create_bucket(options = {}) ⇒ Bucket

Examples:

Request syntax with placeholder values


bucket = s3.create_bucket({
  acl: "private", # accepts private, public-read, public-read-write, authenticated-read
  bucket: "BucketName", # required
  create_bucket_configuration: {
    location_constraint: "EU", # accepts EU, eu-west-1, us-west-1, us-west-2, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1, cn-north-1, eu-central-1
  },
  grant_full_control: "GrantFullControl",
  grant_read: "GrantRead",
  grant_read_acp: "GrantReadACP",
  grant_write: "GrantWrite",
  grant_write_acp: "GrantWriteACP",
})

Parameters:

  • options (Hash) (defaults to: {})

    ({})

Options Hash (options):

  • :acl (String)

    The canned ACL to apply to the bucket.

  • :bucket (required, String)
  • :create_bucket_configuration (Types::CreateBucketConfiguration)
  • :grant_full_control (String)

    Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

  • :grant_read (String)

    Allows grantee to list the objects in the bucket.

  • :grant_read_acp (String)

    Allows grantee to read the bucket ACL.

  • :grant_write (String)

    Allows grantee to create, overwrite, and delete any object in the bucket.

  • :grant_write_acp (String)

    Allows grantee to write the ACL for the applicable bucket.

Returns:



56
57
58
59
60
61
62
# File 'gems/aws-sdk-s3/lib/aws-sdk-s3/resource.rb', line 56

def create_bucket(options = {})
  resp = @client.create_bucket(options)
  Bucket.new(
    name: options[:bucket],
    client: @client
  )
end