Class: Saklient::Cloud::Resources::Disk
- Defined in:
- lib/saklient/cloud/resources/disk.rb
Overview
ディスクの実体1つに対応し, 属性の取得や操作を行うためのクラス.
Instance Attribute Summary collapse
-
#activity ⇒ DiskActivity
readonly
アクティビティ.
-
#availability ⇒ String
readonly
有効状態 Enums::EAvailability.
-
#description ⇒ String
説明.
-
#icon ⇒ Icon
アイコン.
-
#id ⇒ String
readonly
ID.
-
#is_available ⇒ bool
readonly
ディスクが利用可能なときtrueを返します.
-
#name ⇒ String
名前.
-
#plan ⇒ DiskPlan
プラン.
-
#server ⇒ Server
接続先のサーバ.
-
#service_class ⇒ String
readonly
サービスクラス.
-
#size_gib ⇒ Fixnum
サイズ.
-
#size_mib ⇒ Fixnum
サイズ.
-
#source ⇒ Resource
ディスクのコピー元.
-
#tags ⇒ Array<String>
タグ文字列の配列.
Attributes inherited from Resource
Instance Method Summary collapse
- #_class_name ⇒ String
- #_id ⇒ String
-
#connect_to(server) ⇒ Disk
ディスクをサーバに取り付けます.
-
#create_config ⇒ DiskConfig
ディスク修正を行うためのオブジェクトを用意します.
-
#disconnect ⇒ Disk
ディスクをサーバから取り外します.
- #get_activity ⇒ DiskActivity
- #get_source ⇒ Resource
-
#initialize(client, obj, wrapped = false) ⇒ Disk
constructor
A new instance of Disk.
-
#reload ⇒ Disk
最新のリソース情報を再取得します.
-
#save ⇒ Disk
このローカルオブジェクトに現在設定されているリソース情報をAPIに送信し, 新規作成または上書き保存します.
- #set_source(source) ⇒ Resource
-
#sleep_while_copying(timeoutSec = 3600) ⇒ bool
コピー中のディスクが利用可能になるまで待機します.
Methods inherited from Resource
#api_deserialize, #api_serialize, create_with, #destroy, #dump, #exists, #request_retry, #set_param
Constructor Details
#initialize(client, obj, wrapped = false) ⇒ Disk
Returns a new instance of Disk.
150 151 152 153 154 155 156 |
# File 'lib/saklient/cloud/resources/disk.rb', line 150 def initialize(client, obj, wrapped = false) super(client) Saklient::Util::validate_type(client, 'Saklient::Cloud::Client') Saklient::Util::validate_type(wrapped, 'bool') @_activity = Saklient::Cloud::Resources::DiskActivity.new(client) api_deserialize(obj, wrapped) end |
Instance Attribute Details
#activity ⇒ DiskActivity (readonly)
アクティビティ
140 141 142 |
# File 'lib/saklient/cloud/resources/disk.rb', line 140 def activity @activity end |
#availability ⇒ String (readonly)
有効状態 Enums::EAvailability
696 697 698 |
# File 'lib/saklient/cloud/resources/disk.rb', line 696 def availability @availability end |
#description ⇒ String
説明
440 441 442 |
# File 'lib/saklient/cloud/resources/disk.rb', line 440 def description @description end |
#icon ⇒ Icon
アイコン
521 522 523 |
# File 'lib/saklient/cloud/resources/disk.rb', line 521 def icon @icon end |
#id ⇒ String (readonly)
ID
364 365 366 |
# File 'lib/saklient/cloud/resources/disk.rb', line 364 def id @id end |
#is_available ⇒ bool (readonly)
ディスクが利用可能なときtrueを返します.
171 172 173 |
# File 'lib/saklient/cloud/resources/disk.rb', line 171 def is_available @is_available end |
#name ⇒ String
名前
400 401 402 |
# File 'lib/saklient/cloud/resources/disk.rb', line 400 def name @name end |
#plan ⇒ DiskPlan
プラン
627 628 629 |
# File 'lib/saklient/cloud/resources/disk.rb', line 627 def plan @plan end |
#server ⇒ Server
接続先のサーバ
668 669 670 |
# File 'lib/saklient/cloud/resources/disk.rb', line 668 def server @server end |
#service_class ⇒ String (readonly)
サービスクラス
590 591 592 |
# File 'lib/saklient/cloud/resources/disk.rb', line 590 def service_class @service_class end |
#size_gib ⇒ Fixnum
200 201 202 |
# File 'lib/saklient/cloud/resources/disk.rb', line 200 def size_gib @size_gib end |
#size_mib ⇒ Fixnum
562 563 564 |
# File 'lib/saklient/cloud/resources/disk.rb', line 562 def size_mib @size_mib end |
#source ⇒ Resource
ディスクのコピー元
236 237 238 |
# File 'lib/saklient/cloud/resources/disk.rb', line 236 def source @source end |
#tags ⇒ Array<String>
タグ文字列の配列
481 482 483 |
# File 'lib/saklient/cloud/resources/disk.rb', line 481 def @tags end |
Instance Method Details
#_class_name ⇒ String
99 100 101 |
# File 'lib/saklient/cloud/resources/disk.rb', line 99 def _class_name return 'Disk' end |
#_id ⇒ String
105 106 107 |
# File 'lib/saklient/cloud/resources/disk.rb', line 105 def _id return get_id end |
#connect_to(server) ⇒ Disk
ディスクをサーバに取り付けます.
301 302 303 304 305 |
# File 'lib/saklient/cloud/resources/disk.rb', line 301 def connect_to(server) Saklient::Util::validate_type(server, 'Saklient::Cloud::Resources::Server') @_client.request('PUT', '/disk/' + _id + '/to/server/' + server._id) return self end |
#create_config ⇒ DiskConfig
ディスク修正を行うためのオブジェクトを用意します.
返り値のオブジェクトにパラメータを設定し, write() を呼ぶことで修正を行います.
320 321 322 |
# File 'lib/saklient/cloud/resources/disk.rb', line 320 def create_config return Saklient::Cloud::Resources::DiskConfig.new(@_client, _id) end |
#disconnect ⇒ Disk
ディスクをサーバから取り外します.
310 311 312 313 |
# File 'lib/saklient/cloud/resources/disk.rb', line 310 def disconnect @_client.request('DELETE', '/disk/' + _id + '/to/server') return self end |
#get_activity ⇒ DiskActivity
133 134 135 |
# File 'lib/saklient/cloud/resources/disk.rb', line 133 def get_activity return @_activity end |
#get_source ⇒ Resource
220 221 222 |
# File 'lib/saklient/cloud/resources/disk.rb', line 220 def get_source return @_source end |
#reload ⇒ Disk
最新のリソース情報を再取得します.
119 120 121 |
# File 'lib/saklient/cloud/resources/disk.rb', line 119 def reload return _reload end |
#save ⇒ Disk
このローカルオブジェクトに現在設定されているリソース情報をAPIに送信し, 新規作成または上書き保存します.
112 113 114 |
# File 'lib/saklient/cloud/resources/disk.rb', line 112 def save return _save end |
#set_source(source) ⇒ Resource
227 228 229 230 231 |
# File 'lib/saklient/cloud/resources/disk.rb', line 227 def set_source(source) Saklient::Util::validate_type(source, 'Saklient::Cloud::Resources::Resource') @_source = source return source end |
#sleep_while_copying(timeoutSec = 3600) ⇒ bool
コピー中のディスクが利用可能になるまで待機します.
328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 |
# File 'lib/saklient/cloud/resources/disk.rb', line 328 def (timeoutSec = 3600) Saklient::Util::validate_type(timeoutSec, 'Fixnum') step = 10 while 0 < timeoutSec do begin reload rescue Saklient::Errors::HttpException {} end a = get_availability return true if a == Saklient::Cloud::Enums::EAvailability::available timeoutSec = 0 if a != Saklient::Cloud::Enums::EAvailability:: timeoutSec -= step sleep(step) if 0 < timeoutSec end return false end |