命名空间:microsoft.graph.networkaccess
重要
Microsoft Graph /beta
版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
创建具有关联设备链接的分支站点。
此 API 可用于以下国家级云部署。
全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
✅ |
❌ |
❌ |
❌ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
权限类型 |
最低特权权限 |
更高特权权限 |
委派(工作或学校帐户) |
NetworkAccess.ReadWrite.All |
不可用。 |
委派(个人 Microsoft 帐户) |
不支持。 |
不支持。 |
应用程序 |
NetworkAccess.ReadWrite.All |
不可用。 |
HTTP 请求
POST /networkAccess/connectivity/branches/{branchSiteId}/deviceLinks
名称 |
说明 |
Authorization |
持有者 {token}。 必填。 详细了解 身份验证和授权。 |
Content-Type |
application/json. 必需。 |
请求正文
在请求正文中,提供 microsoft.graph.networkaccess.deviceLink 对象的 JSON 表示形式。
创建 deviceLink 时,可以指定以下属性。
属性 |
类型 |
说明 |
name |
String |
与设备链接关联的名称或标识符。 必填。 |
ipAddress |
String |
与设备链接关联的 IP 地址。 必填。 |
deviceVendor |
microsoft.graph.networkaccess.deviceVendor |
与设备链接关联的设备的供应商或制造商。 可能的值为:barracudaNetworks 、、ciscoMeraki checkPoint 、hpeAruba fortinet openSystems paloAltoNetworks citrix netFoundry nuage 、、riverbedTechnology silverPeak 、、、vmWareSdWan 、、 。 other versa 必需。 |
lastModifiedDateTime |
DateTimeOffset |
上次修改设备链接的日期和时间。 必填。 |
tunnelConfiguration |
microsoft.graph.networkaccess.tunnelConfiguration |
与设备链接关联的隧道配置设置。 必填。 |
bgpConfiguration |
microsoft.graph.networkaccess.bgpConfiguration |
边界网关协议 (BGP) 与设备链接关联的配置设置。 必填。 |
响应
如果成功,此方法在 201 Created
响应正文中返回响应代码和 microsoft.graph.networkaccess.deviceLink 对象。
示例
请求
以下示例显示了一个请求。
POST https://graph.microsoft.com/beta/networkAccess/connectivity/branches/19a92090-c14e-4cea-a933-27d38f72c4d1/deviceLinks
Content-Type: application/json
{
"name": "device link 1",
"ipAddress": "24.123.22.168",
"deviceVendor": "intel",
"bandwidthCapacityInMbps": "mbps250",
"bgpConfiguration":
{
"localIpAddress": "1.128.24.22",
"peerIpAddress": "1.128.24.28",
"asn": 4
},
"redundancyConfiguration":
{
"zoneLocalIpAddress": "1.128.23.20",
"redundancyTier": "zoneRedundancy"
},
"tunnelConfiguration":
{
"@odata.type": "microsoft.graph.networkAccess.tunnelConfigurationIKEv2Default",
"preSharedKey": "/microsoft/keyVault/placeholder"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models.Networkaccess;
var requestBody = new DeviceLink
{
Name = "device link 1",
IpAddress = "24.123.22.168",
DeviceVendor = DeviceVendor.BarracudaNetworks,
BandwidthCapacityInMbps = BandwidthCapacityInMbps.Mbps250,
BgpConfiguration = new BgpConfiguration
{
LocalIpAddress = "1.128.24.22",
PeerIpAddress = "1.128.24.28",
Asn = 4,
},
RedundancyConfiguration = new RedundancyConfiguration
{
ZoneLocalIpAddress = "1.128.23.20",
RedundancyTier = RedundancyTier.ZoneRedundancy,
},
TunnelConfiguration = new TunnelConfiguration
{
OdataType = "microsoft.graph.networkAccess.tunnelConfigurationIKEv2Default",
PreSharedKey = "/microsoft/keyVault/placeholder",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.NetworkAccess.Connectivity.Branches["{branchSite-id}"].DeviceLinks.PostAsync(requestBody);
mgc-beta network-access connectivity branches device-links create --branch-site-id {branchSite-id} --body '{\
"name": "device link 1",\
"ipAddress": "24.123.22.168",\
"deviceVendor": "intel",\
"bandwidthCapacityInMbps": "mbps250",\
"bgpConfiguration":\
{\
"localIpAddress": "1.128.24.22",\
"peerIpAddress": "1.128.24.28",\
"asn": 4\
},\
"redundancyConfiguration":\
{\
"zoneLocalIpAddress": "1.128.23.20",\
"redundancyTier": "zoneRedundancy"\
},\
"tunnelConfiguration":\
{\
"@odata.type": "microsoft.graph.networkAccess.tunnelConfigurationIKEv2Default",\
"preSharedKey": "/microsoft/keyVault/placeholder"\
}\
}\
'
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodelsnetworkaccess "github.com/microsoftgraph/msgraph-beta-sdk-go/models/networkaccess"
//other-imports
)
requestBody := graphmodelsnetworkaccess.NewDeviceLink()
name := "device link 1"
requestBody.SetName(&name)
ipAddress := "24.123.22.168"
requestBody.SetIpAddress(&ipAddress)
deviceVendor := graphmodels.INTEL_DEVICEVENDOR
requestBody.SetDeviceVendor(&deviceVendor)
bandwidthCapacityInMbps := graphmodels.MBPS250_BANDWIDTHCAPACITYINMBPS
requestBody.SetBandwidthCapacityInMbps(&bandwidthCapacityInMbps)
bgpConfiguration := graphmodelsnetworkaccess.NewBgpConfiguration()
localIpAddress := "1.128.24.22"
bgpConfiguration.SetLocalIpAddress(&localIpAddress)
peerIpAddress := "1.128.24.28"
bgpConfiguration.SetPeerIpAddress(&peerIpAddress)
asn := int32(4)
bgpConfiguration.SetAsn(&asn)
requestBody.SetBgpConfiguration(bgpConfiguration)
redundancyConfiguration := graphmodelsnetworkaccess.NewRedundancyConfiguration()
zoneLocalIpAddress := "1.128.23.20"
redundancyConfiguration.SetZoneLocalIpAddress(&zoneLocalIpAddress)
redundancyTier := graphmodels.ZONEREDUNDANCY_REDUNDANCYTIER
redundancyConfiguration.SetRedundancyTier(&redundancyTier)
requestBody.SetRedundancyConfiguration(redundancyConfiguration)
tunnelConfiguration := graphmodelsnetworkaccess.NewTunnelConfiguration()
preSharedKey := "/microsoft/keyVault/placeholder"
tunnelConfiguration.SetPreSharedKey(&preSharedKey)
requestBody.SetTunnelConfiguration(tunnelConfiguration)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
deviceLinks, err := graphClient.NetworkAccess().Connectivity().Branches().ByBranchSiteId("branchSite-id").DeviceLinks().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.models.networkaccess.DeviceLink deviceLink = new com.microsoft.graph.beta.models.networkaccess.DeviceLink();
deviceLink.setName("device link 1");
deviceLink.setIpAddress("24.123.22.168");
deviceLink.setDeviceVendor(com.microsoft.graph.beta.models.networkaccess.DeviceVendor.BarracudaNetworks);
deviceLink.setBandwidthCapacityInMbps(com.microsoft.graph.beta.models.networkaccess.BandwidthCapacityInMbps.Mbps250);
com.microsoft.graph.beta.models.networkaccess.BgpConfiguration bgpConfiguration = new com.microsoft.graph.beta.models.networkaccess.BgpConfiguration();
bgpConfiguration.setLocalIpAddress("1.128.24.22");
bgpConfiguration.setPeerIpAddress("1.128.24.28");
bgpConfiguration.setAsn(4);
deviceLink.setBgpConfiguration(bgpConfiguration);
com.microsoft.graph.beta.models.networkaccess.RedundancyConfiguration redundancyConfiguration = new com.microsoft.graph.beta.models.networkaccess.RedundancyConfiguration();
redundancyConfiguration.setZoneLocalIpAddress("1.128.23.20");
redundancyConfiguration.setRedundancyTier(com.microsoft.graph.beta.models.networkaccess.RedundancyTier.ZoneRedundancy);
deviceLink.setRedundancyConfiguration(redundancyConfiguration);
com.microsoft.graph.beta.models.networkaccess.TunnelConfiguration tunnelConfiguration = new com.microsoft.graph.beta.models.networkaccess.TunnelConfiguration();
tunnelConfiguration.setOdataType("microsoft.graph.networkAccess.tunnelConfigurationIKEv2Default");
tunnelConfiguration.setPreSharedKey("/microsoft/keyVault/placeholder");
deviceLink.setTunnelConfiguration(tunnelConfiguration);
com.microsoft.graph.models.networkaccess.DeviceLink result = graphClient.networkAccess().connectivity().branches().byBranchSiteId("{branchSite-id}").deviceLinks().post(deviceLink);
const options = {
authProvider,
};
const client = Client.init(options);
const deviceLink = {
name: 'device link 1',
ipAddress: '24.123.22.168',
deviceVendor: 'intel',
bandwidthCapacityInMbps: 'mbps250',
bgpConfiguration:
{
localIpAddress: '1.128.24.22',
peerIpAddress: '1.128.24.28',
asn: 4
},
redundancyConfiguration:
{
zoneLocalIpAddress: '1.128.23.20',
redundancyTier: 'zoneRedundancy'
},
tunnelConfiguration:
{
'@odata.type': 'microsoft.graph.networkAccess.tunnelConfigurationIKEv2Default',
preSharedKey: '/microsoft/keyVault/placeholder'
}
};
await client.api('/networkAccess/connectivity/branches/19a92090-c14e-4cea-a933-27d38f72c4d1/deviceLinks')
.version('beta')
.post(deviceLink);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Networkaccess\DeviceLink;
use Microsoft\Graph\Beta\Generated\Models\Networkaccess\DeviceVendor;
use Microsoft\Graph\Beta\Generated\Models\Networkaccess\BandwidthCapacityInMbps;
use Microsoft\Graph\Beta\Generated\Models\Networkaccess\BgpConfiguration;
use Microsoft\Graph\Beta\Generated\Models\Networkaccess\RedundancyConfiguration;
use Microsoft\Graph\Beta\Generated\Models\Networkaccess\RedundancyTier;
use Microsoft\Graph\Beta\Generated\Models\Networkaccess\TunnelConfiguration;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new DeviceLink();
$requestBody->setName('device link 1');
$requestBody->setIpAddress('24.123.22.168');
$requestBody->setDeviceVendor(new DeviceVendor('intel'));
$requestBody->setBandwidthCapacityInMbps(new BandwidthCapacityInMbps('mbps250'));
$bgpConfiguration = new BgpConfiguration();
$bgpConfiguration->setLocalIpAddress('1.128.24.22');
$bgpConfiguration->setPeerIpAddress('1.128.24.28');
$bgpConfiguration->setAsn(4);
$requestBody->setBgpConfiguration($bgpConfiguration);
$redundancyConfiguration = new RedundancyConfiguration();
$redundancyConfiguration->setZoneLocalIpAddress('1.128.23.20');
$redundancyConfiguration->setRedundancyTier(new RedundancyTier('zoneRedundancy'));
$requestBody->setRedundancyConfiguration($redundancyConfiguration);
$tunnelConfiguration = new TunnelConfiguration();
$tunnelConfiguration->setOdataType('microsoft.graph.networkAccess.tunnelConfigurationIKEv2Default');
$tunnelConfiguration->setPreSharedKey('/microsoft/keyVault/placeholder');
$requestBody->setTunnelConfiguration($tunnelConfiguration);
$result = $graphServiceClient->networkAccess()->connectivity()->branches()->byBranchSiteId('branchSite-id')->deviceLinks()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.NetworkAccess
$params = @{
name = "device link 1"
ipAddress = "24.123.22.168"
deviceVendor = "intel"
bandwidthCapacityInMbps = "mbps250"
bgpConfiguration = @{
localIpAddress = "1.128.24.22"
peerIpAddress = "1.128.24.28"
asn = 4
}
redundancyConfiguration = @{
zoneLocalIpAddress = "1.128.23.20"
redundancyTier = "zoneRedundancy"
}
tunnelConfiguration = @{
"@odata.type" = "microsoft.graph.networkAccess.tunnelConfigurationIKEv2Default"
preSharedKey = "/microsoft/keyVault/placeholder"
}
}
New-MgBetaNetworkAccessConnectivityBranchDeviceLink -BranchSiteId $branchSiteId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.networkaccess.device_link import DeviceLink
from msgraph_beta.generated.models.device_vendor import DeviceVendor
from msgraph_beta.generated.models.bandwidth_capacity_in_mbps import BandwidthCapacityInMbps
from msgraph_beta.generated.models.networkaccess.bgp_configuration import BgpConfiguration
from msgraph_beta.generated.models.networkaccess.redundancy_configuration import RedundancyConfiguration
from msgraph_beta.generated.models.redundancy_tier import RedundancyTier
from msgraph_beta.generated.models.networkaccess.tunnel_configuration import TunnelConfiguration
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = DeviceLink(
name = "device link 1",
ip_address = "24.123.22.168",
device_vendor = DeviceVendor.BarracudaNetworks,
bandwidth_capacity_in_mbps = BandwidthCapacityInMbps.Mbps250,
bgp_configuration = BgpConfiguration(
local_ip_address = "1.128.24.22",
peer_ip_address = "1.128.24.28",
asn = 4,
),
redundancy_configuration = RedundancyConfiguration(
zone_local_ip_address = "1.128.23.20",
redundancy_tier = RedundancyTier.ZoneRedundancy,
),
tunnel_configuration = TunnelConfiguration(
odata_type = "microsoft.graph.networkAccess.tunnelConfigurationIKEv2Default",
pre_shared_key = "/microsoft/keyVault/placeholder",
),
)
result = await graph_client.network_access.connectivity.branches.by_branch_site_id('branchSite-id').device_links.post(request_body)
响应
以下示例显示了相应的响应。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.networkaccess.deviceLink",
"id": "2f183529-b8d9-c6f1-0373-3a6beee36e38",
"name": "device link 1",
"ipAddress": "24.123.22.168",
"deviceVendor": "intel",
"bandwidthCapacityInMbps": "mbps250",
"redundancyConfiguration_redundancyTier": "zoneRedundancy",
"tunnelConfiguration_type": "microsoft.graph.networkAccess.tunnelConfigurationIKEv2Default",
"tunnelConfiguration_preSharedKey": "/microsoft/keyVault/placeholder"
}