sets or updates a bucket's acl to a predefined (canned) value

def set_canned_acl(self, acl_str, validate=True, headers=None,
                       version_id=None):
        """sets or updates a bucket's acl to a predefined (canned) value"""
        if not self.object_name:
            raise InvalidUriError('set_canned_acl on object-less URI (%s)' %
                                  self.uri)
        key = self.get_key(validate, headers)
        self.check_response(key, 'key', self.uri)
        key.set_canned_acl(acl_str, headers, version_id)