パラボラアンテナと星の日記

あることないこと

VultrVPSのAPIを叩くGemを作ってみました

Vultr.comというVPSサービスがあります。

東京リージョンがある、SSDがある、などがウリのようなの感じらしいです。

なんか安くてよさげなのですが、DegitalOceanのようなAPIを叩くgemがなさそうでした。(6/2現在、gem list -r | grep vultr)

そこで、だいぶオレオレな感じですがGemを作ってみました。

使い方としては、gem install vultrlifeした後にまずrequireして

require 'vultrlife'

API_KEYをセットして

account = Vultrlife::Account.new do |account|
  account.api_key = 'xxxxxxxxxxxxxxxxxxx'
end

server_create!する(これでサーバーを注文したことになります)

account.server_create! do |server|
  server.plan           = '768 MB RAM,15 GB SSD,0.10 TB BW'
  server.region         = :tokyo
  server.os             = 'CentOS 6 x64'
end

account.serversで自分の持ってるサーバーが見れるので、
ipアドレスやデフォルトパスワードを取得できます。
ipアドレスは早ければ数秒で割り振られます(遅いときは結構時間かかる)

# Check The Server
puts account.servers.last
# => {"os"=>"CentOS 6 x64",
# "ram"=>"768 MB",
# "disk"=>"Virtual 15 GB",
# "main_ip"=>"108.61.200.210",
# "default_password"=>"eqsaqenynelu!2",
# ...and more....

Destroyするときは

# Destroy A Server
account.servers.first.destroy!

こんな感じです。

APIは全てカバーしきれてませんが、
とりあえずVPSのCreate/Destroyが出来ればいいでしょって思ってます。
っていうか先週とこの前の土日で作ったのですが、その間にAPIめっちゃ増えてた。

ちなみに、Tokyoリージョンで作成してpingしてみると。。

21 packets transmitted, 21 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 9.446/12.486/23.860/3.079 ms

うっほい! 最短9msでした。やっぱりそこそこ早いです。