code: def process_rename(self, client, tag_value, resource_set):
          
          self.log.info("Renaming tag on %s instances" % (len(resource_set)))
          old_key = self.data.get('old_key')
          new_key = self.data.get('new_key')
  
          # We have a preference to creating the new tag when possible first
          resource_ids = [r[self.id_key] for r in resource_set if len(
              r.get('Tags', [])) < self.tag_count_max]
          if resource_ids:
              self.create_tag(client, resource_ids, new_key, tag_value)
  
          self.delete_tag(
              client, [r[self.id_key] for r in resource_set], old_key, tag_value)
  
          # For resources with 50 tags, we need to delete first and then create.
          resource_ids = [r[self.id_key] for r in resource_set if len(
              r.get('Tags', [])) > self.tag_count_max - 1]
          if resource_ids:
              self.create_tag(client, resource_ids, new_key, tag_value)
docs: Move source tag value to destination tag value
  
          - Collect value from old tag
          - Delete old tag
          - Create new tag & assign stored value