Class: Saklient::Cloud::Resources::Disk
- Inherits:
-
Resource
- Object
- Resource
- Saklient::Cloud::Resources::Disk
- Defined in:
- lib/saklient/cloud/resources/disk.rb
Overview
ディスクの実体1つに対応し, 属性の取得や操作を行うためのクラス.
Instance Attribute Summary (collapse)
-
- (DiskActivity) activity
readonly
アクティビティ.
-
- (String) availability
readonly
有効状態 Enums::EAvailability.
-
- (String) description
説明.
-
- (Icon) icon
アイコン.
-
- (String) id
readonly
ID.
-
- (bool) is_available
readonly
ディスクが利用可能なときtrueを返します.
-
- (String) name
名前.
-
- (DiskPlan) plan
プラン.
-
- (Server) server
readonly
接続先のサーバ.
-
- (String) service_class
readonly
サービスクラス.
-
- (Fixnum) size_gib
サイズ.
-
- (Fixnum) size_mib
サイズ.
-
- (Resource) source
ディスクのコピー元.
-
- (Array<String>) tags
タグ文字列の配列.
Instance Method Summary (collapse)
-
- (Disk) connect_to(server)
ディスクをサーバに取り付けます.
-
- (DiskConfig) create_config
ディスク修正を行うためのオブジェクトを用意します.
-
- (Disk) disconnect
ディスクをサーバから取り外します.
-
- (Disk) reload
最新のリソース情報を再取得します.
-
- (Disk) save
このローカルオブジェクトに現在設定されているリソース情報をAPIに送信し, 新規作成または上書き保存します.
-
- (bool) sleep_while_copying(timeoutSec = 3600)
コピー中のディスクが利用可能になるまで待機します.
Instance Attribute Details
- (DiskActivity) activity (readonly)
アクティビティ
140 141 142 |
# File 'lib/saklient/cloud/resources/disk.rb', line 140 def activity @activity end |
- (String) availability (readonly)
有効状態 Enums::EAvailability
679 680 681 |
# File 'lib/saklient/cloud/resources/disk.rb', line 679 def availability @availability end |
- (String) description
説明
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 |
- (String) id (readonly)
ID
364 365 366 |
# File 'lib/saklient/cloud/resources/disk.rb', line 364 def id @id end |
- (bool) is_available (readonly)
ディスクが利用可能なときtrueを返します.
171 172 173 |
# File 'lib/saklient/cloud/resources/disk.rb', line 171 def is_available @is_available end |
- (String) name
名前
400 401 402 |
# File 'lib/saklient/cloud/resources/disk.rb', line 400 def name @name end |
- (DiskPlan) plan
プラン
627 628 629 |
# File 'lib/saklient/cloud/resources/disk.rb', line 627 def plan @plan end |
- (Server) server (readonly)
接続先のサーバ
655 656 657 |
# File 'lib/saklient/cloud/resources/disk.rb', line 655 def server @server end |
- (String) service_class (readonly)
サービスクラス
590 591 592 |
# File 'lib/saklient/cloud/resources/disk.rb', line 590 def service_class @service_class end |
- (Fixnum) size_gib
200 201 202 |
# File 'lib/saklient/cloud/resources/disk.rb', line 200 def size_gib @size_gib end |
- (Fixnum) size_mib
562 563 564 |
# File 'lib/saklient/cloud/resources/disk.rb', line 562 def size_mib @size_mib end |
- (Resource) source
ディスクのコピー元
236 237 238 |
# File 'lib/saklient/cloud/resources/disk.rb', line 236 def source @source end |
- (Array<String>) tags
タグ文字列の配列
481 482 483 |
# File 'lib/saklient/cloud/resources/disk.rb', line 481 def @tags end |
Instance Method Details
- (Disk) connect_to(server)
ディスクをサーバに取り付けます.
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 |
- (DiskConfig) create_config
ディスク修正を行うためのオブジェクトを用意します.
返り値のオブジェクトにパラメータを設定し, 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 |
- (Disk) disconnect
ディスクをサーバから取り外します.
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 |
- (Disk) reload
最新のリソース情報を再取得します.
119 120 121 |
# File 'lib/saklient/cloud/resources/disk.rb', line 119 def reload return _reload end |
- (Disk) save
このローカルオブジェクトに現在設定されているリソース情報をAPIに送信し, 新規作成または上書き保存します.
112 113 114 |
# File 'lib/saklient/cloud/resources/disk.rb', line 112 def save return _save end |
- (bool) sleep_while_copying(timeoutSec = 3600)
コピー中のディスクが利用可能になるまで待機します.
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 |