module Kontena::Plugin::Aws::Prompts

Public Instance Methods

ask_node() click to toggle source
# File lib/kontena/plugin/aws/prompts.rb, line 153
def ask_node
  if self.name.nil?
    nodes = client.get("grids/#{current_grid}/nodes")
    nodes = nodes['nodes'].select{ |n|
      n['labels'] && n['labels'].include?('provider=aws'.freeze)
    }
    raise "Did not find any nodes with label provider=aws" if nodes.size == 0
    prompt.select("Select node:") do |menu|
      nodes.sort_by{ |n| n['node_number'] }.reverse.each do |node|
        initial = node['initial_member'] ? '(initial) ' : ''
        menu.choice "#{node['name']} #{initial}", node['name']
      end
    end
  else
    self.name
  end
end
aws_client() click to toggle source
# File lib/kontena/plugin/aws/prompts.rb, line 4
def aws_client
  @aws_client ||= Aws::EC2::Client.new(access_key_id: access_key, secret_access_key: secret_key, region: region)
end
resolve_region(node) click to toggle source
# File lib/kontena/plugin/aws/prompts.rb, line 171
def resolve_region(node)
  return nil if node.nil? || node['labels'].nil?
  node['labels'].each do |label|
    tag, value = label.split('=', 2)
    return value if tag == 'region'
  end
end