Cloud Storage JSON API . buckets

Instance Methods

delete(bucket)

Deletes an empty bucket.

get(bucket, projection=None)

Returns metadata for the specified bucket.

insert(body, projection=None)

Creates a new bucket.

list(projectId, projection=None, pageToken=None, max_results=None)

Retrieves a list of buckets for a given project.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(bucket, body, projection=None)

Updates a bucket. This method supports patch semantics.

update(bucket, body, projection=None)

Updates a bucket.

Method Details

delete(bucket)
Deletes an empty bucket.

Args:
  bucket: string, Name of a bucket. (required)
get(bucket, projection=None)
Returns metadata for the specified bucket.

Args:
  bucket: string, Name of a bucket. (required)
  projection: string, Set of properties to return. Defaults to no_acl.
    Allowed values
      full - Include all properties.
      no_acl - Omit acl and defaultObjectAcl properties.

Returns:
  An object of the form:

    { # A bucket.
      "website": { # The bucket's website configuration.
        "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
        "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
      },
      "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
      "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
      "projectId": "A String", # The project the bucket belongs to.
      "acl": [ # Access controls on the bucket.
        { # An access-control entry.
            "domain": "A String", # The domain associated with the entity, if any.
            "bucket": "A String", # The name of the bucket.
            "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
            "id": "A String", # The ID of the access-control entry.
            "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
            "entityId": "A String", # The ID for the entity, if any.
            "entity": "A String", # The entity holding the permission, in one of the following forms:
                # - user-userId
                # - user-email
                # - group-groupId
                # - group-email
                # - domain-domain
                # - allUsers
                # - allAuthenticatedUsers Examples:
                # - The user liz@example.com would be user-liz@example.com.
                # - The group example@googlegroups.com would be group-example@googlegroups.com.
                # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
            "email": "A String", # The email address associated with the entity, if any.
            "selfLink": "A String", # The link to this access-control entry.
          },
      ],
      "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
        { # An access-control entry.
          "domain": "A String", # The domain associated with the entity, if any.
          "object": "A String", # The name of the object.
          "bucket": "A String", # The name of the bucket.
          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
          "id": "A String", # The ID of the access-control entry.
          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
          "entityId": "A String", # The ID for the entity, if any.
          "entity": "A String", # The entity holding the permission, in one of the following forms:
              # - user-userId
              # - user-email
              # - group-groupId
              # - group-email
              # - domain-domain
              # - allUsers
              # - allAuthenticatedUsers Examples:
              # - The user liz@example.com would be user-liz@example.com.
              # - The group example@googlegroups.com would be group-example@googlegroups.com.
              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
          "email": "A String", # The email address associated with the entity, if any.
          "selfLink": "A String", # The link to this access-control entry.
        },
      ],
      "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage in this location. Can be US or EU. Defaults to US.
      "owner": { # The owner of the bucket. This will always be the project team's owner group.
        "entityId": "A String", # The ID for the entity.
        "entity": "A String", # The entity, in the form group-groupId.
      },
      "id": "A String", # The name of the bucket.
      "selfLink": "A String", # The URI of this bucket.
    }
insert(body, projection=None)
Creates a new bucket.

Args:
  body: object, The request body. (required)
    The object takes the form of:

