module Namespaces

Public Instance Methods

create_new_namespace(config) click to toggle source

Create new Namespace

# File lib/ruby-kubernetes-controller/namespaces.rb, line 12
def create_new_namespace(config)
  extension = "/api/v1/namespaces"

  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_namespace(namespace, options = '') click to toggle source

Delete existing Namespace

# File lib/ruby-kubernetes-controller/namespaces.rb, line 115
def delete_namespace(namespace, options = '')
  extension = "/api/v1/namespaces/#{namespace}"

  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_namespaces() click to toggle source

Get Namespaces

# File lib/ruby-kubernetes-controller/namespaces.rb, line 42
def get_all_namespaces
  extension = '/api/v1/namespaces'

  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_namespace(namespace, patch) click to toggle source

Patch existing Namespace

# File lib/ruby-kubernetes-controller/namespaces.rb, line 91
def patch_namespace(namespace, patch)
  extension = "/api/v1/namespaces/#{namespace}"

  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_namespace(namespace, update) click to toggle source

Update existing Namespace

# File lib/ruby-kubernetes-controller/namespaces.rb, line 63
def update_namespace(namespace, update)
  extension = "/api/v1/namespaces/#{namespace}"

  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