Class: Aws::S3::ObjectAcl

Inherits:
Object
  • Object
show all
Extended by:
Deprecations
Defined in:
lib/aws-sdk-s3/object_acl.rb

Defined Under Namespace

Classes: Collection

Read-Only Attributes collapse

Actions collapse

Associations collapse

Instance Method Summary collapse

Constructor Details

#initialize(bucket_name, object_key, options = {}) ⇒ ObjectAcl #initialize(options = {}) ⇒ ObjectAcl

Returns a new instance of ObjectAcl.

Overloads:

  • #initialize(bucket_name, object_key, options = {}) ⇒ ObjectAcl

    Options Hash (options):

  • #initialize(options = {}) ⇒ ObjectAcl

    Options Hash (options):

    • :bucket_name (required, String)
    • :object_key (required, String)
    • :client (Client)


21
22
23
24
25
26
27
# File 'lib/aws-sdk-s3/object_acl.rb', line 21

def initialize(*args)
  options = Hash === args.last ? args.pop.dup : {}
  @bucket_name = extract_bucket_name(args, options)
  @object_key = extract_object_key(args, options)
  @data = options.delete(:data)
  @client = options.delete(:client) || Client.new(options)
end

Instance Method Details

#bucket_nameString



32
33
34
# File 'lib/aws-sdk-s3/object_acl.rb', line 32

def bucket_name
  @bucket_name
end

#clientClient



62
63
64
# File 'lib/aws-sdk-s3/object_acl.rb', line 62

def client
  @client
end

#dataTypes::GetObjectAclOutput



85
86
87
88
# File 'lib/aws-sdk-s3/object_acl.rb', line 85

def data
  load unless @data
  @data
end

#data_loaded?Boolean



93
94
95
# File 'lib/aws-sdk-s3/object_acl.rb', line 93

def data_loaded?
  !!@data
end

#grantsArray<Types::Grant>

A list of grants.



48
49
50
# File 'lib/aws-sdk-s3/object_acl.rb', line 48

def grants
  data.grants
end

#identifiersObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Deprecated.


178
179
180
181
182
183
# File 'lib/aws-sdk-s3/object_acl.rb', line 178

def identifiers
  {
    bucket_name: @bucket_name,
    object_key: @object_key
  }
end

#loadself Also known as: reload

Loads, or reloads #data for the current Aws::S3::ObjectAcl. Returns ‘self` making it possible to chain methods.

object_acl.reload.data


72
73
74
75
76
77
78
79
# File 'lib/aws-sdk-s3/object_acl.rb', line 72

def load
  resp = @client.get_object_acl(
    bucket: @bucket_name,
    key: @object_key
  )
  @data = resp.data
  self
end

#objectObject



168
169
170
171
172
173
174
# File 'lib/aws-sdk-s3/object_acl.rb', line 168

def object
  Object.new(
    bucket_name: @bucket_name,
    key: @object_key,
    client: @client
  )
end

#object_keyString



37
38
39
# File 'lib/aws-sdk-s3/object_acl.rb', line 37

def object_key
  @object_key
end

#ownerTypes::Owner



42
43
44
# File 'lib/aws-sdk-s3/object_acl.rb', line 42

def owner
  data.owner
end

#put(options = {}) ⇒ Types::PutObjectAclOutput

Examples:

Request syntax with placeholder values


object_acl.put({
  acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
  access_control_policy: {
    grants: [
      {
        grantee: {
          display_name: "DisplayName",
          email_address: "EmailAddress",
          id: "ID",
          type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group
          uri: "URI",
        },
        permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
      },
    ],
    owner: {
      display_name: "DisplayName",
      id: "ID",
    },
  },
  content_md5: "ContentMD5",
  grant_full_control: "GrantFullControl",
  grant_read: "GrantRead",
  grant_read_acp: "GrantReadACP",
  grant_write: "GrantWrite",
  grant_write_acp: "GrantWriteACP",
  request_payer: "requester", # accepts requester
  version_id: "ObjectVersionId",
})

Options Hash (options):

  • :acl (String)

    The canned ACL to apply to the object.

  • :access_control_policy (Types::AccessControlPolicy)
  • :content_md5 (String)
  • :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.

  • :request_payer (String)

    Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html

  • :version_id (String)

    VersionId used to reference a specific version of the object.



156
157
158
159
160
161
162
163
# File 'lib/aws-sdk-s3/object_acl.rb', line 156

def put(options = {})
  options = options.merge(
    bucket: @bucket_name,
    key: @object_key
  )
  resp = @client.put_object_acl(options)
  resp.data
end

#request_chargedString

If present, indicates that the requester was successfully charged for the request.



55
56
57
# File 'lib/aws-sdk-s3/object_acl.rb', line 55

def request_charged
  data.request_charged
end