{ # A bucket.
    "website": { # The bucket's website configuration.
      "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
      "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
    },
    "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
    "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
    "projectId": "A String", # The project the bucket belongs to.
    "acl": [ # Access controls on the bucket.
      { # An access-control entry.
          "domain": "A String", # The domain associated with the entity, if any.
          "bucket": "A String", # The name of the bucket.
          "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
          "id": "A String", # The ID of the access-control entry.
          "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
          "entityId": "A String", # The ID for the entity, if any.
          "entity": "A String", # The entity holding the permission, in one of the following forms:
              # - user-userId
              # - user-email
              # - group-groupId
              # - group-email
              # - domain-domain
              # - allUsers
              # - allAuthenticatedUsers Examples:
              # - The user liz@example.com would be user-liz@example.com.
              # - The group example@googlegroups.com would be group-example@googlegroups.com.
              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
          "email": "A String", # The email address associated with the entity, if any.
          "selfLink": "A String", # The link to this access-control entry.
        },
    ],
    "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
      { # An access-control entry.
        "domain": "A String", # The domain associated with the entity, if any.
        "object": "A String", # The name of the object.
        "bucket": "A String", # The name of the bucket.
        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
        "id": "A String", # The ID of the access-control entry.
        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
        "entityId": "A String", # The ID for the entity, if any.
        "entity": "A String", # The entity holding the permission, in one of the following forms:
            # - user-userId
            # - user-email
            # - group-groupId
            # - group-email
            # - domain-domain
            # - allUsers
            # - allAuthenticatedUsers Examples:
            # - The user liz@example.com would be user-liz@example.com.
            # - The group example@googlegroups.com would be group-example@googlegroups.com.
            # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
        "email": "A String", # The email address associated with the entity, if any.
        "selfLink": "A String", # The link to this access-control entry.
      },
    ],
    "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage in this location. Can be US or EU. Defaults to US.
    "owner": { # The owner of the bucket. This will always be the project team's owner group.
      "entityId": "A String", # The ID for the entity.
      "entity": "A String", # The entity, in the form group-groupId.
    },
    "id": "A String", # The name of the bucket.
    "selfLink": "A String", # The URI of this bucket.
  }

  projection: string, Set of properties to return. Defaults to no_acl, unless the bucket resource specifies acl or defaultObjectAcl properties, when it defaults to full.
    Allowed values
      full - Include all properties.
      no_acl - Omit acl and defaultObjectAcl properties.

Returns:
  An object of the form:

    { # A bucket.
      "website": { # The bucket's website configuration.
        "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
        "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
      },
      "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
      "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
      "projectId": "A String", # The project the bucket belongs to.
      "acl": [ # Access controls on the bucket.
        { # An access-control entry.
            "domain": "A String", # The domain associated with the entity, if any.
            "bucket": "A String", # The name of the bucket.
            "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
            "id": "A String", # The ID of the access-control entry.
            "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
            "entityId": "A String", # The ID for the entity, if any.
            "entity": "A String", # The entity holding the permission, in one of the following forms:
                # - user-userId
                # - user-email
                # - group-groupId
                # - group-email
                # - domain-domain
                # - allUsers
                # - allAuthenticatedUsers Examples:
                # - The user liz@example.com would be user-liz@example.com.
                # - The group example@googlegroups.com would be group-example@googlegroups.com.
                # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
            "email": "A String", # The email address associated with the entity, if any.
            "selfLink": "A String", # The link to this access-control entry.
          },
      ],
      "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
        { # An access-control entry.
          "domain": "A String", # The domain associated with the entity, if any.
          "object": "A String", # The name of the object.
          "bucket": "A String", # The name of the bucket.
          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
          "id": "A String", # The ID of the access-control entry.
          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
          "entityId": "A String", # The ID for the entity, if any.
          "entity": "A String", # The entity holding the permission, in one of the following forms:
              # - user-userId
              # - user-email
              # - group-groupId
              # - group-email
              # - domain-domain
              # - allUsers
              # - allAuthenticatedUsers Examples:
              # - The user liz@example.com would be user-liz@example.com.
              # - The group example@googlegroups.com would be group-example@googlegroups.com.
              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
          "email": "A String", # The email address associated with the entity, if any.
          "selfLink": "A String", # The link to this access-control entry.
        },
      ],
      "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage in this location. Can be US or EU. Defaults to US.
      "owner": { # The owner of the bucket. This will always be the project team's owner group.
        "entityId": "A String", # The ID for the entity.
        "entity": "A String", # The entity, in the form group-groupId.
      },
      "id": "A String", # The name of the bucket.
      "selfLink": "A String", # The URI of this bucket.
    }
list(projectId, projection=None, pageToken=None, max_results=None)
Retrieves a list of buckets for a given project.

Args:
  projectId: string, A valid API project identifier. (required)
  projection: string, Set of properties to return. Defaults to no_acl.
    Allowed values
      full - Include all properties.
      no_acl - Omit acl and defaultObjectAcl properties.
  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
  max_results: integer, Maximum number of buckets to return.

