2016-11-29 15 views
0

私が得ようとしているのは、VLANがネットワークゲートウェイであることを理解する方法です。SoftLayerのネットワークゲートウェイVLANを認識する方法

私はすべてのプライベートワシントン4データセンターを見つけようとしています.APIからは4つのVLANを取得できますが、ポータルでは3つのVLANのいずれかを選択できます。

{"broadcastAddress"=>"10.170.23.127", 
"cidr"=>26, 
"gateway"=>"10.170.23.65", 
"id"=>1087855, 
"isCustomerOwned"=>false, 
"isCustomerRoutable"=>false, 
"modifyDate"=>"2016-02-03T14:51:45-05:00", 
"netmask"=>"255.255.255.192", 
"networkIdentifier"=>"10.170.23.64", 
"networkVlanId"=>1158237, 
"sortOrder"=>"4", 
"subnetType"=>"PRIMARY", 
"totalIpAddresses"=>"64", 
"usableIpAddressCount"=>"61", 
"version"=>4, 
"addressSpace"=>"PRIVATE", 
"datacenter"=>{"id"=>957095, "longName"=>"Washington 4", "name"=>"wdc04", "statusId"=>2}, 
"networkVlan"=> 
    {"accountId"=>872113, 
    "id"=>1158237, 
    "modifyDate"=>"2016-02-04T12:57:26-05:00", 
    "name"=>"RZ", 
    "primarySubnetId"=>1087855, 
    "attachedNetworkGatewayFlag"=>false, 
    "vlanNumber"=>844}} 

私は順序を要求するために、このVLAN IDを渡すと、私はこのエラーが表示されます: このサブネット/ VLANを使用することはできないようだ

The backend VLAN #1158237 is a Network Gateway VLAN. 

だから、このVLANを使用することができないとポータルそれをフィルタリングします。それは問題ありませんが、このVLANは使用しないでください。

私はattachedNetworkGatewayFlagが役立つと思っていましたが、それは常に偽です(上記参照)。それ以外のプロパティはここで使用できますか?

答えて

0

ドキュメントによると、「タイプ」と呼ばれるプロパティがあります。詳細については

type

The type of this VLAN.
Type: SoftLayer_Network_Vlan_Type

は、以下を参照してください。 http://sldn.softlayer.com/reference/datatypes/SoftLayer_Network_Vlan

ですから、オブジェクトマスクを使用してVLANの情報を得ることができます。オブジェクトマスクの詳細については以下を参照してくださいhttp://sldn.softlayer.com/article/object-Masks

は、すべてのあなたのVLANを取得し、この要求を使用したタイプを示すことができるRESTfulな使用:

GET https://$USERNAME:[email protected]/rest/v3/SoftLayer_Account/getNetworkVlans?objectMask=mask[type] 

上記の要求は、このようなレスポンスを返します。

{ 
     "accountId": XXXXX, 
     "id": XXXX, 
     "modifyDate": "2015-01-28T07:39:10-06:00", 
     "primarySubnetId": XXXX, 
     "vlanNumber": XXX, 
     "type": { 
      "description": "Network VLAN belonging to a network gateway", 
      "id": 2, 
      "keyName": "GATEWAY", 
      "name": "Gateway" 
     } 
    } 

require 'rubygems' 
require 'softlayer_api' 

SL_API_USERNAME = 'set me' 
SL_API_KEY = 'set me' 

client = SoftLayer::Client.new(username: SL_API_USERNAME, 
api_key: SL_API_KEY) 

object_mask = 'mask[type]' 

account_service = client['SoftLayer_Account'] 

vlans = account_service.object_mask(object_mask).getNetworkVlans() 
print vlans 
:あなたはこれを試すことができRubyのクライアントのユーザーである場合には

objectFiltersの詳細については

https://$username:[email protected]/rest/v3/SoftLayer_Account/getPrivateNetworkVlans?objectFilter={"privateNetworkVlans":{"primaryRouter":{"datacenter":{"longName":{"operation":"Washington 4"}}},"type":{"keyName":{"operation":"!=GATEWAY"}}}} 

Replace: $username, $apiKey and Washington 4 (You can replace this for other datacenter) with your own information 

参照:http://sldn.softlayer.com/article/object-filters

また、あなたは、ゲートウェイタイプではありません、データセンターのためのすべてのVLANを取得するために使用objectFiltersに興味がある可能性があり、あなたは安らかにこれを使用していることを達成することができます

最後に、注文の場合、タイプ "Standard"のVLANのみを使用できることに注意してください。 VLANの有効なタイプは次のとおりです。

‘GATEWAY’, ‘STANDARD’, ‘INTERCONNECT’, ‘SWITCH_MANAGEMENT’, ‘FIREWALL_HEARTBEAT’, ‘FIREWALL_CONTEXT’.

よろしく

+0

いまいましい、「タイプ」 - 簡単だった、なぜ私はそれを見ていませんか? :)とにかく、ありがとう –

関連する問題