我使用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"}}
似乎有些过滤器工作得很好,但有些过滤器会被忽略。 我错过了什么?
答案 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",当您的服务器具有带宽数据时,将创建此属性。
此致