module Jobs

Public Instance Methods

create_new_job(namespace, config) click to toggle source

Create new Job

# File lib/ruby-kubernetes-controller/jobs.rb, line 12
def create_new_job(namespace, config)
    extension = "/apis/batch/v1/namespaces/#{namespace}/jobs"
    
    uri = prepareURI(@endpoint, extension)
    
    request = prepareGenericRequest(uri, @bearer_token,  "POST")
    request.content_type = "application/json"
    
    if @yaml
        request.body = yaml_file_to_json(config)
        else
        request.body = config
    end
    
    req_options = prepareGenericRequestOptions(@ssl, uri)
    
    begin
        response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
            http.request(request)
        end
        return response.body
        
        rescue Errno::ECONNREFUSED
        raise "Connection for host #{uri.hostname} refused"
    end
end
delete_job(namespace, job_name, options = '') click to toggle source

Delete existing Job in Namespace

# File lib/ruby-kubernetes-controller/jobs.rb, line 154
def delete_job(namespace, job_name, options = '')
    extension = "/apis/batch/v1/namespaces/#{namespace}/jobs/#{job_name}"
    
    uri = prepareURI(@endpoint, extension)
    
    request = prepareGenericRequest(uri, @bearer_token, "DELETE")
    request.content_type = "application/json"
    
    if @yaml
        request.body = yaml_file_to_json(options)
        else
        request.body = options
    end
    
    req_options = prepareGenericRequestOptions(@ssl, uri)
    
    begin
        response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
            http.request(request)
        end
        return response.body
        
        rescue Errno::ECONNREFUSED
        raise "Connection for host #{uri.hostname} refused"
    end
end
get_all_jobs() click to toggle source

Get all Jobs

# File lib/ruby-kubernetes-controller/jobs.rb, line 40
def get_all_jobs
    extension = "/apis/batch/v1/jobs"
    
    uri = prepareURI(@endpoint, extension)
    
    request = prepareGenericRequest(uri, @bearer_token, "GET")
    
    req_options = prepareGenericRequestOptions(@ssl, uri)
    
    begin
        response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
            http.request(request)
        end
        return response.body
        
        rescue Errno::ECONNREFUSED
        raise "Connection for host #{uri.hostname} refused"
    end
end
get_all_namespaced_jobs(namespace) click to toggle source

Get all existing Jobs in Namespace

# File lib/ruby-kubernetes-controller/jobs.rb, line 61
def get_all_namespaced_jobs(namespace)
    extension = "/apis/batch/v1/namespaces/#{namespace}/jobs"
    
    uri = prepareURI(@endpoint, extension)
    
    request = prepareGenericRequest(uri, @bearer_token, "GET")
    
    req_options = prepareGenericRequestOptions(@ssl, uri)
    
    begin
        response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
            http.request(request)
        end
        return response.body
        
        rescue Errno::ECONNREFUSED
        raise "Connection for host #{uri.hostname} refused"
    end
end
get_single_namespaced_job(namespace, job_name) click to toggle source

Get single Job in Namespace

# File lib/ruby-kubernetes-controller/jobs.rb, line 82
def get_single_namespaced_job(namespace, job_name)
    extension = "/apis/batch/v1/namespaces/#{namespace}/jobs/#{job_name}"
    
    uri = prepareURI(@endpoint, extension)
    
    request = prepareGenericRequest(uri, @bearer_token, "GET")
    
    req_options = prepareGenericRequestOptions(@ssl, uri)
    
    begin
        response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
            http.request(request)
        end
        return response.body
        rescue Errno::ECONNREFUSED
        raise "Connection for host #{uri.hostname} refused"
    end
end
patch_job(namespace, job_name, patch) click to toggle source

Patch existing Job in Namespace

# File lib/ruby-kubernetes-controller/jobs.rb, line 131
def patch_job(namespace, job_name, patch)
    extension = "/apis/batch/v1/namespaces/#{namespace}/jobs/#{job_name}"
    
    uri = prepareURI(@endpoint, extension)
    
    request = prepareGenericRequest(uri, @bearer_token, "PATCH")
    request.content_type = "application/json-patch+json"
    
    request.body = patch
    
    req_options = prepareGenericRequestOptions(@ssl, uri)
    
    begin
        response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
            http.request(request)
        end
        return response.body
        rescue Errno::ECONNREFUSED
        raise "Connection for host #{uri.hostname} refused"
    end
end
update_namespaced_job(namespace, job_name, update) click to toggle source

Update existing Job in Namespace

# File lib/ruby-kubernetes-controller/jobs.rb, line 102
def update_namespaced_job(namespace, job_name, update)
    extension = "/apis/batch/v1/namespaces/#{namespace}/jobs/#{job_name}"
    
    uri = prepareURI(@endpoint, extension)
    
    request = prepareGenericRequest(uri, @bearer_token, "PUT")
    request.content_type = "application/json"
    
    if @yaml
        request.body = yaml_file_to_json(update)
        else
        request.body = update
    end
    
    req_options = prepareGenericRequestOptions(@ssl, uri)
    
    begin
        response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
            http.request(request)
        end
        return response.body
        
        rescue Errno::ECONNREFUSED
        raise "Connection for host #{uri.hostname} refused"
    end
    
end