def attach_disk(self, parameters, disk_name, instance_id, secret):
    parameters, secret = self.__validate_args(parameters, secret)

    if self.secret != secret:
      return self.__generate_response(False, self.REASON_BAD_SECRET)

    infrastructure = parameters[self.PARAM_INFRASTRUCTURE]
    agent = self.agent_factory.create_agent(infrastructure)
    disk_location = agent.attach_disk(parameters, disk_name, instance_id)
    return self.__generate_response(True, self.REASON_NONE,
      {'location' : disk_location})
Contacts the infrastructure named in 'parameters' and tells it to
dataset/ETHPy150Open AppScale/appscale/InfrastructureManager/infrastructure_manager.py/InfrastructureManager.attach_disk