2016-04-29 10 views
0

"categoryCode": "guest_disk1"または "categoryCode": "gateway_resource_group"のような請求項目がいくつかあります。このリソースは、どの親サーバーに属しているかをどのように識別できますか?同じカテゴリの2つのリソースをどのように区別するか。 hostnameを使用して2つのサーバーを識別するのと同じです。私は識別子として "id"を使用したくありません。私はparentIdとparentを使ってみましたが、私は常にそれをすべてのリソースに対してnullにします。softalyer orderItemの識別子を取得する方法

答えて

1

“ParentId”がnullの場合、それはあなたが(resourceTableId SoftLayer_Billing_Invoice_Item:請求書の項目に関連付けられているSOFTLAYERサービスの一意の識別子参照を。)必要item_idを持つことになり、resourceTableIdプロパティを参照してください。

、例えば

このリクエストの実行:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Account/getNextInvoiceTopLevelBillingItems?objectFilter={ "nextInvoiceTopLevelBillingItems": {  "orderItem": {  "order": {   "id": {   "operation": 5874669   }  }  } } }&objectMask=mask[id,categoryCode, item, parentId,orderItem[item],invoiceItems[id,resourceTableId,categoryCode,description,billingItemId],children[parentId,categoryCode,orderItem[id,description,order.id]]] 
Method: GET 

Where `”5874669”` is the orderId 

私の応答は次のとおりです。

