Class: Saklient::Cloud::Resources::Archive
- Defined in:
- lib/saklient/cloud/resources/archive.rb
Overview
アーカイブの実体1つに対応し, 属性の取得や操作を行うためのクラス.
Instance Attribute Summary collapse
-
#availability ⇒ String
readonly
有効状態 Enums::EAvailability.
-
#description ⇒ String
説明.
-
#display_order ⇒ Fixnum
表示順序.
-
#ftp_info ⇒ FtpInfo
readonly
FTP情報.
-
#icon ⇒ Icon
アイコン.
-
#id ⇒ String
readonly
ID.
-
#is_available ⇒ bool
readonly
ディスクが利用可能なときtrueを返します.
-
#name ⇒ String
名前.
-
#plan ⇒ DiskPlan
readonly
プラン.
-
#scope ⇒ String
readonly
スコープ Enums::EScope.
-
#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
-
#close_ftp ⇒ Archive
FTPSを終了し, アーカイブを利用可能な状態にします.
- #get_ftp_info ⇒ FtpInfo
- #get_source ⇒ Resource
-
#initialize(client, obj, wrapped = false) ⇒ Archive
constructor
A new instance of Archive.
-
#open_ftp(reset = false) ⇒ Archive
FTPSを開始し, イメージファイルをアップロード・ダウンロードできる状態にします.
-
#reload ⇒ Archive
最新のリソース情報を再取得します.
-
#save ⇒ Archive
このローカルオブジェクトに現在設定されているリソース情報を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) ⇒ Archive
Returns a new instance of Archive.
130 131 132 133 134 135 |
# File 'lib/saklient/cloud/resources/archive.rb', line 130 def initialize(client, obj, wrapped = false) super(client) Saklient::Util::validate_type(client, 'Saklient::Cloud::Client') Saklient::Util::validate_type(wrapped, 'bool') api_deserialize(obj, wrapped) end |
Instance Attribute Details
#availability ⇒ String (readonly)
有効状態 Enums::EAvailability
708 709 710 |
# File 'lib/saklient/cloud/resources/archive.rb', line 708 def availability @availability end |
#description ⇒ String
説明
470 471 472 |
# File 'lib/saklient/cloud/resources/archive.rb', line 470 def description @description end |
#display_order ⇒ Fixnum
表示順序
591 592 593 |
# File 'lib/saklient/cloud/resources/archive.rb', line 591 def display_order @display_order end |
#ftp_info ⇒ FtpInfo (readonly)
FTP情報
242 243 244 |
# File 'lib/saklient/cloud/resources/archive.rb', line 242 def ftp_info @ftp_info end |
#icon ⇒ Icon
アイコン
551 552 553 |
# File 'lib/saklient/cloud/resources/archive.rb', line 551 def icon @icon end |
#id ⇒ String (readonly)
ID
370 371 372 |
# File 'lib/saklient/cloud/resources/archive.rb', line 370 def id @id end |
#is_available ⇒ bool (readonly)
ディスクが利用可能なときtrueを返します.
150 151 152 |
# File 'lib/saklient/cloud/resources/archive.rb', line 150 def is_available @is_available end |
#name ⇒ String
名前
430 431 432 |
# File 'lib/saklient/cloud/resources/archive.rb', line 430 def name @name end |
#plan ⇒ DiskPlan (readonly)
プラン
684 685 686 |
# File 'lib/saklient/cloud/resources/archive.rb', line 684 def plan @plan end |
#scope ⇒ String (readonly)
スコープ Enums::EScope
394 395 396 |
# File 'lib/saklient/cloud/resources/archive.rb', line 394 def scope @scope end |
#service_class ⇒ String (readonly)
サービスクラス
660 661 662 |
# File 'lib/saklient/cloud/resources/archive.rb', line 660 def service_class @service_class end |
#size_gib ⇒ Fixnum
179 180 181 |
# File 'lib/saklient/cloud/resources/archive.rb', line 179 def size_gib @size_gib end |
#size_mib ⇒ Fixnum
632 633 634 |
# File 'lib/saklient/cloud/resources/archive.rb', line 632 def size_mib @size_mib end |
#source ⇒ Resource
アーカイブのコピー元
215 216 217 |
# File 'lib/saklient/cloud/resources/archive.rb', line 215 def source @source end |
#tags ⇒ Array<String>
タグ文字列の配列
511 512 513 |
# File 'lib/saklient/cloud/resources/archive.rb', line 511 def @tags end |
Instance Method Details
#_class_name ⇒ String
102 103 104 |
# File 'lib/saklient/cloud/resources/archive.rb', line 102 def _class_name return 'Archive' end |
#_id ⇒ String
108 109 110 |
# File 'lib/saklient/cloud/resources/archive.rb', line 108 def _id return get_id end |
#close_ftp ⇒ Archive
FTPSを終了し, アーカイブを利用可能な状態にします.
323 324 325 326 327 328 |
# File 'lib/saklient/cloud/resources/archive.rb', line 323 def close_ftp path = _api_path + '/' + Saklient::Util::url_encode(_id) + '/ftp' @_client.request('DELETE', path) @_ftp_info = nil return self end |
#get_ftp_info ⇒ FtpInfo
235 236 237 |
# File 'lib/saklient/cloud/resources/archive.rb', line 235 def get_ftp_info return @_ftp_info end |
#get_source ⇒ Resource
199 200 201 |
# File 'lib/saklient/cloud/resources/archive.rb', line 199 def get_source return @_source end |
#open_ftp(reset = false) ⇒ Archive
FTPSを開始し, イメージファイルをアップロード・ダウンロードできる状態にします.
アカウント情報は, ftpInfo プロパティから取得することができます.
310 311 312 313 314 315 316 317 318 |
# File 'lib/saklient/cloud/resources/archive.rb', line 310 def open_ftp(reset = false) Saklient::Util::validate_type(reset, 'bool') path = _api_path + '/' + Saklient::Util::url_encode(_id) + '/ftp' q = {} Saklient::Util::set_by_path(q, 'ChangePassword', reset) result = @_client.request('PUT', path, q) _on_after_api_deserialize(nil, result) return self end |
#reload ⇒ Archive
最新のリソース情報を再取得します.
122 123 124 |
# File 'lib/saklient/cloud/resources/archive.rb', line 122 def reload return _reload end |
#save ⇒ Archive
このローカルオブジェクトに現在設定されているリソース情報をAPIに送信し, 新規作成または上書き保存します.
115 116 117 |
# File 'lib/saklient/cloud/resources/archive.rb', line 115 def save return _save end |
#set_source(source) ⇒ Resource
206 207 208 209 210 |
# File 'lib/saklient/cloud/resources/archive.rb', line 206 def set_source(source) Saklient::Util::validate_type(source, 'Saklient::Cloud::Resources::Resource') @_source = source return source end |
#sleep_while_copying(timeoutSec = 3600) ⇒ bool
コピー中のアーカイブが利用可能になるまで待機します.
334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 |
# File 'lib/saklient/cloud/resources/archive.rb', line 334 def (timeoutSec = 3600) Saklient::Util::validate_type(timeoutSec, 'Fixnum') step = 3 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 |