class Qtc::Cli::Mar::SslCertificates

Public Instance Methods

create(options) click to toggle source
# File lib/qtc/cli/mar/ssl_certificates.rb, line 9
def create(options)
  raise ArgumentError.new("--key=#{options.key} is not a file") unless File.exists?(File.expand_path(options.key))
  raise ArgumentError.new("--cert=#{options.cert} is not a file") unless File.exists?(File.expand_path(options.cert))
  unless options.chain.nil?
    raise ArgumentError.new("--chain=#{options.chain} is not a file") unless File.exists?(File.expand_path(options.chain))
  end

  instance_id = resolve_instance_id(options)
  instance_data = instance_info(instance_id)
  if instance_data
    data = {
      name: instance_id,
      privateKey: File.read(File.expand_path(options.key)),
      certificateBody: File.read(File.expand_path(options.cert))
    }
    unless options.chain.nil?
      data[:certificateChain] = File.read(File.expand_path(options.chain))
    end
    client.post("/apps/#{instance_id}/ssl_certificate", data, {}, {'Authorization' => "Bearer #{current_cloud_token}"})
  end
end
destroy(options) click to toggle source
# File lib/qtc/cli/mar/ssl_certificates.rb, line 31
def destroy(options)
  instance_id = resolve_instance_id(options)
  instance_data = instance_info(instance_id)
  if instance_data
    client.delete("/apps/#{instance_id}/ssl_certificate", {}, {}, {'Authorization' => "Bearer #{current_cloud_token}"})
  end
end