module CronJobs

Public Instance Methods

create_new_cronjob(namespace, config) click to toggle source

Create new CronJob

# File lib/ruby-kubernetes-controller/cronjob.rb, line 12
def create_new_cronjob(namespace, config)
    extension = "/apis/batch/v1beta1/namespaces/#{namespace}/cronjobs"
    
    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_cronjob(namespace, cronjob_name, options = '') click to toggle source

Delete existing Job in Namespace

# File lib/ruby-kubernetes-controller/cronjob.rb, line 154
def delete_cronjob(namespace, cronjob_name, options = '')
    extension = "apis/batch/v1beta1/namespaces/#{namespace}/cronjobs/#{cronjob_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_cronjobs() click to toggle source

Get all CronJobs

# File lib/ruby-kubernetes-controller/cronjob.rb, line 40
def get_all_cronjobs
    extension = "/apis/batch/v1beta1/cronjobs"
    
    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_cronjobs(namespace) click to toggle source

Get all existing CronJobs in Namespace

# File lib/ruby-kubernetes-controller/cronjob.rb, line 61
def get_all_namespaced_cronjobs(namespace)
    extension = "/apis/batch/v1beta1/namespaces/#{namespace}/cronjobs"
    
    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_cronjob(namespace, cronjob_name) click to toggle source

Get single CronJob in Namespace

# File lib/ruby-kubernetes-controller/cronjob.rb, line 82
def get_single_namespaced_cronjob(namespace, cronjob_name)
    extension = "/apis/batch/v1beta1/namespaces/#{namespace}/cronjobs/#{cronjob_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_cronjob(namespace, cronjob_name, patch) click to toggle source

Patch existing CronJob in Namespace

# File lib/ruby-kubernetes-controller/cronjob.rb, line 131
def patch_cronjob(namespace, cronjob_name, patch)
    extension = "/apis/batch/v1beta1/namespaces/#{namespace}/cronjobs/#{cronjob_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_cronjob(namespace, cronjob_name, update) click to toggle source

Update existing CronJob in Namespace

# File lib/ruby-kubernetes-controller/cronjob.rb, line 102
def update_namespaced_cronjob(namespace, cronjob_name, update)
    extension = "/apis/batch/v1beta1/namespaces/#{namespace}/cronjobs/#{cronjob_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