class Cyoi::Cli::Providers::ProviderCliAws

Public Instance Methods

choose_region() click to toggle source
# File lib/cyoi/cli/providers/provider_cli_aws.rb, line 21
def choose_region
  puts "\n"
  hl.choose do |menu|
    menu.prompt = "Choose AWS region: "
    default_menu_item = nil
    region_labels.each do |region_info|
      label, code = region_info[:label], region_info[:code]
      menu_item = "#{label} (#{code})"
      if code == default_region_code
        menu_item = "*#{menu_item}"
        default_menu_item = menu_item
      end
      menu.choice(menu_item) do
        attributes["region"] = code.to_s
      end
    end
    menu.default = default_menu_item if default_menu_item
  end
end
display_confirmation() click to toggle source
# File lib/cyoi/cli/providers/provider_cli_aws.rb, line 47
def display_confirmation
  puts "\n"
  type = attributes.exists?("vpc") ? "VPC" : "EC2"
  puts "Confirming: Using AWS #{type}/#{attributes.region}"
end
perform_and_return_attributes() click to toggle source
# File lib/cyoi/cli/providers/provider_cli_aws.rb, line 4
def perform_and_return_attributes
  unless valid_infrastructure?
    puts "\nUsing provider AWS\n"
    setup_credentials
    choose_region
  end
  export_attributes
end
setup_credentials() click to toggle source
# File lib/cyoi/cli/providers/provider_cli_aws.rb, line 13
def setup_credentials
  puts "\n"
  attributes.set_default("credentials", {})
  credentials = attributes.credentials
  credentials["aws_access_key_id"] = hl.ask("Access key: ").to_s unless credentials.exists?("aws_access_key_id")
  credentials["aws_secret_access_key"] = hl.ask("Secret key: ").to_s unless credentials.exists?("aws_secret_access_key")
end
valid_infrastructure?() click to toggle source
# File lib/cyoi/cli/providers/provider_cli_aws.rb, line 41
def valid_infrastructure?
  attributes.exists?("credentials.aws_access_key_id") &&
  attributes.exists?("credentials.aws_secret_access_key") &&
  attributes.exists?("region")
end

Protected Instance Methods

default_region_code() click to toggle source
# File lib/cyoi/cli/providers/provider_cli_aws.rb, line 59
def default_region_code
  "us-east-1"
end
region_labels() click to toggle source

docs.aws.amazon.com/general/latest/gr/rande.html#region

# File lib/cyoi/cli/providers/provider_cli_aws.rb, line 55
def region_labels
  Cyoi::Providers::Constants::AwsConstants.region_labels
end