Como obter o nome de usuário e a data de provisionamento do pedido para todas as máquinas SoftLayer usando Ruby?

Usando Ruby, estou fazendo uma ligação como:

client = SoftLayer::Client.new(:username => user, :api_key => api_key, :timeout => 999999)
client['Account'].object_mask("mask[id, hostname, fullyQualifiedDomainName, provisionDate, datacenter[name], billingItem[recurringFee, associatedChildren[recurringFee], orderItem[description, order[userRecord[username], id]]], tagReferences[tagId, tag[name]], primaryIpAddress, primaryBackendIpAddress]").getHardware

Mas apenas algumas máquinas retornam um provisionDate e apenas algumas informações de orderItem de devolução. Como posso obter essas informações de forma consistente para cada máquina? O que faria uma máquina retornar esses dados e outra não?

Exemplo de saída:

{"fullyQualifiedDomainName"=>"<removed_by_me>",
 "hostname"=>"<removed_by_me>",
 "id"=>167719,
 "provisionDate"=>"",
 "primaryBackendIpAddress"=>"<removed_by_me>",
 "primaryIpAddress"=>"<removed_by_me>",
 "billingItem"=>
  {"recurringFee"=>"506.78",
   "associatedChildren"=>
    [<removed_by_me>]},
 "datacenter"=>{"name"=>"dal09"},
  "tagReferences"=>
  [{"tagId"=>139415, "tag"=>{"name"=>"<removed_by_me>"}},
   {"tagId"=>139417, "tag"=>{"name"=>"<removed_by_me>"}},
   {"tagId"=>140549, "tag"=>{"name"=>"<removed_by_me>"}}]}

Para ficar claro, a maioria das máquinas retorna esses dados, então estou tentando entender por que algumas não.

questionAnswers(1)

yourAnswerToTheQuestion