Module: Backend::Api::Cloud

Extended by:
ConnectionHelper
Defined in:
api/cloud.rb

Class Method Summary collapse

Class Method Details

.destroy(id) ⇒ String

Destroys (killing the process) the upload job. The backend will not delete the log files etc for history reasons. It will return the status of the job or raise an exception.

Returns:

  • (String)


31
32
33
# File 'api/cloud.rb', line 31

def self.destroy(id)
  http_post(['/cloudupload/:id', id], params: { cmd: :kill })
end

.log(id) ⇒ String

Returns the log file of the cloud upload job

Returns:

  • (String)


23
24
25
# File 'api/cloud.rb', line 23

def self.log(id)
  http_get(['/cloudupload/:id/_log', id], params: { nostream: 1, start: 0 })
end

.status(user) ⇒ String

Returns the status of the cloud upload jobs of a user

Returns:

  • (String)


17
18
19
# File 'api/cloud.rb', line 17

def self.status(user)
  http_get('/cloudupload', params: { name: user.upload_jobs.pluck(:job_id) }, expand: [:name])
end

.upload(params) ⇒ String

Triggers a cloud upload job

Returns:

  • (String)


7
8
9
10
11
12
13
# File 'api/cloud.rb', line 7

def self.upload(params)
  data = params.slice(:region, :virtualization_type, :ami_name)
  user = params[:user]
  params = params.except(:region, :virtualization_type, :ami_name).merge(user: user., target: params[:target])
  data = user.ec2_configuration.attributes.except('id', 'created_at', 'updated_at').merge(data).to_json
  http_post('/cloudupload', params: params, data: data)
end