在 Ruby 中设置分区数组

Set partition Array in Ruby

我正在编写脚本以使用自定义分区方案重新加载服务器。我在 Python 中有此工作,但我无法在 Ruby 中使用相同的代码,因为我是该语言的新手。

require 'softlayer_api'
require 'pp'

client = SoftLayer::Client.new(:timeout => 120)
server_id = REDACTED

config = { 

    'upgradeHardDriveFirmware' => 0,
        'upgradeBios' => 0,
        'hardDrives' => [
            {
                'complexType' => "SoftLayer_Hardware_Component_HardDrive",
                'partitions' => [
                    { 'name' => { "/" => { "minimumSize" => "212"} } },
                    { 'name' => { "/boot" => { "minimumSize" => ".25" } } },
                    { 'name' => { "/swap0" => { "minimumSize" => "32"} } },
                    { 'name' => { "/tmp" => { "minimumSize" => "212"} } },
                    { 'name' => { "/var" => { "minimumSize" => "212"} } },
                    { 'name' => { "/remove" => { "minimumSize" => "1", "grow" => "1" } } } 
                ]
            }
        ]
     }

setclient = client['Hardware_Server']
reload = setclient.object_with_id(server_id).reloadOperatingSystem('FORCE', config)

pp reload

当我 运行 脚本时,我收到有关以 /:

开头的分区数组的错误
$ ruby osReloadCustomPartitions.rb
    /Users/ryan/.rbenv/versions/2.3.0/lib/ruby/2.3.0/xmlrpc/client.rb:272:in `call': 
Partition (Array) must begin with a / (XMLRPC::FaultException)

尝试使用以下配置:

config = { 
    'upgradeHardDriveFirmware' => 0,
        'upgradeBios' => 0,
        'hardDrives' => [
            {
                'complexType' => "SoftLayer_Hardware_Component_HardDrive",
                'partitions' => [
                    { 'name' =>  "/",  "minimumSize" => "212"  },
                    { 'name' =>  "/boot",  "minimumSize" => ".25" },
                    { 'name' =>  "/swap0", "minimumSize" => "32" },
                    { 'name' => "/tmp" ,  "minimumSize" => "212"},
                    { 'name' =>  "/var",  "minimumSize" => "212" },
                    { 'name' =>  "/remove",  "minimumSize" => "1", "grow" => "1"  } 
                ]
            }
        ]
     }