ブログ?

もうだめぽ

APIで遊んでみる

さくらのクラウドのAPIが公開されているので遊んでみる。
サンプルのコードはPerlだけど、勉強のためRubyに。

アクセストークンなどはコントロールパネルの「設定」=>「APIキー管理」で取得したものを使う。

#!/usr/bin/env ruby

require 'net/https'
require 'uri'
require 'json'

access_token = "XXXXXXXXXX"
access_token_secret = "XXXXXXXXXXXXXXXXXXXXX"
uri = URI.parse("https://secure.sakura.ad.jp/cloud/api/cloud/0.2/server/")

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

body = http.start { |http|
  req = Net::HTTP::Get.new(uri.path)
  req.basic_auth(access_token, access_token_secret)
  http.request(req).body
}

puts JSON.pretty_generate(JSON.parse(body))

実行するとこんなかんじ。

{
  "From": 0,
  "Count": 2,
  "Total": 2,
  "Servers": [
    {
      "Index": 0,
      "ID": "XXXXXXXX",
      "Name": "Fedora",
      "HostName": "localhost",
      "Description": "Fedora15",
      "CreatedAt": "2011-11-25T10:28:31+09:00",
      "Icon": {
        "ID": "XXXXXXXXXXX",
        "URL": "https://secure.sakura.ad.jp/cloud/api/cloud/0.2/icon/112300511983.png",
        "Name": "Fedora",
        "Scope": "shared"
      },
      "ServerPlan": {
        "ID": 1,
        "Name": "プラン1",
        "CPU": 1,
        "MemoryMB": 2048,
        "ServiceClass": "cloud/plan/1"
      },......

あとでちゃんとしたものを作っておこう。