class Saklient::Cloud::Resources::DiskConfig
ディスク修正のパラメータ.
Attributes
@private @return [Saklient::Cloud::Client]
@private @return [String]
@private @return [String]
@private @return [String]
@private @return [String]
@private @return [Fixnum]
@private @return [String]
@private @return [Array<Script>]
@private @return [Array<String>]
@private @return [Saklient::Cloud::Client]
デフォルトルート
@return [String]
@private @return [String]
ホスト名
@return [String]
IPアドレス
@return [String]
ネットワークマスク長
@return [Fixnum]
ログインパスワード
@return [String]
スタートアップスクリプト {Script} の配列(pushによりスクリプトを追加できます)
@return [Array<Script>]
SSHキー
@return [String]
SSHキー
@return [Array<String>]
Public Class Methods
@private @param [Saklient::Cloud::Client] client @param [String] diskId
# File lib/saklient/cloud/resources/disk_config.rb, line 321 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
Public Instance Methods
スタートアップスクリプトを追加します.
diskConfig.addScript(script) と diskConfig.scripts.push(script) の効果は同等です.
@param [Script] script @return [DiskConfig] this
# File lib/saklient/cloud/resources/disk_config.rb, line 341 def add_script(script) Saklient::Util::validate_type(script, 'Saklient::Cloud::Resources::Script') @_scripts << script return self end
# File lib/saklient/cloud/resources/disk_config.rb, line 255 def default_route=(v) set_default_route(v) end
# File lib/saklient/cloud/resources/disk_config.rb, line 91 def host_name=(v) set_host_name(v) end
# File lib/saklient/cloud/resources/disk_config.rb, line 219 def ip_address=(v) set_ip_address(v) end
# File lib/saklient/cloud/resources/disk_config.rb, line 291 def network_mask_len=(v) set_network_mask_len(v) end
# File lib/saklient/cloud/resources/disk_config.rb, line 127 def password=(v) set_password(v) end
# File lib/saklient/cloud/resources/disk_config.rb, line 174 def ssh_key=(v) set_ssh_key(v) end
修正内容を実際のディスクに書き込みます.
@return [DiskConfig] this
# File lib/saklient/cloud/resources/disk_config.rb, line 350 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
Protected Instance Methods
@private @return [Saklient::Cloud::Client]
# File lib/saklient/cloud/resources/disk_config.rb, line 23 def get_client return @_client end
@private @return [String]
# File lib/saklient/cloud/resources/disk_config.rb, line 231 def get_default_route return @_default_route end
@private @return [String]
# File lib/saklient/cloud/resources/disk_config.rb, line 45 def get_disk_id return @_disk_id end
@private @return [String]
# File lib/saklient/cloud/resources/disk_config.rb, line 67 def get_host_name return @_host_name end
@private @return [String]
# File lib/saklient/cloud/resources/disk_config.rb, line 195 def get_ip_address return @_ip_address end
@private @return [Fixnum]
# File lib/saklient/cloud/resources/disk_config.rb, line 267 def get_network_mask_len return @_network_mask_len end
@private @return [String]
# File lib/saklient/cloud/resources/disk_config.rb, line 103 def get_password return @_password end
@private @return [Array<Script>]
# File lib/saklient/cloud/resources/disk_config.rb, line 303 def get_scripts return @_scripts end
@private @return [String]
# File lib/saklient/cloud/resources/disk_config.rb, line 145 def get_ssh_key return nil if @_ssh_keys.length < 1 return @_ssh_keys[0] end
@private @return [Array<String>]
# File lib/saklient/cloud/resources/disk_config.rb, line 139 def get_ssh_keys return @_ssh_keys end
@private @param [String] v @return [String]
# File lib/saklient/cloud/resources/disk_config.rb, line 238 def set_default_route(v) Saklient::Util::validate_type(v, 'String') @_default_route = v return v end
@private @param [String] v @return [String]
# File lib/saklient/cloud/resources/disk_config.rb, line 74 def set_host_name(v) Saklient::Util::validate_type(v, 'String') @_host_name = v return v end
@private @param [String] v @return [String]
# File lib/saklient/cloud/resources/disk_config.rb, line 202 def set_ip_address(v) Saklient::Util::validate_type(v, 'String') @_ip_address = v return v end
@private @param [Fixnum] v @return [Fixnum]
# File lib/saklient/cloud/resources/disk_config.rb, line 274 def set_network_mask_len(v) Saklient::Util::validate_type(v, 'Fixnum') @_network_mask_len = v return v end
@private @param [String] v @return [String]
# File lib/saklient/cloud/resources/disk_config.rb, line 110 def set_password(v) Saklient::Util::validate_type(v, 'String') @_password = v return v end
@private @param [String] v @return [String]
# File lib/saklient/cloud/resources/disk_config.rb, line 153 def set_ssh_key(v) Saklient::Util::validate_type(v, 'String') if @_ssh_keys.length < 1 @_ssh_keys << v else @_ssh_keys[0] = v end return v end