Class: Saklient::Cloud::Resources::DiskConfig
- Inherits:
-
Object
- Object
- Saklient::Cloud::Resources::DiskConfig
- Defined in:
- lib/saklient/cloud/resources/disk_config.rb
Overview
ディスク修正のパラメータ.
Instance Attribute Summary collapse
- #client ⇒ Saklient::Cloud::Client readonly
-
#default_route ⇒ String
デフォルトルート.
- #disk_id ⇒ String readonly
-
#host_name ⇒ String
ホスト名.
-
#ip_address ⇒ String
IPアドレス.
-
#network_mask_len ⇒ Fixnum
ネットワークマスク長.
-
#password ⇒ String
ログインパスワード.
-
#scripts ⇒ Array<Script>
readonly
スタートアップスクリプト Script の配列(pushによりスクリプトを追加できます).
-
#ssh_key ⇒ String
SSHキー.
-
#ssh_keys ⇒ Array<String>
readonly
SSHキー.
Instance Method Summary collapse
-
#add_script(script) ⇒ DiskConfig
スタートアップスクリプトを追加します.
-
#initialize(client, diskId) ⇒ DiskConfig
constructor
A new instance of DiskConfig.
-
#write ⇒ DiskConfig
修正内容を実際のディスクに書き込みます.
Constructor Details
#initialize(client, diskId) ⇒ DiskConfig
Returns a new instance of DiskConfig.
322 323 324 325 326 327 328 329 330 331 332 333 334 |
# File 'lib/saklient/cloud/resources/disk_config.rb', line 322 def initialize(client, diskId) Saklient::Util::validate_type(client, 'Saklient::Cloud::Client') Saklient::Util::validate_type(diskId, 'String') @_client = client @_disk_id = diskId @_host_name = nil @_password = nil @_ssh_keys = [] @_ip_address = nil @_default_route = nil @_network_mask_len = nil @_scripts = [] end |
Instance Attribute Details
#client ⇒ Saklient::Cloud::Client (readonly)
32 33 34 |
# File 'lib/saklient/cloud/resources/disk_config.rb', line 32 def client @client end |
#default_route ⇒ String
デフォルトルート
250 251 252 |
# File 'lib/saklient/cloud/resources/disk_config.rb', line 250 def default_route @default_route end |
#disk_id ⇒ String (readonly)
54 55 56 |
# File 'lib/saklient/cloud/resources/disk_config.rb', line 54 def disk_id @disk_id end |
#host_name ⇒ String
ホスト名
86 87 88 |
# File 'lib/saklient/cloud/resources/disk_config.rb', line 86 def host_name @host_name end |
#ip_address ⇒ String
IPアドレス
214 215 216 |
# File 'lib/saklient/cloud/resources/disk_config.rb', line 214 def ip_address @ip_address end |
#network_mask_len ⇒ Fixnum
ネットワークマスク長
286 287 288 |
# File 'lib/saklient/cloud/resources/disk_config.rb', line 286 def network_mask_len @network_mask_len end |
#password ⇒ String
ログインパスワード
122 123 124 |
# File 'lib/saklient/cloud/resources/disk_config.rb', line 122 def password @password end |
#scripts ⇒ Array<Script> (readonly)
スタートアップスクリプト Script の配列(pushによりスクリプトを追加できます)
313 314 315 |
# File 'lib/saklient/cloud/resources/disk_config.rb', line 313 def scripts @scripts end |
#ssh_key ⇒ String
SSHキー
169 170 171 |
# File 'lib/saklient/cloud/resources/disk_config.rb', line 169 def ssh_key @ssh_key end |
#ssh_keys ⇒ Array<String> (readonly)
SSHキー
182 183 184 |
# File 'lib/saklient/cloud/resources/disk_config.rb', line 182 def ssh_keys @ssh_keys end |
Instance Method Details
#add_script(script) ⇒ DiskConfig
スタートアップスクリプトを追加します.
diskConfig.addScript(script) と diskConfig.scripts.push(script) の効果は同等です.
342 343 344 345 346 |
# File 'lib/saklient/cloud/resources/disk_config.rb', line 342 def add_script(script) Saklient::Util::validate_type(script, 'Saklient::Cloud::Resources::Script') @_scripts << script return self end |
#write ⇒ DiskConfig
修正内容を実際のディスクに書き込みます.
351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 |
# File 'lib/saklient/cloud/resources/disk_config.rb', line 351 def write q = {} Saklient::Util::set_by_path(q, 'HostName', @_host_name) if !(@_host_name).nil? Saklient::Util::set_by_path(q, 'Password', @_password) if !(@_password).nil? Saklient::Util::set_by_path(q, 'SSHKey.PublicKey', @_ssh_keys.join("\n")) if @_ssh_keys.length > 0 Saklient::Util::set_by_path(q, 'UserIPAddress', @_ip_address) if !(@_ip_address).nil? Saklient::Util::set_by_path(q, 'UserSubnet.DefaultRoute', @_default_route) if !(@_default_route).nil? Saklient::Util::set_by_path(q, 'UserSubnet.NetworkMaskLen', @_network_mask_len) if !(@_network_mask_len).nil? if 0 < @_scripts.length notes = [] for script in @_scripts notes << { ID: script._id } end Saklient::Util::set_by_path(q, 'Notes', notes) end path = '/disk/' + @_disk_id + '/config' @_client.request('PUT', path, q) return self end |