sets or changes a bucket's acl. We include a version_id argument
           to support a polymorphic interface for callers, however, 
           version_id is not relevant for Google Cloud Storage buckets 
           and is therefore ignored here.

def set_acl(self, acl_or_str, key_name='', headers=None, version_id=None):
        """sets or changes a bucket's acl. We include a version_id argument
           to support a polymorphic interface for callers, however, 
           version_id is not relevant for Google Cloud Storage buckets 
           and is therefore ignored here.""" 
        if isinstance(acl_or_str, Policy):
            raise InvalidAclError('Attempt to set S3 Policy on GS ACL')
        elif isinstance(acl_or_str, ACL):
            self.set_xml_acl(acl_or_str.to_xml(), key_name, headers=headers)
        else:
            self.set_canned_acl(acl_or_str, key_name, headers=headers)