code: def change_storage_class(self, new_storage_class, dst_bucket=None):
          
          if new_storage_class == 'STANDARD':
              return self.copy(self.bucket.name, self.name,
                               reduced_redundancy=False, preserve_acl=True)
          elif new_storage_class == 'REDUCED_REDUNDANCY':
              return self.copy(self.bucket.name, self.name,
                               reduced_redundancy=True, preserve_acl=True)
          else:
              raise BotoClientError('Invalid storage class: %s' %
                                    new_storage_class)
docs: Change the storage class of an existing key.
          Depending on whether a different destination bucket is supplied
          or not, this will either move the item within the bucket, preserving
          all metadata and ACL info bucket changing the storage class or it
          will copy the item to the provided destination bucket, also
          preserving metadata and ACL info.
  
          :type new_storage_class: string
          :param new_storage_class: The new storage class for the Key.
                                    Possible values are:
                                    * STANDARD
                                    * REDUCED_REDUNDANCY
  
          :type dst_bucket: string
          :param dst_bucket: The name of a destination bucket.  If not
                             provided the current bucket of the key
                             will be used.