Returns:
  An object of the form:

    { # A list of buckets.
    "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
    "items": [ # The list of items.
      { # A bucket.
          "website": { # The bucket's website configuration.
            "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
            "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
          },
          "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
          "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
          "projectId": "A String", # The project the bucket belongs to.
          "acl": [ # Access controls on the bucket.
            { # An access-control entry.
                "domain": "A String", # The domain associated with the entity, if any.
                "bucket": "A String", # The name of the bucket.
                "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
                "id": "A String", # The ID of the access-control entry.
                "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
                "entityId": "A String", # The ID for the entity, if any.
                "entity": "A String", # The entity holding the permission, in one of the following forms:
                    # - user-userId
                    # - user-email
                    # - group-groupId
                    # - group-email
                    # - domain-domain
                    # - allUsers
                    # - allAuthenticatedUsers Examples:
                    # - The user liz@example.com would be user-liz@example.com.
                    # - The group example@googlegroups.com would be group-example@googlegroups.com.
                    # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
                "email": "A String", # The email address associated with the entity, if any.
                "selfLink": "A String", # The link to this access-control entry.
              },
          ],
          "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
            { # An access-control entry.
              "domain": "A String", # The domain associated with the entity, if any.
              "object": "A String", # The name of the object.
              "bucket": "A String", # The name of the bucket.
              "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
              "id": "A String", # The ID of the access-control entry.
              "role": "A String", # The access permission for the entity. Can be READER or OWNER.
              "entityId": "A String", # The ID for the entity, if any.
              "entity": "A String", # The entity holding the permission, in one of the following forms:
                  # - user-userId
                  # - user-email
                  # - group-groupId
                  # - group-email
                  # - domain-domain
                  # - allUsers
                  # - allAuthenticatedUsers Examples:
                  # - The user liz@example.com would be user-liz@example.com.
                  # - The group example@googlegroups.com would be group-example@googlegroups.com.
                  # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
              "email": "A String", # The email address associated with the entity, if any.
              "selfLink": "A String", # The link to this access-control entry.
            },
          ],
          "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage in this location. Can be US or EU. Defaults to US.
          "owner": { # The owner of the bucket. This will always be the project team's owner group.
            "entityId": "A String", # The ID for the entity.
            "entity": "A String", # The entity, in the form group-groupId.
          },
          "id": "A String", # The name of the bucket.
          "selfLink": "A String", # The URI of this bucket.
        },
    ],
    "kind": "storage#buckets", # The kind of item this is. For lists of buckets, this is always storage#buckets.
  }
list_next(previous_request, previous_response)
Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call 'execute()' on to request the next
  page. Returns None if there are no more items in the collection.
    
patch(bucket, body, projection=None)
Updates a bucket. This method supports patch semantics.

Args:
  bucket: string, Name of a bucket. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # A bucket.
    "website": { # The bucket's website configuration.
      "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
      "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
    },
    "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
    "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
    "projectId": "A String", # The project the bucket belongs to.
    "acl": [ # Access controls on the bucket.
      { # An access-control entry.
          "domain": "A String", # The domain associated with the entity, if any.
          "bucket": "A String", # The name of the bucket.
          "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
          "id": "A String", # The ID of the access-control entry.
          "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
          "entityId": "A String", # The ID for the entity, if any.
          "entity": "A String", # The entity holding the permission, in one of the following forms:
              # - user-userId
              # - user-email
              # - group-groupId
              # - group-email
              # - domain-domain
              # - allUsers
              # - allAuthenticatedUsers Examples:
              # - The user liz@example.com would be user-liz@example.com.
              # - The group example@googlegroups.com would be group-example@googlegroups.com.
              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
          "email": "A String", # The email address associated with the entity, if any.
          "selfLink": "A String", # The link to this access-control entry.
        },
    ],
    "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
      { # An access-control entry.
        "domain": "A String", # The domain associated with the entity, if any.
        "object": "A String", # The name of the object.
        "bucket": "A String", # The name of the bucket.
        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
        "id": "A String", # The ID of the access-control entry.
        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
        "entityId": "A String", # The ID for the entity, if any.
        "entity": "A String", # The entity holding the permission, in one of the following forms:
            # - user-userId
            # - user-email
            # - group-groupId
            # - group-email
            # - domain-domain
            # - allUsers
            # - allAuthenticatedUsers Examples:
            # - The user liz@example.com would be user-liz@example.com.
            # - The group example@googlegroups.com would be group-example@googlegroups.com.
            # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
        "email": "A String", # The email address associated with the entity, if any.
        "selfLink": "A String", # The link to this access-control entry.
      },
    ],
    "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage in this location. Can be US or EU. Defaults to US.
    "owner": { # The owner of the bucket. This will always be the project team's owner group.
      "entityId": "A String", # The ID for the entity.
      "entity": "A String", # The entity, in the form group-groupId.
    },
    "id": "A String", # The name of the bucket.
    "selfLink": "A String", # The URI of this bucket.
  }

  projection: string, Set of properties to return. Defaults to full.
    Allowed values
      full - Include all properties.
      no_acl - Omit acl and defaultObjectAcl properties.

