class Saklient::Cloud::Resources::DiskConfig

ディスク修正のパラメータ.

Attributes

_client[RW]

@private @return [Saklient::Cloud::Client]

_default_route[RW]

@private @return [String]

_disk_id[RW]

@private @return [String]

_host_name[RW]

@private @return [String]

_ip_address[RW]

@private @return [String]

_network_mask_len[RW]

@private @return [Fixnum]

_password[RW]

@private @return [String]

_scripts[RW]

@private @return [Array<Script>]

_ssh_keys[RW]

@private @return [Array<String>]

client[R]

@private @return [Saklient::Cloud::Client]

default_route[RW]

デフォルトルート

@return [String]

disk_id[R]

@private @return [String]

host_name[RW]

ホスト名

@return [String]

ip_address[RW]

IPアドレス

@return [String]

network_mask_len[RW]

ネットワークマスク長

@return [Fixnum]

password[RW]

ログインパスワード

@return [String]

scripts[R]

スタートアップスクリプト {Script} の配列(pushによりスクリプトを追加できます)

@return [Array<Script>]

ssh_key[RW]

SSHキー

@return [String]

ssh_keys[R]

SSHキー

@return [Array<String>]

Public Class Methods

new(client, diskId) click to toggle source

@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

add_script(script) click to toggle source

スタートアップスクリプトを追加します.

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
default_route=(v) click to toggle source
# File lib/saklient/cloud/resources/disk_config.rb, line 255
def default_route=(v)
  set_default_route(v)
end
host_name=(v) click to toggle source
# File lib/saklient/cloud/resources/disk_config.rb, line 91
def host_name=(v)
  set_host_name(v)
end
ip_address=(v) click to toggle source
# File lib/saklient/cloud/resources/disk_config.rb, line 219
def ip_address=(v)
  set_ip_address(v)
end
network_mask_len=(v) click to toggle source
# File lib/saklient/cloud/resources/disk_config.rb, line 291
def network_mask_len=(v)
  set_network_mask_len(v)
end
password=(v) click to toggle source
# File lib/saklient/cloud/resources/disk_config.rb, line 127
def password=(v)
  set_password(v)
end
ssh_key=(v) click to toggle source
# File lib/saklient/cloud/resources/disk_config.rb, line 174
def ssh_key=(v)
  set_ssh_key(v)
end
write() click to toggle source

修正内容を実際のディスクに書き込みます.

@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

get_client() click to toggle source

@private @return [Saklient::Cloud::Client]

# File lib/saklient/cloud/resources/disk_config.rb, line 23
def get_client
  return @_client
end
get_default_route() click to toggle source

@private @return [String]

# File lib/saklient/cloud/resources/disk_config.rb, line 231
def get_default_route
  return @_default_route
end
get_disk_id() click to toggle source

@private @return [String]

# File lib/saklient/cloud/resources/disk_config.rb, line 45
def get_disk_id
  return @_disk_id
end
get_host_name() click to toggle source

@private @return [String]

# File lib/saklient/cloud/resources/disk_config.rb, line 67
def get_host_name
  return @_host_name
end
get_ip_address() click to toggle source

@private @return [String]

# File lib/saklient/cloud/resources/disk_config.rb, line 195
def get_ip_address
  return @_ip_address
end
get_network_mask_len() click to toggle source

@private @return [Fixnum]

# File lib/saklient/cloud/resources/disk_config.rb, line 267
def get_network_mask_len
  return @_network_mask_len
end
get_password() click to toggle source

@private @return [String]

# File lib/saklient/cloud/resources/disk_config.rb, line 103
def get_password
  return @_password
end
get_scripts() click to toggle source

@private @return [Array<Script>]

# File lib/saklient/cloud/resources/disk_config.rb, line 303
def get_scripts
  return @_scripts
end
get_ssh_key() click to toggle source

@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
get_ssh_keys() click to toggle source

@private @return [Array<String>]

# File lib/saklient/cloud/resources/disk_config.rb, line 139
def get_ssh_keys
  return @_ssh_keys
end
set_default_route(v) click to toggle source

@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
set_host_name(v) click to toggle source

@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
set_ip_address(v) click to toggle source

@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
set_network_mask_len(v) click to toggle source

@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
set_password(v) click to toggle source

@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
set_ssh_key(v) click to toggle source

@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