Softlayer服务器

时间:2016-10-21 10:22:11

标签: ibm-cloud-infrastructure

我使用ruby API来获取带宽摘要。 我创建了一个客户端对象,并尝试从Virtual_Guest服务获取currentBandwidthSummary:

client.service_named("Virtual_Guest").object_mask('mask[currentBandwidthSummary]').object_with_id(server_id).getObject

但它没有返回currentBandwidthSummary对象。我已经看到它适用于我所拥有的旧服务器,但我想做的是从刚刚创建的新服务器获取currentBandwidthSummar。

请注意,服务器是ACTIVE,因此它不处于部署状态或其他状态。 客户端对象初始化如下:

client = ::SoftLayer::Client.new(username: user, api_key: api_key, endpoint_url: url)

设置了dateDate:

 client.service_named("Virtual_Guest").object_mask('mask[currentBandwidthSummary]').object_with_id(@server.server_id).getObject
=> {"accountId"=>"removed",
 "createDate"=>"2016-10-21T08:48:03-05:00",
 "dedicatedAccountHostOnlyFlag"=>false,
 "domain"=>"please.delete.com",
 "fullyQualifiedDomainName"=>"removed",
 "hostname"=>"removed",
 "id"=>"removed",
 "lastPowerStateId"=>"",
 "lastVerifiedDate"=>"",
 "maxCpu"=>1,
 "maxCpuUnits"=>"CORE",
 "maxMemory"=>1024,
 "metricPollDate"=>"",
 "modifyDate"=>"2016-10-21T08:51:19-05:00",
 "provisionDate"=>"2016-10-21T08:51:19-05:00",
 "startCpus"=>1,
 "statusId"=>1001,
 "uuid"=>"removed",
 "globalIdentifier"=>"removed",
 "managedResourceFlag"=>false,
 "primaryBackendIpAddress"=>"removed",
 "status"=>{"keyName"=>"ACTIVE", "name"=>"Active"}}

似乎有些过滤器工作得很好,但有些过滤器会被忽略。 我错过了什么?

2 个答案:

答案 0 :(得分:1)

如果有人需要那个。我一直在寻找currentBandwidthSummary.allocationAmount,但事实证明它与bandwidthAllocation相同。如上所述,currentBandwidthSummary由于某种原因不可用,但bandwidthAllocation是。

我不好意思,在提出问题之前我没有注意到。 :)

答案 1 :(得分:0)

可能是因为服务器仍处于配置过程中,ACTIVE状态并不意味着服务器已准备就绪,您需要检查" provisionDate"如果此值为空或null,则服务器仍处于供应过程中。请查看此博客,了解有关检查新CCI是否已完成配置的更多信息。

http://sldn.softlayer.com/blog/phil/simplified-cci-creation

如果provisioningDate属性有值,请更新您的问题,添加从API获得的结果。

如果您在Solftlayer的门户网站中没有看到数据,那么API将不会显示" currentBandwidthSummary",当您的服务器具有带宽数据时,将创建此属性。

此致