class SakurraForm::CLI

Public Class Methods

source_root() click to toggle source
# File lib/sakurraform/cli/init.rb, line 7
def self.source_root
  File.expand_path("../../", __FILE__)
end

Public Instance Methods

init() click to toggle source
# File lib/sakurraform/cli/init.rb, line 12
def init
  empty_directory('.sakuracloud')
  @sakuracloud_api_token = ask("Sakuracloud_api_token(required) ? ")
  @sakuracloud_api_token_secret = ask("Sakuracloud_api_token_secret(required) ? ")
  @sakura_object_storage_bucket = ask("Sakura Object Storage buket name(optional) ? ")
  @sakura_object_storage_token = ask("Sakura Object Storage token(optional) ? ")
  @api_region = ask("sakuracloud_api_region(default: is1b) ? ")
  template('templates/credentials.tt', ".sakuracloud/credentials")
end
map() click to toggle source
# File lib/sakurraform/cli/map.rb, line 10
def map
  system('open https://secure.sakura.ad.jp/cloud/#!/map/map/')
end
status() click to toggle source
# File lib/sakurraform/cli/status.rb, line 13
def status
  ## Showdown Network
  col_network = SakurraForm::Collection.new('network')
  col_network.collection_resources(true)
  if options[:json]
    output = Hash.new
    output["Networks"] = build_state_network(col_network)
  else
    Formatador.display_line('[green]Nework resources[/]')
    Formatador.display_table(build_state_network(col_network), [:name, :mode, :sakurraform_name, :sakura_id, :subnets, :gateway])
    say()
  end

  ## Showdown Server
  col_server = SakurraForm::Collection.new('server')
  col_server.collection_resources(true)
  if options[:json]
    output["Servers"] = build_state_server(col_server)
    say(JSON.pretty_generate(output))
  else
    Formatador.display_line('[green]Server resources[/]')
    Formatador.display_table(build_state_server(col_server), [:name, :sakurraform_name, :sakura_id, :ipaddress, :network, :status, :last_state_changed])
  end
  if options[:sync]
    col_server.resources.each do |r|
      create_file "state/server/#{r.resource_id}.yml", r.remote_state.to_yaml
    end
  end
end
version() click to toggle source
# File lib/sakurraform/cli/version.rb, line 4
def version
  say SakurraForm::VERSION
end