Class: Google::Cloud::Storage::Bucket::DefaultAcl
- Inherits:
-
Object
- Object
- Google::Cloud::Storage::Bucket::DefaultAcl
- Defined in:
- lib/google/cloud/storage/bucket/acl.rb
Overview
Bucket Default Access Control List
Represents a Bucket's Default Access Control List.
Instance Attribute Summary collapse
-
#user_project ⇒ Object
A boolean value or a project ID string to indicate the project to be billed for operations on the bucket and its files.
Instance Method Summary collapse
-
#add_owner(entity) ⇒ Object
Grants default owner permission to files in the bucket.
-
#add_reader(entity) ⇒ Object
Grants default reader permission to files in the bucket.
-
#auth! ⇒ Object
(also: #authenticatedRead!, #auth_read!, #authenticated!, #authenticated_read!)
Convenience method to apply the default
authenticatedReadpredefined ACL rule to files in the bucket. -
#delete(entity) ⇒ Object
Permanently deletes the entity from the bucket's default access control list for files.
-
#owner_full! ⇒ Object
(also: #bucketOwnerFullControl!)
Convenience method to apply the default
bucketOwnerFullControlpredefined ACL rule to files in the bucket. -
#owner_read! ⇒ Object
(also: #bucketOwnerRead!)
Convenience method to apply the default
bucketOwnerReadpredefined ACL rule to files in the bucket. -
#owners ⇒ Array<String>
Lists the default owners for files in the bucket.
-
#private! ⇒ Object
Convenience method to apply the default
privatepredefined ACL rule to files in the bucket. -
#project_private! ⇒ Object
(also: #projectPrivate!)
Convenience method to apply the default
projectPrivatepredefined ACL rule to files in the bucket. -
#public! ⇒ Object
(also: #publicRead!, #public_read!)
Convenience method to apply the default
publicReadpredefined ACL rule to files in the bucket. -
#readers ⇒ Array<String>
Lists the default readers for files in the bucket.
-
#reload! ⇒ Object
(also: #refresh!)
Reloads all Default Access Control List data for the bucket.
Instance Attribute Details
#user_project ⇒ Object
A boolean value or a project ID string to indicate the project to
be billed for operations on the bucket and its files. If this
attribute is set to true, transit costs for operations on the
bucket will be billed to the current project for this client. (See
Project#project for the ID of the current project.) If this
attribute is set to a project ID, and that project is authorized for
the currently authenticated service account, transit costs will be
billed to that project. This attribute is required with requester
pays-enabled buckets. The default is nil.
In general, this attribute should be set when first retrieving the
owning bucket by providing the user_project option to
Project#bucket.
See also Google::Cloud::Storage::Bucket#requester_pays= and Google::Cloud::Storage::Bucket#requester_pays.
492 493 494 |
# File 'lib/google/cloud/storage/bucket/acl.rb', line 492 def user_project @user_project end |
Instance Method Details
#add_owner(entity) ⇒ Object
Grants default owner permission to files in the bucket.
603 604 605 606 607 608 609 |
# File 'lib/google/cloud/storage/bucket/acl.rb', line 603 def add_owner entity gapi = @service.insert_default_acl @bucket, entity, "OWNER", user_project: user_project entity = gapi.entity @owners.push entity unless @owners.nil? entity end |
#add_reader(entity) ⇒ Object
Grants default reader permission to files in the bucket.
646 647 648 649 650 651 652 |
# File 'lib/google/cloud/storage/bucket/acl.rb', line 646 def add_reader entity gapi = @service.insert_default_acl @bucket, entity, "READER", user_project: user_project entity = gapi.entity @readers.push entity unless @readers.nil? entity end |
#auth! ⇒ Object Also known as: authenticatedRead!, auth_read!, authenticated!, authenticated_read!
Convenience method to apply the default authenticatedRead
predefined ACL rule to files in the bucket.
708 709 710 |
# File 'lib/google/cloud/storage/bucket/acl.rb', line 708 def auth! update_predefined_default_acl! "authenticatedRead" end |
#delete(entity) ⇒ Object
Permanently deletes the entity from the bucket's default access control list for files.
680 681 682 683 684 685 686 |
# File 'lib/google/cloud/storage/bucket/acl.rb', line 680 def delete entity @service.delete_default_acl @bucket, entity, user_project: user_project @owners.delete entity unless @owners.nil? @readers.delete entity unless @readers.nil? true end |
#owner_full! ⇒ Object Also known as: bucketOwnerFullControl!
Convenience method to apply the default bucketOwnerFullControl
predefined ACL rule to files in the bucket.
729 730 731 |
# File 'lib/google/cloud/storage/bucket/acl.rb', line 729 def owner_full! update_predefined_default_acl! "bucketOwnerFullControl" end |
#owner_read! ⇒ Object Also known as: bucketOwnerRead!
Convenience method to apply the default bucketOwnerRead
predefined ACL rule to files in the bucket.
747 748 749 |
# File 'lib/google/cloud/storage/bucket/acl.rb', line 747 def owner_read! update_predefined_default_acl! "bucketOwnerRead" end |
#owners ⇒ Array<String>
Lists the default owners for files in the bucket.
544 545 546 547 |
# File 'lib/google/cloud/storage/bucket/acl.rb', line 544 def owners reload! if @owners.nil? @owners end |
#private! ⇒ Object
Convenience method to apply the default private
predefined ACL rule to files in the bucket.
765 766 767 |
# File 'lib/google/cloud/storage/bucket/acl.rb', line 765 def private! update_predefined_default_acl! "private" end |
#project_private! ⇒ Object Also known as: projectPrivate!
Convenience method to apply the default projectPrivate
predefined ACL rule to files in the bucket.
782 783 784 |
# File 'lib/google/cloud/storage/bucket/acl.rb', line 782 def project_private! update_predefined_default_acl! "projectPrivate" end |
#public! ⇒ Object Also known as: publicRead!, public_read!
Convenience method to apply the default publicRead
predefined ACL rule to files in the bucket.
800 801 802 |
# File 'lib/google/cloud/storage/bucket/acl.rb', line 800 def public! update_predefined_default_acl! "publicRead" end |
#readers ⇒ Array<String>
Lists the default readers for files in the bucket.
563 564 565 566 |
# File 'lib/google/cloud/storage/bucket/acl.rb', line 563 def readers reload! if @readers.nil? @readers end |
#reload! ⇒ Object Also known as: refresh!
Reloads all Default Access Control List data for the bucket.
517 518 519 520 521 522 523 524 525 526 527 |
# File 'lib/google/cloud/storage/bucket/acl.rb', line 517 def reload! gapi = @service.list_default_acls @bucket, user_project: user_project acls = Array(gapi.items).map do |acl| next acl if acl.is_a? Google::Apis::StorageV1::ObjectAccessControl fail "Unknown ACL format: #{acl.class}" unless acl.is_a? Hash Google::Apis::StorageV1::ObjectAccessControl.from_json acl.to_json end @owners = entities_from_acls acls, "OWNER" @readers = entities_from_acls acls, "READER" end |