[ 
    { 
    "categoryCode": "guest_core", 
    "id": 70751841, 
    "parentId": null, 
    "children": [ 
     { 
     "categoryCode": "ram", 
     "parentId": 70751841, 
     "orderItem": { 
      "description": "8 GB", 
      "id": 92196283, 
      "order": { 
      "id": 5874669 
      } 
     } 
     }, 
     { 
     "categoryCode": "remote_management", 
     "parentId": 70751841, 
     "orderItem": { 
      "description": "Reboot/Remote Console", 
      "id": 92196285, 
      "order": { 
      "id": 5874669 
      } 
     } 
     }, 
     { 
     "categoryCode": "port_speed", 
     "parentId": 70751841, 
     "orderItem": { 
      "description": "100 Mbps Public & Private Network Uplinks", 
      "id": 92196287, 
      "order": { 
      "id": 5874669 
      } 
     } 
     }, 
     { 
     "categoryCode": "public_port", 
     "parentId": 70751841, 
     "orderItem": { 
      "description": "100 Mbps Public Uplink", 
      "id": 92196289, 
      "order": { 
      "id": 5874669 
      } 
     } 
     }, 
     { 
     "categoryCode": "service_port", 
     "parentId": 70751841, 
     "orderItem": { 
      "description": "100 Mbps Private Uplink", 
      "id": 92196291, 
      "order": { 
      "id": 5874669 
      } 
     } 
     }, 
     { 
     "categoryCode": "bandwidth", 
     "parentId": 70751841, 
     "orderItem": { 
      "description": "0 GB Bandwidth", 
      "id": 92196293, 
      "order": { 
      "id": 5874669 
      } 
     } 
     }, 
     { 
     "categoryCode": "pri_ip_addresses", 
     "parentId": 70751841, 
     "orderItem": { 
      "description": "1 IP Address", 
      "id": 92196295, 
      "order": { 
      "id": 5874669 
      } 
     } 
     }, 
     { 
     "categoryCode": "guest_disk0", 
     "parentId": 70751841, 
     "orderItem": { 
      "description": "25 GB (SAN)", 
      "id": 92196297, 
      "order": { 
      "id": 5874669 
      } 
     } 
     }, 
     { 
     "categoryCode": "os", 
     "parentId": 70751841, 
     "orderItem": { 
      "description": "Ubuntu Linux 14.04 LTS Trusty Tahr - Minimal Install (64 bit)", 
      "id": 92196299, 
      "order": { 
      "id": 5874669 
      } 
     } 
     }, 
     { 
     "categoryCode": "monitoring", 
     "parentId": 70751841, 
     "orderItem": { 
      "description": "Host Ping", 
      "id": 92196301, 
      "order": { 
      "id": 5874669 
      } 
     } 
     }, 
     { 
     "categoryCode": "notification", 
     "parentId": 70751841, 
     "orderItem": { 
      "description": "Email and Ticket", 
      "id": 92196303, 
      "order": { 
      "id": 5874669 
      } 
     } 
     }, 
     { 
     "categoryCode": "response", 
     "parentId": 70751841, 
     "orderItem": { 
      "description": "Automated Notification", 
      "id": 92196305, 
      "order": { 
      "id": 5874669 
      } 
     } 
     }, 
     { 
     "categoryCode": "vpn_management", 
     "parentId": 70751841, 
     "orderItem": { 
      "description": "Unlimited SSL VPN Users & 1 PPTP VPN User per account", 
      "id": 92196307, 
      "order": { 
      "id": 5874669 
      } 
     } 
     }, 
     { 
     "categoryCode": "vulnerability_scanner", 
     "parentId": 70751841, 
     "orderItem": { 
      "description": "Nessus Vulnerability Assessment & Reporting", 
      "id": 92196309, 
      "order": { 
      "id": 5874669 
      } 
     } 
     } 
    ], 
    "invoiceItems": [ 
     { 
     "billingItemId": 70751841, 
     "categoryCode": "guest_core", 
     "description": "4 x 2.0 GHz Cores", 
     "id": 229216475, 
     "resourceTableId": 13102629 
     }, 
     { 
     "billingItemId": 70751841, 
     "categoryCode": "guest_core", 
     "description": "4 x 2.0 GHz Cores", 
     "id": 236371529, 
     "resourceTableId": 13102629 
     }, 
     { 
     "billingItemId": 70751841, 
     "categoryCode": "guest_core", 
     "description": "4 x 2.0 GHz Cores", 
     "id": 254309359, 
     "resourceTableId": 13102629 
     }, 
     { 
     "billingItemId": 70751841, 
     "categoryCode": "guest_core", 
     "description": "4 x 2.0 GHz Cores", 
     "id": 227147491, 
     "resourceTableId": null 
     }, 
     { 
     "billingItemId": 70751841, 
     "categoryCode": "guest_core", 
     "description": "4 x 2.0 GHz Cores", 
     "id": 245530073, 
     "resourceTableId": 13102629 
     }, 
     { 
     "billingItemId": 70751841, 
     "categoryCode": "guest_core", 
     "description": "4 x 2.0 GHz Cores", 
     "id": 263996519, 
     "resourceTableId": 13102629 
     }, 
     { 
     "billingItemId": 70751841, 
     "categoryCode": "guest_core", 
     "description": "4 x 2.0 GHz Cores", 
     "id": 284422451, 
     "resourceTableId": 13102629 
     }, 
     { 
     "billingItemId": 70751841, 
     "categoryCode": "guest_core", 
     "description": "4 x 2.0 GHz Cores", 
     "id": 274920353, 
     "resourceTableId": 13102629 
     } 
    ], 
    "item": { 
     "capacity": "4", 
     "description": "4 x 2.0 GHz Cores", 
     "id": 859, 
     "itemTaxCategoryId": 166, 
     "keyName": "GUEST_CORES_4", 
     "softwareDescriptionId": null, 
     "units": "CORE", 
     "upgradeItemId": null, 
     "itemCategory": { 
     "categoryCode": "guest_core", 
     "id": 80, 
     "name": "Computing Instance", 
     "quantityLimit": 20 
     }, 
     "totalPhysicalCoreCount": 4 
    }, 
    "orderItem": { 
     "categoryCode": "guest_core", 
     "description": "4 x 2.0 GHz Cores", 
     "domainName": "mesos.maceacs.com", 
     "hostName": "2-master-1712", 
     "hourlyRecurringFee": "0", 
     "id": 92196281, 
     "itemId": 859, 
     "itemPriceId": "52135", 
     "laborAfterTaxAmount": "0", 
     "laborFee": "0", 
     "laborFeeTaxRate": "0", 
     "laborTaxAmount": "0", 
     "oneTimeAfterTaxAmount": "0", 
     "oneTimeFee": "0", 
     "oneTimeFeeTaxRate": "0", 
     "oneTimeTaxAmount": "0", 
     "parentId": null, 
     "promoCodeId": null, 
     "quantity": null, 
     "recurringAfterTaxAmount": "0", 
     "recurringFee": "0", 
     "recurringTaxAmount": "0", 
     "setupAfterTaxAmount": "0", 
     "setupFee": "0", 
     "setupFeeDeferralMonths": 12, 
     "setupFeeTaxRate": "0", 
     "setupTaxAmount": "0", 
     "item": { 
     "capacity": "4", 
     "description": "4 x 2.0 GHz Cores", 
     "id": 859, 
     "itemTaxCategoryId": 166, 
     "keyName": "GUEST_CORES_4", 
     "softwareDescriptionId": null, 
     "units": "CORE", 
     "upgradeItemId": null, 
     "itemCategory": { 
      "categoryCode": "guest_core", 
      "id": 80, 
      "name": "Computing Instance", 
      "quantityLimit": 20 
     }, 
     "totalPhysicalCoreCount": 4 
     }, 
     "order": { 
     "id": 5874669 
     } 
    } 
    } 
] 
を0

