Class ACL (1.19.0)

ACL()

Container class representing a list of access controls.

Properties

client

Abstract getter for the object client.

Methods

add_entity

add_entity(entity)

Add an entity to the ACL.

Parameter
NameDescription
entity _ACLEntity

The entity to add to this ACL.

all

all()

Factory method for an Entity representing all users.

Returns
TypeDescription
_ACLEntityAn entity representing all users.

all_authenticated

all_authenticated()

Factory method for an Entity representing all authenticated users.

Returns
TypeDescription
_ACLEntityAn entity representing all authenticated users.

clear

clear(client=None)

Remove all ACL entries.

If user_project is set, bills the API request to that project.

Note that this won't actually remove ALL the rules, but it will remove all the non-default rules. In short, you'll still have access to a bucket that you created even after you clear ACL rules with this method.

Parameter
NameDescription
client Client or NoneType

Optional. The client to use. If not passed, falls back to the client stored on the ACL's parent.

domain

domain(domain)

Factory method for a domain Entity.

Parameter
NameDescription
domain str

The domain for this entity.

Returns
TypeDescription
_ACLEntityAn entity corresponding to this domain.

entity

entity(entity_type, identifier=None)

Factory method for creating an Entity.

If an entity with the same type and identifier already exists, this will return a reference to that entity. If not, it will create a new one and add it to the list of known entities for this ACL.

Parameters
NameDescription
entity_type str

The type of entity to create (ie, user, group, etc)

identifier str

The ID of the entity (if applicable). This can be either an ID or an e-mail address.

Returns
TypeDescription
_ACLEntityA new Entity or a reference to an existing identical entity.

entity_from_dict

entity_from_dict(entity_dict)

Build an _ACLEntity object from a dictionary of data.

An entity is a mutable object that represents a list of roles belonging to either a user or group or the special types for all users and all authenticated users.

Parameter
NameDescription
entity_dict dict

Dictionary full of data from an ACL lookup.

Returns
TypeDescription
_ACLEntityAn Entity constructed from the dictionary.

get_entities

get_entities()

Get a list of all Entity objects.

Returns
TypeDescription
list of _ACLEntity objectsA list of all Entity objects.

get_entity

get_entity(entity, default=None)

Gets an entity object from the ACL.

Parameters
NameDescription
entity _ACLEntity or string

The entity to get lookup in the ACL.

default anything

This value will be returned if the entity doesn't exist.

Returns
TypeDescription
_ACLEntityThe corresponding entity or the value provided to default.

group

group(identifier)

Factory method for a group Entity.

Parameter
NameDescription
identifier str

An id or e-mail for this particular group.

Returns
TypeDescription
_ACLEntityAn Entity corresponding to this group.

has_entity

has_entity(entity)

Returns whether or not this ACL has any entries for an entity.

Parameter
NameDescription
entity _ACLEntity

The entity to check for existence in this ACL.

Returns
TypeDescription
boolTrue of the entity exists in the ACL.

reload

reload(client=None)

Reload the ACL data from Cloud Storage.

If user_project is set, bills the API request to that project.

Parameter
NameDescription
client Client or NoneType

Optional. The client to use. If not passed, falls back to the client stored on the ACL's parent.

reset

reset()

Remove all entities from the ACL, and clear the loaded flag.

save

save(acl=None, client=None)

Save this ACL for the current bucket.

If user_project is set, bills the API request to that project.

Parameters
NameDescription
acl ACL, or a compatible list.

The ACL object to save. If left blank, this will save current entries.

client Client or NoneType

Optional. The client to use. If not passed, falls back to the client stored on the ACL's parent.

save_predefined

save_predefined(predefined, client=None)

Save this ACL for the current bucket using a predefined ACL.

If user_project is set, bills the API request to that project.

Parameters
NameDescription
predefined str

An identifier for a predefined ACL. Must be one of the keys in PREDEFINED_JSON_ACLS or PREDEFINED_XML_ACLS (which will be aliased to the corresponding JSON name). If passed, acl must be None.

client Client or NoneType

Optional. The client to use. If not passed, falls back to the client stored on the ACL's parent.

user

user(identifier)

Factory method for a user Entity.

Parameter
NameDescription
identifier str

An id or e-mail for this particular user.

Returns
TypeDescription
_ACLEntityAn Entity corresponding to this user.

validate_predefined

validate_predefined(predefined)

Ensures predefined is in list of predefined json values

Parameter
NameDescription
predefined str

validated JSON name of predefined acl

Exceptions
TypeDescription
:excValueError: If predefined is not a valid acl