Returns:
  An object of the form:

    { # A bucket.
      "website": { # The bucket's website configuration.
        "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
        "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
      },
      "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
      "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
      "projectId": "A String", # The project the bucket belongs to.
      "acl": [ # Access controls on the bucket.
        { # An access-control entry.
            "domain": "A String", # The domain associated with the entity, if any.
            "bucket": "A String", # The name of the bucket.
            "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
            "id": "A String", # The ID of the access-control entry.
            "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
            "entityId": "A String", # The ID for the entity, if any.
            "entity": "A String", # The entity holding the permission, in one of the following forms:
                # - user-userId
                # - user-email
                # - group-groupId
                # - group-email
                # - domain-domain
                # - allUsers
                # - allAuthenticatedUsers Examples:
                # - The user liz@example.com would be user-liz@example.com.
                # - The group example@googlegroups.com would be group-example@googlegroups.com.
                # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
            "email": "A String", # The email address associated with the entity, if any.
            "selfLink": "A String", # The link to this access-control entry.
          },
      ],
      "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
        { # An access-control entry.
          "domain": "A String", # The domain associated with the entity, if any.
          "object": "A String", # The name of the object.
          "bucket": "A String", # The name of the bucket.
          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
          "id": "A String", # The ID of the access-control entry.
          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
          "entityId": "A String", # The ID for the entity, if any.
          "entity": "A String", # The entity holding the permission, in one of the following forms:
              # - user-userId
              # - user-email
              # - group-groupId
              # - group-email
              # - domain-domain
              # - allUsers
              # - allAuthenticatedUsers Examples:
              # - The user liz@example.com would be user-liz@example.com.
              # - The group example@googlegroups.com would be group-example@googlegroups.com.
              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
          "email": "A String", # The email address associated with the entity, if any.
          "selfLink": "A String", # The link to this access-control entry.
        },
      ],
      "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage in this location. Can be US or EU. Defaults to US.
      "owner": { # The owner of the bucket. This will always be the project team's owner group.
        "entityId": "A String", # The ID for the entity.
        "entity": "A String", # The entity, in the form group-groupId.
      },
      "id": "A String", # The name of the bucket.
      "selfLink": "A String", # The URI of this bucket.
    }
update(bucket, body, projection=None)
Updates a bucket.

Args:
  bucket: string, Name of a bucket. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # A bucket.
    "website": { # The bucket's website configuration.
      "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
      "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
    },
    "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
    "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
    "projectId": "A String", # The project the bucket belongs to.
    "acl": [ # Access controls on the bucket.
      { # An access-control entry.
          "domain": "A String", # The domain associated with the entity, if any.
          "bucket": "A String", # The name of the bucket.
          "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
          "id": "A String", # The ID of the access-control entry.
          "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
          "entityId": "A String", # The ID for the entity, if any.
          "entity": "A String", # The entity holding the permission, in one of the following forms:
              # - user-userId
              # - user-email
              # - group-groupId
              # - group-email
              # - domain-domain
              # - allUsers
              # - allAuthenticatedUsers Examples:
              # - The user liz@example.com would be user-liz@example.com.
              # - The group example@googlegroups.com would be group-example@googlegroups.com.
              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
          "email": "A String", # The email address associated with the entity, if any.
          "selfLink": "A String", # The link to this access-control entry.
        },
    ],
    "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
      { # An access-control entry.
        "domain": "A String", # The domain associated with the entity, if any.
        "object": "A String", # The name of the object.
        "bucket": "A String", # The name of the bucket.
        "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
        "id": "A String", # The ID of the access-control entry.
        "role": "A String", # The access permission for the entity. Can be READER or OWNER.
        "entityId": "A String", # The ID for the entity, if any.
        "entity": "A String", # The entity holding the permission, in one of the following forms:
            # - user-userId
            # - user-email
            # - group-groupId
            # - group-email
            # - domain-domain
            # - allUsers
            # - allAuthenticatedUsers Examples:
            # - The user liz@example.com would be user-liz@example.com.
            # - The group example@googlegroups.com would be group-example@googlegroups.com.
            # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
        "email": "A String", # The email address associated with the entity, if any.
        "selfLink": "A String", # The link to this access-control entry.
      },
    ],
    "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage in this location. Can be US or EU. Defaults to US.
    "owner": { # The owner of the bucket. This will always be the project team's owner group.
      "entityId": "A String", # The ID for the entity.
      "entity": "A String", # The entity, in the form group-groupId.
    },
    "id": "A String", # The name of the bucket.
    "selfLink": "A String", # The URI of this bucket.
  }

  projection: string, Set of properties to return. Defaults to full.
    Allowed values
      full - Include all properties.
      no_acl - Omit acl and defaultObjectAcl properties.