このレスポンスでは、orderIdに関連付けられているすべてのアイテムが表示されます。この最初の部分で

[ 
    { 
    "categoryCode": "guest_core", 
    "id": 70751841, 
    "parentId": null, 
    "children": [ 
     { 
     "categoryCode": "ram", 
     "parentId": 70751841, 
     "orderItem": { 
      "description": "8 GB", 
      "id": 92196283, 
      "order": { 
      "id": 5874669 
      } 
     } 
     }, 
     .... 

私たちは、この"categoryCode": "guest_core"は「PARENTID」(:ヌル "のParentID")を持っていません注意してください。これは、この商品がこの注文の親であることを意味します。

しかし、このアイテムのIDを特定するにはどうすればよいですか?

まあ、invoiceItemsセクションには、 'resourceTableId'というプロパティがあります。これは、親アイテムのIDです。私は意味:"resourceTableId"= 13102629は、我々は、彼らがPARENTID =ヌルを持っていることに気づくことができ、私のために関連する他の項目が表示されますChildren sectionで私のVirtual Guest

"invoiceItems": [ 
     { 
     "billingItemId": 70751841, 
     "categoryCode": "guest_core", 
     "description": "4 x 2.0 GHz Cores", 
     "id": 229216475, 
     "resourceTableId": 13102629 
     }, 

idです。

+0

私はゲストディスク '' categoryCode '': "guest_disk1"、 "resourceTableId":9906799'を持っています。このIDは仮想ゲストIDかベアメタルサーバIDのいずれかであるはずですか?私はgetVirtualGuestsまたはgetHardware APIでこのIDを見つけることができません。私は独立したゲストディスクを持つことはできないと思います。ベアメタルサーバーまたは仮想ゲストのいずれかに接続する必要があります。 – aaj

+0

遅れて申し訳ありません。 「categoryCode」:「guest_disk1」、「resourceTableId」:9906799は、この項目が「ポータブルストレージ」であることを意味します(理論的には、すべてのセカンダリディスクはポータブルストレージです)。これは 'SoftLayer_Virtual_Disk_Image'に属します。 id = 9906799がポータブルストレージであることを確認するには、[SoftLayer_Virtual_Disk_Image :: getObject](http://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Disk_Image/getObject)を実行してください。よろしく。 – mcruz

関連する問題