module GClouder::Resources::Compute::ProjectInfo::SSHKeys::Remote

Public Class Methods

data() click to toggle source
# File lib/gclouder/resources/compute/project_info/ssh_keys.rb, line 142
def self.data
  list.map do |line|
    components = line.split
    user, type = components[0].split(":")
    key = components[1]
    description = components.length >= 2 ? components[2] : components[0]

    { key: key, type: type, user: user, description: description }
  end
end
list() click to toggle source
# File lib/gclouder/resources/compute/project_info/ssh_keys.rb, line 132
def self.list
  keys = metadata.dig("items")

  return [] unless keys
  return [] if keys.empty?

  keys.delete_if { |h| h["key"] != "sshKeys" }
  keys[0]["value"].split("\n").delete_if { |key| key =~ /^gke-/ }.sort
end
metadata() click to toggle source
# File lib/gclouder/resources/compute/project_info/ssh_keys.rb, line 153
def self.metadata
  gcloud("compute project-info describe | jq -r '.commonInstanceMetadata'", force: true)
end