Class: Saklient::Cloud::Models::Model_Server
- Defined in:
- lib/saklient/cloud/models/model_server.rb
Overview
サーバを検索・作成するための機能を備えたクラス.
Instance Attribute Summary
Attributes inherited from Model
#client, #count, #query, #total
Instance Method Summary collapse
-
#create ⇒ Saklient::Cloud::Resources::Server
新規リソース作成用のオブジェクトを用意します.
-
#filter_by(key, value, multiple = false) ⇒ Model_Server
Web APIのフィルタリング設定を直接指定します.
-
#find ⇒ Array<Saklient::Cloud::Resources::Server>
リソースの検索リクエストを実行し, 結果をリストで取得します.
-
#get_by_id(id) ⇒ Saklient::Cloud::Resources::Server
指定したIDを持つ唯一のリソースを取得します.
-
#initialize(client) ⇒ Model_Server
constructor
A new instance of Model_Server.
-
#limit(count) ⇒ Model_Server
次に取得するリストの上限レコード数を指定します.
-
#offset(offset) ⇒ Model_Server
次に取得するリストの開始オフセットを指定します.
-
#reset ⇒ Model_Server
次のリクエストのために設定されているステートをすべて破棄します.
-
#sort_by_cpu(reverse = false) ⇒ Model_Server
仮想コア数でソートします.
-
#sort_by_memory(reverse = false) ⇒ Model_Server
メモリ容量でソートします.
-
#sort_by_name(reverse = false) ⇒ Model_Server
名前でソートします.
-
#with_iso_image(iso) ⇒ Model_Server
指定したISOイメージが挿入されているサーバに絞り込みます.
-
#with_name_like(name) ⇒ Model_Server
指定した文字列を名前に含むリソースに絞り込みます.
-
#with_plan(plan) ⇒ Model_Server
指定したプランのサーバに絞り込みます.
-
#with_status(status) ⇒ Model_Server
インスタンスが指定した状態にあるサーバに絞り込みます.
-
#with_status_down ⇒ Model_Server
インスタンスが停止中のサーバに絞り込みます.
-
#with_status_up ⇒ Model_Server
インスタンスが起動中のサーバに絞り込みます.
-
#with_tag(tag) ⇒ Model_Server
指定したタグを持つリソースに絞り込みます.
-
#with_tag_dnf(dnf) ⇒ Model_Server
指定したDNFに合致するタグを持つリソースに絞り込みます.
-
#with_tags(tags) ⇒ Model_Server
指定したすべてのタグを持つリソースに絞り込みます.
Constructor Details
#initialize(client) ⇒ Model_Server
Returns a new instance of Model_Server.
176 177 178 179 |
# File 'lib/saklient/cloud/models/model_server.rb', line 176 def initialize(client) super(client) Saklient::Util::validate_type(client, 'Saklient::Cloud::Client') end |
Instance Method Details
#create ⇒ Saklient::Cloud::Resources::Server
新規リソース作成用のオブジェクトを用意します.
返り値のオブジェクトにパラメータを設定し, save() を呼ぶことで実際のリソースが作成されます.
99 100 101 |
# File 'lib/saklient/cloud/models/model_server.rb', line 99 def create return _create end |
#filter_by(key, value, multiple = false) ⇒ Model_Server
Web APIのフィルタリング設定を直接指定します.
81 82 83 84 85 |
# File 'lib/saklient/cloud/models/model_server.rb', line 81 def filter_by(key, value, multiple = false) Saklient::Util::validate_type(key, 'String') Saklient::Util::validate_type(multiple, 'bool') return _filter_by(key, value, multiple) end |
#find ⇒ Array<Saklient::Cloud::Resources::Server>
リソースの検索リクエストを実行し, 結果をリストで取得します.
115 116 117 |
# File 'lib/saklient/cloud/models/model_server.rb', line 115 def find return _find end |
#get_by_id(id) ⇒ Saklient::Cloud::Resources::Server
指定したIDを持つ唯一のリソースを取得します.
107 108 109 110 |
# File 'lib/saklient/cloud/models/model_server.rb', line 107 def get_by_id(id) Saklient::Util::validate_type(id, 'String') return _get_by_id(id) end |
#limit(count) ⇒ Model_Server
次に取得するリストの上限レコード数を指定します.
70 71 72 73 |
# File 'lib/saklient/cloud/models/model_server.rb', line 70 def limit(count) Saklient::Util::validate_type(count, 'Fixnum') return _limit(count) end |
#offset(offset) ⇒ Model_Server
次に取得するリストの開始オフセットを指定します.
61 62 63 64 |
# File 'lib/saklient/cloud/models/model_server.rb', line 61 def offset(offset) Saklient::Util::validate_type(offset, 'Fixnum') return _offset(offset) end |
#reset ⇒ Model_Server
次のリクエストのために設定されているステートをすべて破棄します.
90 91 92 |
# File 'lib/saklient/cloud/models/model_server.rb', line 90 def reset return _reset end |
#sort_by_cpu(reverse = false) ⇒ Model_Server
仮想コア数でソートします.
229 230 231 232 233 |
# File 'lib/saklient/cloud/models/model_server.rb', line 229 def sort_by_cpu(reverse = false) Saklient::Util::validate_type(reverse, 'bool') _sort('ServerPlan.CPU', reverse) return self end |
#sort_by_memory(reverse = false) ⇒ Model_Server
メモリ容量でソートします.
239 240 241 242 243 |
# File 'lib/saklient/cloud/models/model_server.rb', line 239 def sort_by_memory(reverse = false) Saklient::Util::validate_type(reverse, 'bool') _sort('ServerPlan.MemoryMB', reverse) return self end |
#sort_by_name(reverse = false) ⇒ Model_Server
Implement test case
名前でソートします.
169 170 171 172 |
# File 'lib/saklient/cloud/models/model_server.rb', line 169 def sort_by_name(reverse = false) Saklient::Util::validate_type(reverse, 'bool') return _sort_by_name(reverse) end |
#with_iso_image(iso) ⇒ Model_Server
指定したISOイメージが挿入されているサーバに絞り込みます.
219 220 221 222 223 |
# File 'lib/saklient/cloud/models/model_server.rb', line 219 def with_iso_image(iso) Saklient::Util::validate_type(iso, 'Saklient::Cloud::Resources::IsoImage') _filter_by('Instance.CDROM.ID', [iso._id]) return self end |
#with_name_like(name) ⇒ Model_Server
Implement test case
指定した文字列を名前に含むリソースに絞り込みます.
大文字・小文字は区別されません. 半角スペースで区切られた複数の文字列は, それらをすべて含むことが条件とみなされます.
127 128 129 130 |
# File 'lib/saklient/cloud/models/model_server.rb', line 127 def with_name_like(name) Saklient::Util::validate_type(name, 'String') return _with_name_like(name) end |
#with_plan(plan) ⇒ Model_Server
指定したプランのサーバに絞り込みます.
185 186 187 188 189 |
# File 'lib/saklient/cloud/models/model_server.rb', line 185 def with_plan(plan) Saklient::Util::validate_type(plan, 'Saklient::Cloud::Resources::ServerPlan') _filter_by('ServerPlan.ID', [plan._id]) return self end |
#with_status(status) ⇒ Model_Server
インスタンスが指定した状態にあるサーバに絞り込みます.
195 196 197 198 199 |
# File 'lib/saklient/cloud/models/model_server.rb', line 195 def with_status(status) Saklient::Util::validate_type(status, 'String') _filter_by('Instance.Status', [status]) return self end |
#with_status_down ⇒ Model_Server
インスタンスが停止中のサーバに絞り込みます.
211 212 213 |
# File 'lib/saklient/cloud/models/model_server.rb', line 211 def with_status_down return with_status(Saklient::Cloud::Enums::EServerInstanceStatus::down) end |
#with_status_up ⇒ Model_Server
インスタンスが起動中のサーバに絞り込みます.
204 205 206 |
# File 'lib/saklient/cloud/models/model_server.rb', line 204 def with_status_up return with_status(Saklient::Cloud::Enums::EServerInstanceStatus::up) end |
#with_tag(tag) ⇒ Model_Server
Implement test case
指定したタグを持つリソースに絞り込みます.
複数のタグを指定する場合は withTags() を利用してください.
139 140 141 142 |
# File 'lib/saklient/cloud/models/model_server.rb', line 139 def with_tag(tag) Saklient::Util::validate_type(tag, 'String') return _with_tag(tag) end |
#with_tag_dnf(dnf) ⇒ Model_Server
Implement test case
指定したDNFに合致するタグを持つリソースに絞り込みます.
159 160 161 162 |
# File 'lib/saklient/cloud/models/model_server.rb', line 159 def with_tag_dnf(dnf) Saklient::Util::validate_type(dnf, 'Array') return _with_tag_dnf(dnf) end |
#with_tags(tags) ⇒ Model_Server
Implement test case
指定したすべてのタグを持つリソースに絞り込みます.
149 150 151 152 |
# File 'lib/saklient/cloud/models/model_server.rb', line 149 def () Saklient::Util::validate_type(, 'Array') return () end |