def setMetadata_on_instance(name, fingerprint, data, start, attempts)
      zone_operation = execute( instance_setMetadata_req( name, fingerprint, data), start, attempts )
      status = ''
      try = (Time.now - start) / SLEEPWAIT
      while status !~ /DONE/ and try <= attempts
        begin
          operation = execute( operation_get_req( zone_operation['name'] ), start, attempts )
          status = operation['status']
        rescue GoogleComputeError => e
          @logger.debug("Waiting for tags to be added to #{name}")
          sleep(SLEEPWAIT)
        end
        try += 1
      end
      if status == ''
        raise "Unable to set metaData (#{tags.to_s}) on #{name}"
      end
      zone_operation
    end
def setMetadata_on_instance(name, fingerprint, data, start, attempts)
      zone_operation = execute( instance_setMetadata_req( name, fingerprint, data), start, attempts )
      status = ''
      try = (Time.now - start) / SLEEPWAIT
      while status !~ /DONE/ and try <= attempts
        begin
          operation = execute( operation_get_req( zone_operation['name'] ), start, attempts )
          status = operation['status']
        rescue GoogleComputeError => e
          @logger.debug("Waiting for tags to be added to #{name}")
          sleep(SLEEPWAIT)
        end
        try += 1
      end
      if status == ''
        raise "Unable to set metaData (#{tags.to_s}) on #{name}"
      end
      zone_operation
    end
Add key/value pairs to a  Google Compute instance on the current
 connection

 @param [String] name The name of the instance to add metadata to

 @param [String] fingerprint A hash of the metadata's contents of the
 given instance

 @param [Array<Hash>] data An array of hashes.  Each hash should have a
 key and a value.

 @param [Integer] start The time when we started code execution, it is
 compared to Time.now to determine how many further code execution
 attempts remain

 @param [Integer] attempts The total amount of attempts to execute that we
 are willing to allow

 @raise [Exception] Raised if we fail to add metadata, either through
 errors or running out of attempts