Returns:
  An object of the form:

    { # A bucket.
      "website": { # The bucket's website configuration.
        "notFoundPage": "A String", # The custom object to return when a requested resource is not found.
        "mainPageSuffix": "A String", # Behaves as the bucket's directory index where missing objects are treated as potential directories.
      },
      "kind": "storage#bucket", # The kind of item this is. For buckets, this is always storage#bucket.
      "timeCreated": "A String", # Creation time of the bucket in RFC 3339 format.
      "projectId": "A String", # The project the bucket belongs to.
      "acl": [ # Access controls on the bucket.
        { # An access-control entry.
            "domain": "A String", # The domain associated with the entity, if any.
            "bucket": "A String", # The name of the bucket.
            "kind": "storage#bucketAccessControl", # The kind of item this is. For bucket access control entries, this is always storage#bucketAccessControl.
            "id": "A String", # The ID of the access-control entry.
            "role": "A String", # The access permission for the entity. Can be READER, WRITER, or OWNER.
            "entityId": "A String", # The ID for the entity, if any.
            "entity": "A String", # The entity holding the permission, in one of the following forms:
                # - user-userId
                # - user-email
                # - group-groupId
                # - group-email
                # - domain-domain
                # - allUsers
                # - allAuthenticatedUsers Examples:
                # - The user liz@example.com would be user-liz@example.com.
                # - The group example@googlegroups.com would be group-example@googlegroups.com.
                # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
            "email": "A String", # The email address associated with the entity, if any.
            "selfLink": "A String", # The link to this access-control entry.
          },
      ],
      "defaultObjectAcl": [ # Default access controls to apply to new objects when no ACL is provided.
        { # An access-control entry.
          "domain": "A String", # The domain associated with the entity, if any.
          "object": "A String", # The name of the object.
          "bucket": "A String", # The name of the bucket.
          "kind": "storage#objectAccessControl", # The kind of item this is. For object access control entries, this is always storage#objectAccessControl.
          "id": "A String", # The ID of the access-control entry.
          "role": "A String", # The access permission for the entity. Can be READER or OWNER.
          "entityId": "A String", # The ID for the entity, if any.
          "entity": "A String", # The entity holding the permission, in one of the following forms:
              # - user-userId
              # - user-email
              # - group-groupId
              # - group-email
              # - domain-domain
              # - allUsers
              # - allAuthenticatedUsers Examples:
              # - The user liz@example.com would be user-liz@example.com.
              # - The group example@googlegroups.com would be group-example@googlegroups.com.
              # - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
          "email": "A String", # The email address associated with the entity, if any.
          "selfLink": "A String", # The link to this access-control entry.
        },
      ],
      "location": "A String", # The location of the bucket. Object data for objects in the bucket resides in physical storage in this location. Can be US or EU. Defaults to US.
      "owner": { # The owner of the bucket. This will always be the project team's owner group.
        "entityId": "A String", # The ID for the entity.
        "entity": "A String", # The entity, in the form group-groupId.
      },
      "id": "A String", # The name of the bucket.
      "selfLink": "A String", # The URI of this bucket.
    }