class Awful::Certs
Public Instance Methods
color_date(date)
click to toggle source
# File lib/awful/certs.rb, line 14 def color_date(date) diff = date - Time.now set_color( date, if diff < 0 :red elsif diff < (60*60*24*30) :yellow else :green end ) end
delete(name)
click to toggle source
# File lib/awful/certs.rb, line 99 def delete(name) if yes? "Really delete server certificate #{name}?", :yellow iam.delete_server_certificate(server_certificate_name: name) end end
dump(name)
click to toggle source
# File lib/awful/certs.rb, line 86 def dump(name) iam.get_server_certificate(server_certificate_name: name).server_certificate.output do |cert| if options[:body] puts cert.certificate_body elsif options[:chain] puts cert.certificate_chain else puts YAML.dump(stringify_keys(cert.server_certificate_metadata.to_h)) end end end
iam()
click to toggle source
# File lib/awful/certs.rb, line 10 def iam @iam ||= Aws::IAM::Client.new end
ls(path = nil)
click to toggle source
# File lib/awful/certs.rb, line 32 def ls(path = nil) marker = nil certs = [] loop do response = iam.list_server_certificates(path_prefix: path, marker: marker) certs += response.server_certificate_metadata_list marker = response.marker break unless response.is_truncated end certs.output do |list| if options[:long] print_table list.map { |c| [ c.server_certificate_name, c.path, c.server_certificate_id, c.upload_date, color_date(c.expiration), ] }.sort elsif options[:arns] puts certs.map(&:arn) else puts certs.map(&:server_certificate_name).sort end end end
read_file(name)
click to toggle source
# File lib/awful/certs.rb, line 61 def read_file(name) name.nil? ? nil : File.read(name) end
upload(name)
click to toggle source
# File lib/awful/certs.rb, line 71 def upload(name) iam.upload_server_certificate( server_certificate_name: name, path: options[:path], certificate_body: read_file(options[:body]), private_key: read_file(options[:key]), certificate_chain: read_file(options[:chain]), ).output do |cert| puts cert.server_certificate_metadata.arn end end