Class: Saklient::Cloud::API

Inherits:
Object
  • Object
show all
Defined in:
lib/saklient/cloud/api.rb

Overview

さくらのクラウドAPIクライアントを利用する際, 最初にアクセスすべきルートとなるクラス.

See Also:

Instance Attribute Summary (collapse)

Class Method Summary (collapse)

Instance Method Summary (collapse)

Instance Attribute Details

- (Saklient::Cloud::Models::Model_Appliance) appliance (readonly)

アプライアンスにアクセスするためのモデル.



185
186
187
# File 'lib/saklient/cloud/api.rb', line 185

def appliance
  @appliance
end

- (Saklient::Cloud::Models::Model_Archive) archive (readonly)

アーカイブにアクセスするためのモデル.



208
209
210
# File 'lib/saklient/cloud/api.rb', line 208

def archive
  @archive
end

- (Saklient::Cloud::Models::Model_Bridge) bridge (readonly)

ブリッジにアクセスするためのモデル.



323
324
325
# File 'lib/saklient/cloud/api.rb', line 323

def bridge
  @bridge
end

- (Saklient::Cloud::Models::Model_Disk) disk (readonly)

ディスクにアクセスするためのモデル.



162
163
164
# File 'lib/saklient/cloud/api.rb', line 162

def disk
  @disk
end

- (Facility) facility (readonly)

設備情報にアクセスするためのモデルを集めたオブジェクト.

Returns:



93
94
95
# File 'lib/saklient/cloud/api.rb', line 93

def facility
  @facility
end

- (Saklient::Cloud::Models::Model_Icon) icon (readonly)

アイコンにアクセスするためのモデル.



116
117
118
# File 'lib/saklient/cloud/api.rb', line 116

def icon
  @icon
end

- (Saklient::Cloud::Models::Model_Iface) iface (readonly)

インタフェースにアクセスするためのモデル.



254
255
256
# File 'lib/saklient/cloud/api.rb', line 254

def iface
  @iface
end

- (Saklient::Cloud::Models::Model_Ipv6Net) ipv6_net (readonly)

IPv6ネットワークにアクセスするためのモデル.



346
347
348
# File 'lib/saklient/cloud/api.rb', line 346

def ipv6_net
  @ipv6_net
end

- (Saklient::Cloud::Models::Model_IsoImage) iso_image (readonly)

ISOイメージにアクセスするためのモデル.



231
232
233
# File 'lib/saklient/cloud/api.rb', line 231

def iso_image
  @iso_image
end

- (Saklient::Cloud::Models::Model_License) license (readonly)

ライセンスにアクセスするためのモデル.



392
393
394
# File 'lib/saklient/cloud/api.rb', line 392

def license
  @license
end

- (Product) product (readonly)

商品情報にアクセスするためのモデルを集めたオブジェクト.

Returns:



70
71
72
# File 'lib/saklient/cloud/api.rb', line 70

def product
  @product
end

- (Saklient::Cloud::Models::Model_Router) router (readonly)

ルータにアクセスするためのモデル.



300
301
302
# File 'lib/saklient/cloud/api.rb', line 300

def router
  @router
end

- (Saklient::Cloud::Models::Model_Script) script (readonly)

スクリプトにアクセスするためのモデル.



369
370
371
# File 'lib/saklient/cloud/api.rb', line 369

def script
  @script
end

- (Saklient::Cloud::Models::Model_Server) server (readonly)

サーバにアクセスするためのモデル.



139
140
141
# File 'lib/saklient/cloud/api.rb', line 139

def server
  @server
end

- (Saklient::Cloud::Models::Model_Swytch) swytch (readonly)

スイッチにアクセスするためのモデル.



277
278
279
# File 'lib/saklient/cloud/api.rb', line 277

def swytch
  @swytch
end

Class Method Details

+ (API) authorize(token, secret, zone = nil)

指定した認証情報を用いてアクセスを行うAPIクライアントを作成します.

必要な認証情報は, コントロールパネル右上にあるアカウントのプルダウンから 「設定」を選択し, 「APIキー」のページにて作成できます.

Parameters:

  • token (String)

    ACCESS TOKEN

  • secret (String)

    ACCESS TOKEN SECRET

  • zone (String) (defaults to: nil)

    ゾーン名

Returns:

  • (API)

    APIクライアント



433
434
435
436
437
438
439
440
# File 'lib/saklient/cloud/api.rb', line 433

def self.authorize(token, secret, zone = nil)
  Saklient::Util::validate_type(token, 'String')
  Saklient::Util::validate_type(secret, 'String')
  Saklient::Util::validate_type(zone, 'String')
  c = Saklient::Cloud::Client.new(token, secret)
  ret = Saklient::Cloud::API.new(c)
  return !(zone).nil? ? ret.in_zone(zone) : ret
end

Instance Method Details

- (API) in_zone(name)

認証情報を引き継ぎ, 指定したゾーンへのアクセスを行うAPIクライアントを作成します.

Parameters:

  • name (String)

    ゾーン名

Returns:

  • (API)

    APIクライアント



446
447
448
449
450
451
452
453
454
# File 'lib/saklient/cloud/api.rb', line 446

def in_zone(name)
  Saklient::Util::validate_type(name, 'String')
  ret = Saklient::Cloud::API.new(@_client.clone_instance)
  suffix = ''
  suffix = '-test' if name == 'is1x' || name == 'is1y'
  ret._client.set_api_root('https://secure.sakura.ad.jp/cloud' + suffix + '/')
  ret._client.set_api_root_suffix('zone/' + name)
  return ret
end