2016-10-21 3 views
0

Ich verwende die Ruby-API, um die Bandbreitenzusammenfassung zu erhalten. Ich erstelle ein Client-Objekt und versuchen currentBandwidthSummary vom Virtual_Guest Service zu erhalten:Bandbreitenzusammenfassung für den Softlayer-Server

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

Aber es gibt nicht die currentBandwidthSummary Objekt. Ich habe gesehen, dass es für alte Server funktioniert, die ich habe, aber was ich tun möchte, ist currentBandwidthSummar direkt von dem neuen Server, der gerade erstellt wurde, zu erhalten.

Beachten Sie, dass der Server AKTIV ist, also nicht im Bereitstellungszustand oder so. Das Client-Objekt wird so initialisiert:

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

Die provisionDate gesetzt:

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"}} 

Es scheint, wie einige Filter ziemlich gut funktionieren, aber einige werden ignoriert. Was vermisse ich?

Antwort

0

Es ist wahrscheinlich, weil der Server noch in Provisioning ist, bedeutet der ACTIVE-Status nicht, dass der Server bereit ist, müssen Sie für die "ProvisionDate" -Eigenschaft überprüfen, wenn dieser Wert leer ist oder Null der Server noch ist Bereitstellungsprozess. In diesem Blog finden Sie weitere Informationen darüber, ob das neue CCI die Bereitstellung abgeschlossen hat.

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

Falls die provisioningDate Eigenschaft einen Wert hat, aktualisieren Sie bitte Ihre Frage Addieren des Ergebnisses, das Sie von der API erhalten.

Wenn im Solftlayer-Portal keine Daten angezeigt werden, zeigt die API nicht "currentBandwidthSummary" an. Diese Eigenschaft wird erstellt, wenn der Server über Bandbreitendaten verfügt.

Grüße

+0

Ich wusste nicht über ProvisionDate, aber es ist da, also muss etwas anderes sein –

+0

Was ist das Ergebnis, das Sie haben? ist leer ? ist eine Fehlermeldung? –

+0

überprüfen Sie bitte in der Frage, fügte ich das Ergebnis beim Versuch, die Zusammenfassung Bandbreite zu bekommen. Es scheint, dass die currentBandwidthSummary-Eigenschaft nicht erneut zurückgegeben wird. keine Fehler, nur nichts –

1

Nur wenn jemand das braucht. Ich suchte nach currentBandwidthSummary.allocationAmount, aber es stellte sich heraus, dass es dasselbe wie bandwidthAllocation ist. Wie bereits erwähnt, ist currentBandwidthSummary aus bestimmten Gründen nicht verfügbar, aber bandwidthAllocation ist.

Mein schlechtes, dass ich das nicht bemerkt habe, bevor ich die Frage gestellt habe. :)