Class: Saklient::Cloud::Resources::Appliance
- Defined in:
- lib/saklient/cloud/resources/appliance.rb
Overview
アプライアンスの実体1つに対応し, 属性の取得や操作を行うためのクラス.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#availability ⇒ String
readonly
有効状態 Enums::EAvailability.
- #clazz ⇒ String
-
#description ⇒ String
説明.
-
#icon ⇒ Icon
アイコン.
-
#id ⇒ String
readonly
ID.
-
#ifaces ⇒ Array<Iface>
readonly
インタフェース Iface の配列.
-
#name ⇒ String
名前.
-
#plan_id ⇒ Fixnum
プラン.
-
#raw_annotation ⇒ any
注釈.
-
#raw_settings ⇒ any
設定の生データ.
- #raw_settings_hash ⇒ String readonly
-
#service_class ⇒ String
readonly
サービスクラス.
- #status ⇒ String readonly
-
#swytch_id ⇒ String
readonly
接続先スイッチID.
-
#tags ⇒ Array<String>
タグ文字列の配列.
Attributes inherited from Resource
Instance Method Summary collapse
- #_class_name ⇒ String
- #_id ⇒ String
-
#apply ⇒ Appliance
アプライアンスの設定を反映します.
-
#boot ⇒ Appliance
アプライアンスを起動します.
-
#get_swytch ⇒ Swytch
このルータが接続されているスイッチを取得します.
-
#initialize(client, obj, wrapped = false) ⇒ Appliance
constructor
A new instance of Appliance.
-
#reboot ⇒ Appliance
アプライアンスを強制再起動します.
-
#reload ⇒ Appliance
最新のリソース情報を再取得します.
-
#save ⇒ Appliance
このローカルオブジェクトに現在設定されているリソース情報をAPIに送信し, 新規作成または上書き保存します.
-
#shutdown ⇒ Appliance
アプライアンスをシャットダウンします.
-
#sleep_until_down(timeoutSec = 600) ⇒ bool
アプライアンスが停止するまで待機します.
-
#sleep_until_up(timeoutSec = 600) ⇒ bool
アプライアンスが起動するまで待機します.
-
#sleep_while_creating(timeoutSec = 600) ⇒ bool
作成中のアプライアンスが利用可能になるまで待機します.
-
#stop ⇒ Appliance
アプライアンスを強制停止します.
Methods inherited from Resource
#api_deserialize, #api_serialize, create_with, #destroy, #dump, #exists, #request_retry, #set_param
Constructor Details
#initialize(client, obj, wrapped = false) ⇒ Appliance
Returns a new instance of Appliance.
150 151 152 153 154 155 |
# File 'lib/saklient/cloud/resources/appliance.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') api_deserialize(obj, wrapped) end |
Instance Attribute Details
#availability ⇒ String (readonly)
有効状態 Enums::EAvailability
742 743 744 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 742 def availability @availability end |
#clazz ⇒ String
337 338 339 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 337 def clazz @clazz end |
#description ⇒ String
説明
417 418 419 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 417 def description @description end |
#icon ⇒ Icon
アイコン
498 499 500 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 498 def icon @icon end |
#id ⇒ String (readonly)
ID
300 301 302 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 300 def id @id end |
#ifaces ⇒ Array<Iface> (readonly)
インタフェース Iface の配列
567 568 569 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 567 def ifaces @ifaces end |
#name ⇒ String
名前
377 378 379 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 377 def name @name end |
#plan_id ⇒ Fixnum
プラン
539 540 541 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 539 def plan_id @plan_id end |
#raw_annotation ⇒ any
注釈
603 604 605 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 603 def raw_annotation @raw_annotation end |
#raw_settings ⇒ any
設定の生データ
643 644 645 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 643 def raw_settings @raw_settings end |
#raw_settings_hash ⇒ String (readonly)
670 671 672 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 670 def raw_settings_hash @raw_settings_hash end |
#service_class ⇒ String (readonly)
サービスクラス
718 719 720 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 718 def service_class @service_class end |
#status ⇒ String (readonly)
694 695 696 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 694 def status @status end |
#swytch_id ⇒ String (readonly)
接続先スイッチID
766 767 768 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 766 def swytch_id @swytch_id end |
#tags ⇒ Array<String>
タグ文字列の配列
458 459 460 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 458 def @tags end |
Instance Method Details
#_class_name ⇒ String
122 123 124 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 122 def _class_name return 'Appliance' end |
#_id ⇒ String
128 129 130 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 128 def _id return get_id end |
#apply ⇒ Appliance
アプライアンスの設定を反映します.
180 181 182 183 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 180 def apply @_client.request('PUT', _api_path + '/' + Saklient::Util::url_encode(_id) + '/config') return self end |
#boot ⇒ Appliance
アプライアンスを起動します.
188 189 190 191 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 188 def boot @_client.request('PUT', _api_path + '/' + Saklient::Util::url_encode(_id) + '/power') return self end |
#get_swytch ⇒ Swytch
このルータが接続されているスイッチを取得します.
171 172 173 174 175 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 171 def get_swytch model = Saklient::Util::create_class_instance('saklient.cloud.models.Model_Swytch', [@_client]) id = get_swytch_id return model.get_by_id(id) end |
#reboot ⇒ Appliance
アプライアンスを強制再起動します.
212 213 214 215 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 212 def reboot @_client.request('PUT', _api_path + '/' + Saklient::Util::url_encode(_id) + '/reset') return self end |
#reload ⇒ Appliance
最新のリソース情報を再取得します.
142 143 144 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 142 def reload return _reload end |
#save ⇒ Appliance
このローカルオブジェクトに現在設定されているリソース情報をAPIに送信し, 新規作成または上書き保存します.
135 136 137 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 135 def save return _save end |
#shutdown ⇒ Appliance
アプライアンスをシャットダウンします.
196 197 198 199 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 196 def shutdown @_client.request('DELETE', _api_path + '/' + Saklient::Util::url_encode(_id) + '/power') return self end |
#sleep_until_down(timeoutSec = 600) ⇒ bool
アプライアンスが停止するまで待機します.
252 253 254 255 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 252 def sleep_until_down(timeoutSec = 600) Saklient::Util::validate_type(timeoutSec, 'Fixnum') return sleep_until(Saklient::Cloud::Enums::EServerInstanceStatus::down, timeoutSec) end |
#sleep_until_up(timeoutSec = 600) ⇒ bool
アプライアンスが起動するまで待機します.
243 244 245 246 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 243 def sleep_until_up(timeoutSec = 600) Saklient::Util::validate_type(timeoutSec, 'Fixnum') return sleep_until(Saklient::Cloud::Enums::EServerInstanceStatus::up, timeoutSec) end |
#sleep_while_creating(timeoutSec = 600) ⇒ bool
作成中のアプライアンスが利用可能になるまで待機します.
221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 221 def sleep_while_creating(timeoutSec = 600) 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 |
#stop ⇒ Appliance
アプライアンスを強制停止します.
204 205 206 207 |
# File 'lib/saklient/cloud/resources/appliance.rb', line 204 def stop @_client.request('DELETE', _api_path + '/' + Saklient::Util::url_encode(_id) + '/power', { Force: true }) return self end |