创建或更新负载均衡器。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}?api-version=2024-05-01
URI 参数
名称 |
在 |
必需 |
类型 |
说明 |
loadBalancerName
|
path |
True
|
string
|
负载均衡器的名称。
|
resourceGroupName
|
path |
True
|
string
|
资源组的名称。
|
subscriptionId
|
path |
True
|
string
|
唯一标识 Azure 订阅Microsoft的订阅凭据。 订阅 ID 构成了每个服务调用的 URI 的一部分。
|
api-version
|
query |
True
|
string
|
客户端 API 版本。
|
请求正文
名称 |
类型 |
说明 |
extendedLocation
|
ExtendedLocation
|
负载均衡器的扩展位置。
|
id
|
string
|
资源 ID。
|
location
|
string
|
资源位置。
|
properties.backendAddressPools
|
BackendAddressPool[]
|
负载均衡器使用的后端地址池的集合。
|
properties.frontendIPConfigurations
|
FrontendIPConfiguration[]
|
表示要用于负载均衡器的前端 IP 的对象。
|
properties.inboundNatPools
|
InboundNatPool[]
|
为与负载均衡器关联的 NIC 上的单个后端端口定义入站 NAT 的外部端口范围。 使用此范围中的外部端口为每个与负载均衡器关联的 NIC 自动创建入站 NAT 规则。 在负载均衡器上定义入站 NAT 池与定义入站 NAT 规则是互斥的。 从虚拟机规模集引用入站 NAT 池。 与单个虚拟机关联的 NIC 无法引用入站 NAT 池。 它们必须引用单个入站 NAT 规则。
|
properties.inboundNatRules
|
InboundNatRule[]
|
负载均衡器使用的入站 NAT 规则的集合。 在负载均衡器上定义入站 NAT 规则与定义入站 NAT 池是互斥的。 从虚拟机规模集引用入站 NAT 池。 与单个虚拟机关联的 NIC 无法引用入站 NAT 池。 它们必须引用单个入站 NAT 规则。
|
properties.loadBalancingRules
|
LoadBalancingRule[]
|
表示负载均衡规则的对象集合获取预配。
|
properties.outboundRules
|
OutboundRule[]
|
出站规则。
|
properties.probes
|
Probe[]
|
负载均衡器中使用的探测对象的集合。
|
sku
|
LoadBalancerSku
|
负载均衡器 SKU。
|
tags
|
object
|
资源标记。
|
响应
安全性
azure_auth
Azure Active Directory OAuth2 Flow。
类型:
oauth2
流向:
implicit
授权 URL:
https://login.microsoftonline.com/common/oauth2/authorize
作用域
名称 |
说明 |
user_impersonation
|
模拟用户帐户
|
示例
Create load balancer
示例请求
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb?api-version=2024-05-01
{
"location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
}
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"properties": {}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"enableTcpReset": false,
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
}
}
}
],
"probes": [
{
"name": "probe-lb",
"properties": {
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"enableTcpReset": false
}
}
],
"inboundNatPools": []
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.BackendAddressPoolInner;
import com.azure.resourcemanager.network.fluent.models.FrontendIpConfigurationInner;
import com.azure.resourcemanager.network.fluent.models.InboundNatRuleInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancerInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancingRuleInner;
import com.azure.resourcemanager.network.fluent.models.ProbeInner;
import com.azure.resourcemanager.network.fluent.models.SubnetInner;
import com.azure.resourcemanager.network.models.LoadDistribution;
import com.azure.resourcemanager.network.models.ProbeProtocol;
import com.azure.resourcemanager.network.models.TransportProtocol;
import java.util.Arrays;
/**
* Samples for LoadBalancers CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreate.json
*/
/**
* Sample code: Create load balancer.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createLoadBalancer(com.azure.resourcemanager.AzureResourceManager azure) {
azure.networks().manager().serviceClient().getLoadBalancers().createOrUpdate("rg1", "lb",
new LoadBalancerInner().withLocation("eastus").withFrontendIpConfigurations(
Arrays.asList(new FrontendIpConfigurationInner().withName("fe-lb").withSubnet(new SubnetInner().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"))))
.withBackendAddressPools(Arrays.asList(new BackendAddressPoolInner().withName("be-lb")))
.withLoadBalancingRules(Arrays.asList(new LoadBalancingRuleInner().withName("rulelb")
.withFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"))
.withBackendAddressPool(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"))
.withProbe(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"))
.withProtocol(TransportProtocol.TCP).withLoadDistribution(LoadDistribution.DEFAULT)
.withFrontendPort(80).withBackendPort(80).withIdleTimeoutInMinutes(15).withEnableFloatingIp(true)
.withEnableTcpReset(false)))
.withProbes(Arrays.asList(new ProbeInner().withName("probe-lb").withProtocol(ProbeProtocol.HTTP)
.withPort(80).withIntervalInSeconds(15).withNumberOfProbes(2).withProbeThreshold(1)
.withRequestPath("healthcheck.aspx")))
.withInboundNatRules(Arrays.asList(new InboundNatRuleInner().withName("in-nat-rule")
.withFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"))
.withProtocol(TransportProtocol.TCP).withFrontendPort(3389).withBackendPort(3389)
.withIdleTimeoutInMinutes(15).withEnableFloatingIp(true).withEnableTcpReset(false)))
.withInboundNatPools(Arrays.asList()),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python load_balancer_create.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.load_balancers.begin_create_or_update(
resource_group_name="rg1",
load_balancer_name="lb",
parameters={
"location": "eastus",
"properties": {
"backendAddressPools": [{"name": "be-lb", "properties": {}}],
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
}
},
}
],
"inboundNatPools": [],
"inboundNatRules": [
{
"name": "in-nat-rule",
"properties": {
"backendPort": 3389,
"enableFloatingIP": True,
"enableTcpReset": False,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
},
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"backendPort": 80,
"enableFloatingIP": True,
"enableTcpReset": False,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"idleTimeoutInMinutes": 15,
"loadDistribution": "Default",
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"protocol": "Tcp",
},
}
],
"probes": [
{
"name": "probe-lb",
"properties": {
"intervalInSeconds": 15,
"numberOfProbes": 2,
"port": 80,
"probeThreshold": 1,
"protocol": "Http",
"requestPath": "healthcheck.aspx",
},
}
],
},
},
).result()
print(response)
# x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreate.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/ab04533261eff228f28e08900445d0edef3eb70c/specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreate.json
func ExampleLoadBalancersClient_BeginCreateOrUpdate_createLoadBalancer() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewLoadBalancersClient().BeginCreateOrUpdate(ctx, "rg1", "lb", armnetwork.LoadBalancer{
Location: to.Ptr("eastus"),
Properties: &armnetwork.LoadBalancerPropertiesFormat{
BackendAddressPools: []*armnetwork.BackendAddressPool{
{
Name: to.Ptr("be-lb"),
Properties: &armnetwork.BackendAddressPoolPropertiesFormat{},
}},
FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
{
Name: to.Ptr("fe-lb"),
Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
Subnet: &armnetwork.Subnet{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
},
},
}},
InboundNatPools: []*armnetwork.InboundNatPool{},
InboundNatRules: []*armnetwork.InboundNatRule{
{
Name: to.Ptr("in-nat-rule"),
Properties: &armnetwork.InboundNatRulePropertiesFormat{
BackendPort: to.Ptr[int32](3389),
EnableFloatingIP: to.Ptr(true),
EnableTCPReset: to.Ptr(false),
FrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
},
FrontendPort: to.Ptr[int32](3389),
IdleTimeoutInMinutes: to.Ptr[int32](15),
Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
},
}},
LoadBalancingRules: []*armnetwork.LoadBalancingRule{
{
Name: to.Ptr("rulelb"),
Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
BackendAddressPool: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
},
BackendPort: to.Ptr[int32](80),
EnableFloatingIP: to.Ptr(true),
EnableTCPReset: to.Ptr(false),
FrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
},
FrontendPort: to.Ptr[int32](80),
IdleTimeoutInMinutes: to.Ptr[int32](15),
LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
Probe: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
},
Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
},
}},
Probes: []*armnetwork.Probe{
{
Name: to.Ptr("probe-lb"),
Properties: &armnetwork.ProbePropertiesFormat{
IntervalInSeconds: to.Ptr[int32](15),
NumberOfProbes: to.Ptr[int32](2),
Port: to.Ptr[int32](80),
ProbeThreshold: to.Ptr[int32](1),
RequestPath: to.Ptr("healthcheck.aspx"),
Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
},
}},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.LoadBalancer = armnetwork.LoadBalancer{
// Name: to.Ptr("lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb"),
// Location: to.Ptr("eastus"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancerPropertiesFormat{
// BackendAddressPools: []*armnetwork.BackendAddressPool{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// Name: to.Ptr("be-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/backendAddressPools"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.BackendAddressPoolPropertiesFormat{
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// },
// }},
// FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// Name: to.Ptr("fe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/frontendIPConfigurations"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
// InboundNatRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"),
// }},
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// PrivateIPAddress: to.Ptr("10.0.1.4"),
// PrivateIPAllocationMethod: to.Ptr(armnetwork.IPAllocationMethodDynamic),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Subnet: &armnetwork.Subnet{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
// },
// },
// }},
// InboundNatPools: []*armnetwork.InboundNatPool{
// },
// InboundNatRules: []*armnetwork.InboundNatRule{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"),
// Name: to.Ptr("in-nat-rule"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/inboundNatRules"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.InboundNatRulePropertiesFormat{
// BackendPort: to.Ptr[int32](3389),
// EnableFloatingIP: to.Ptr(true),
// EnableTCPReset: to.Ptr(false),
// FrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// },
// FrontendPort: to.Ptr[int32](3389),
// IdleTimeoutInMinutes: to.Ptr[int32](15),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
// },
// }},
// LoadBalancingRules: []*armnetwork.LoadBalancingRule{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// Name: to.Ptr("rulelb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/loadBalancingRules"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
// BackendAddressPool: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// },
// BackendPort: to.Ptr[int32](80),
// DisableOutboundSnat: to.Ptr(false),
// EnableFloatingIP: to.Ptr(true),
// EnableTCPReset: to.Ptr(false),
// FrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// },
// FrontendPort: to.Ptr[int32](80),
// IdleTimeoutInMinutes: to.Ptr[int32](15),
// LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
// Probe: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// },
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
// },
// }},
// Probes: []*armnetwork.Probe{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// Name: to.Ptr("probe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/probes"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.ProbePropertiesFormat{
// IntervalInSeconds: to.Ptr[int32](15),
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// NumberOfProbes: to.Ptr[int32](2),
// Port: to.Ptr[int32](80),
// ProbeThreshold: to.Ptr[int32](1),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// RequestPath: to.Ptr("healthcheck.aspx"),
// Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
// },
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// ResourceGUID: to.Ptr("00000000-0000-0000-0000-00000000"),
// },
// SKU: &armnetwork.LoadBalancerSKU{
// Name: to.Ptr(armnetwork.LoadBalancerSKUNameBasic),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a load balancer.
*
* @summary Creates or updates a load balancer.
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreate.json
*/
async function createLoadBalancer() {
const subscriptionId = process.env["NETWORK_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["NETWORK_RESOURCE_GROUP"] || "rg1";
const loadBalancerName = "lb";
const parameters = {
backendAddressPools: [{ name: "be-lb" }],
frontendIPConfigurations: [
{
name: "fe-lb",
subnet: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
},
},
],
inboundNatPools: [],
inboundNatRules: [
{
name: "in-nat-rule",
backendPort: 3389,
enableFloatingIP: true,
enableTcpReset: false,
frontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
},
frontendPort: 3389,
idleTimeoutInMinutes: 15,
protocol: "Tcp",
},
],
loadBalancingRules: [
{
name: "rulelb",
backendAddressPool: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
},
backendPort: 80,
enableFloatingIP: true,
enableTcpReset: false,
frontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
},
frontendPort: 80,
idleTimeoutInMinutes: 15,
loadDistribution: "Default",
probe: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
},
protocol: "Tcp",
},
],
location: "eastus",
probes: [
{
name: "probe-lb",
intervalInSeconds: 15,
numberOfProbes: 2,
port: 80,
probeThreshold: 1,
requestPath: "healthcheck.aspx",
protocol: "Http",
},
],
};
const credential = new DefaultAzureCredential();
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.loadBalancers.beginCreateOrUpdateAndWait(
resourceGroupName,
loadBalancerName,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Network.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
using Azure.ResourceManager.Network;
// Generated from example definition: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreate.json
// this example is just showing the usage of "LoadBalancers_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this LoadBalancerResource
LoadBalancerCollection collection = resourceGroupResource.GetLoadBalancers();
// invoke the operation
string loadBalancerName = "lb";
LoadBalancerData data = new LoadBalancerData
{
FrontendIPConfigurations = {new FrontendIPConfigurationData
{
Subnet = new SubnetData
{
Id = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
},
Name = "fe-lb",
}},
BackendAddressPools = {new BackendAddressPoolData
{
Name = "be-lb",
}},
LoadBalancingRules = {new LoadBalancingRuleData
{
Properties = new LoadBalancingRuleProperties(LoadBalancingTransportProtocol.Tcp, 80)
{
FrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
BackendAddressPoolId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
ProbeId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
LoadDistribution = LoadDistribution.Default,
BackendPort = 80,
IdleTimeoutInMinutes = 15,
EnableFloatingIP = true,
EnableTcpReset = false,
},
Name = "rulelb",
}},
Probes = {new ProbeData
{
Protocol = ProbeProtocol.Http,
Port = 80,
IntervalInSeconds = 15,
NumberOfProbes = 2,
ProbeThreshold = 1,
RequestPath = "healthcheck.aspx",
Name = "probe-lb",
}},
InboundNatRules = {new InboundNatRuleData
{
FrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
Protocol = LoadBalancingTransportProtocol.Tcp,
FrontendPort = 3389,
BackendPort = 3389,
IdleTimeoutInMinutes = 15,
EnableFloatingIP = true,
EnableTcpReset = false,
Name = "in-nat-rule",
}},
InboundNatPools = { },
Location = new AzureLocation("eastus"),
};
ArmOperation<LoadBalancerResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, loadBalancerName, data);
LoadBalancerResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
LoadBalancerData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Basic"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"inboundNatRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
}
]
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"enableTcpReset": false,
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"disableOutboundSnat": false
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
"type": "Microsoft.Network/loadBalancers/inboundNatRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"enableTcpReset": false
}
}
],
"inboundNatPools": []
}
}
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Basic"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"inboundNatRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
}
]
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"enableTcpReset": false,
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"disableOutboundSnat": false
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
"type": "Microsoft.Network/loadBalancers/inboundNatRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"enableTcpReset": false
}
}
],
"inboundNatPools": []
}
}
Create load balancer with Frontend IP in Zone 1
示例请求
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb?api-version=2024-05-01
{
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
}
},
"zones": [
"1"
]
}
],
"backendAddressPools": [
{
"name": "be-lb",
"properties": {}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
}
}
}
],
"probes": [
{
"name": "probe-lb",
"properties": {
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp"
}
}
],
"inboundNatPools": [],
"outboundRules": []
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.BackendAddressPoolInner;
import com.azure.resourcemanager.network.fluent.models.FrontendIpConfigurationInner;
import com.azure.resourcemanager.network.fluent.models.InboundNatRuleInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancerInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancingRuleInner;
import com.azure.resourcemanager.network.fluent.models.ProbeInner;
import com.azure.resourcemanager.network.fluent.models.SubnetInner;
import com.azure.resourcemanager.network.models.LoadBalancerSku;
import com.azure.resourcemanager.network.models.LoadBalancerSkuName;
import com.azure.resourcemanager.network.models.LoadDistribution;
import com.azure.resourcemanager.network.models.ProbeProtocol;
import com.azure.resourcemanager.network.models.TransportProtocol;
import java.util.Arrays;
/**
* Samples for LoadBalancers CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithZones.
* json
*/
/**
* Sample code: Create load balancer with Frontend IP in Zone 1.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createLoadBalancerWithFrontendIPInZone1(com.azure.resourcemanager.AzureResourceManager azure) {
azure.networks().manager().serviceClient().getLoadBalancers().createOrUpdate("rg1", "lb",
new LoadBalancerInner().withLocation("eastus")
.withSku(new LoadBalancerSku().withName(LoadBalancerSkuName.STANDARD))
.withFrontendIpConfigurations(Arrays.asList(new FrontendIpConfigurationInner().withName("fe-lb")
.withZones(Arrays.asList("1"))
.withSubnet(new SubnetInner().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"))))
.withBackendAddressPools(Arrays.asList(new BackendAddressPoolInner().withName("be-lb")))
.withLoadBalancingRules(Arrays.asList(new LoadBalancingRuleInner().withName("rulelb")
.withFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"))
.withBackendAddressPool(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"))
.withProbe(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"))
.withProtocol(TransportProtocol.TCP).withLoadDistribution(LoadDistribution.DEFAULT)
.withFrontendPort(80).withBackendPort(80).withIdleTimeoutInMinutes(15).withEnableFloatingIp(true)))
.withProbes(Arrays.asList(new ProbeInner().withName("probe-lb").withProtocol(ProbeProtocol.HTTP)
.withPort(80).withIntervalInSeconds(15).withNumberOfProbes(2).withProbeThreshold(1)
.withRequestPath("healthcheck.aspx")))
.withInboundNatRules(Arrays.asList(new InboundNatRuleInner().withName("in-nat-rule")
.withFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"))
.withProtocol(TransportProtocol.TCP).withFrontendPort(3389).withBackendPort(3389)
.withIdleTimeoutInMinutes(15).withEnableFloatingIp(true)))
.withInboundNatPools(Arrays.asList()).withOutboundRules(Arrays.asList()),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python load_balancer_create_with_zones.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.load_balancers.begin_create_or_update(
resource_group_name="rg1",
load_balancer_name="lb",
parameters={
"location": "eastus",
"properties": {
"backendAddressPools": [{"name": "be-lb", "properties": {}}],
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
}
},
"zones": ["1"],
}
],
"inboundNatPools": [],
"inboundNatRules": [
{
"name": "in-nat-rule",
"properties": {
"backendPort": 3389,
"enableFloatingIP": True,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
},
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"backendPort": 80,
"enableFloatingIP": True,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"idleTimeoutInMinutes": 15,
"loadDistribution": "Default",
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"protocol": "Tcp",
},
}
],
"outboundRules": [],
"probes": [
{
"name": "probe-lb",
"properties": {
"intervalInSeconds": 15,
"numberOfProbes": 2,
"port": 80,
"probeThreshold": 1,
"protocol": "Http",
"requestPath": "healthcheck.aspx",
},
}
],
},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithZones.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/ab04533261eff228f28e08900445d0edef3eb70c/specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithZones.json
func ExampleLoadBalancersClient_BeginCreateOrUpdate_createLoadBalancerWithFrontendIpInZone1() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewLoadBalancersClient().BeginCreateOrUpdate(ctx, "rg1", "lb", armnetwork.LoadBalancer{
Location: to.Ptr("eastus"),
Properties: &armnetwork.LoadBalancerPropertiesFormat{
BackendAddressPools: []*armnetwork.BackendAddressPool{
{
Name: to.Ptr("be-lb"),
Properties: &armnetwork.BackendAddressPoolPropertiesFormat{},
}},
FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
{
Name: to.Ptr("fe-lb"),
Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
Subnet: &armnetwork.Subnet{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
},
},
Zones: []*string{
to.Ptr("1")},
}},
InboundNatPools: []*armnetwork.InboundNatPool{},
InboundNatRules: []*armnetwork.InboundNatRule{
{
Name: to.Ptr("in-nat-rule"),
Properties: &armnetwork.InboundNatRulePropertiesFormat{
BackendPort: to.Ptr[int32](3389),
EnableFloatingIP: to.Ptr(true),
FrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
},
FrontendPort: to.Ptr[int32](3389),
IdleTimeoutInMinutes: to.Ptr[int32](15),
Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
},
}},
LoadBalancingRules: []*armnetwork.LoadBalancingRule{
{
Name: to.Ptr("rulelb"),
Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
BackendAddressPool: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
},
BackendPort: to.Ptr[int32](80),
EnableFloatingIP: to.Ptr(true),
FrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
},
FrontendPort: to.Ptr[int32](80),
IdleTimeoutInMinutes: to.Ptr[int32](15),
LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
Probe: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
},
Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
},
}},
OutboundRules: []*armnetwork.OutboundRule{},
Probes: []*armnetwork.Probe{
{
Name: to.Ptr("probe-lb"),
Properties: &armnetwork.ProbePropertiesFormat{
IntervalInSeconds: to.Ptr[int32](15),
NumberOfProbes: to.Ptr[int32](2),
Port: to.Ptr[int32](80),
ProbeThreshold: to.Ptr[int32](1),
RequestPath: to.Ptr("healthcheck.aspx"),
Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
},
}},
},
SKU: &armnetwork.LoadBalancerSKU{
Name: to.Ptr(armnetwork.LoadBalancerSKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.LoadBalancer = armnetwork.LoadBalancer{
// Name: to.Ptr("lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb"),
// Location: to.Ptr("eastus"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancerPropertiesFormat{
// BackendAddressPools: []*armnetwork.BackendAddressPool{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// Name: to.Ptr("be-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/backendAddressPools"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.BackendAddressPoolPropertiesFormat{
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// },
// }},
// FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// Name: to.Ptr("fe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/frontendIPConfigurations"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
// InboundNatRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"),
// }},
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// PrivateIPAddress: to.Ptr("10.0.1.4"),
// PrivateIPAllocationMethod: to.Ptr(armnetwork.IPAllocationMethodDynamic),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Subnet: &armnetwork.Subnet{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
// },
// },
// Zones: []*string{
// to.Ptr("1")},
// }},
// InboundNatPools: []*armnetwork.InboundNatPool{
// },
// InboundNatRules: []*armnetwork.InboundNatRule{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"),
// Name: to.Ptr("in-nat-rule"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/inboundNatRules"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.InboundNatRulePropertiesFormat{
// BackendPort: to.Ptr[int32](3389),
// EnableFloatingIP: to.Ptr(true),
// FrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// },
// FrontendPort: to.Ptr[int32](3389),
// IdleTimeoutInMinutes: to.Ptr[int32](15),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
// },
// }},
// LoadBalancingRules: []*armnetwork.LoadBalancingRule{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// Name: to.Ptr("rulelb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/loadBalancingRules"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
// BackendAddressPool: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// },
// BackendPort: to.Ptr[int32](80),
// DisableOutboundSnat: to.Ptr(false),
// EnableFloatingIP: to.Ptr(true),
// FrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// },
// FrontendPort: to.Ptr[int32](80),
// IdleTimeoutInMinutes: to.Ptr[int32](15),
// LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
// Probe: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// },
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
// },
// }},
// OutboundRules: []*armnetwork.OutboundRule{
// },
// Probes: []*armnetwork.Probe{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// Name: to.Ptr("probe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/probes"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.ProbePropertiesFormat{
// IntervalInSeconds: to.Ptr[int32](15),
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// NumberOfProbes: to.Ptr[int32](2),
// Port: to.Ptr[int32](80),
// ProbeThreshold: to.Ptr[int32](1),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// RequestPath: to.Ptr("healthcheck.aspx"),
// Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
// },
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// ResourceGUID: to.Ptr("00000000-0000-0000-0000-00000000"),
// },
// SKU: &armnetwork.LoadBalancerSKU{
// Name: to.Ptr(armnetwork.LoadBalancerSKUNameStandard),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a load balancer.
*
* @summary Creates or updates a load balancer.
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithZones.json
*/
async function createLoadBalancerWithFrontendIPInZone1() {
const subscriptionId = process.env["NETWORK_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["NETWORK_RESOURCE_GROUP"] || "rg1";
const loadBalancerName = "lb";
const parameters = {
backendAddressPools: [{ name: "be-lb" }],
frontendIPConfigurations: [
{
name: "fe-lb",
subnet: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
},
zones: ["1"],
},
],
inboundNatPools: [],
inboundNatRules: [
{
name: "in-nat-rule",
backendPort: 3389,
enableFloatingIP: true,
frontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
},
frontendPort: 3389,
idleTimeoutInMinutes: 15,
protocol: "Tcp",
},
],
loadBalancingRules: [
{
name: "rulelb",
backendAddressPool: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
},
backendPort: 80,
enableFloatingIP: true,
frontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
},
frontendPort: 80,
idleTimeoutInMinutes: 15,
loadDistribution: "Default",
probe: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
},
protocol: "Tcp",
},
],
location: "eastus",
outboundRules: [],
probes: [
{
name: "probe-lb",
intervalInSeconds: 15,
numberOfProbes: 2,
port: 80,
probeThreshold: 1,
requestPath: "healthcheck.aspx",
protocol: "Http",
},
],
sku: { name: "Standard" },
};
const credential = new DefaultAzureCredential();
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.loadBalancers.beginCreateOrUpdateAndWait(
resourceGroupName,
loadBalancerName,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Network.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
using Azure.ResourceManager.Network;
// Generated from example definition: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithZones.json
// this example is just showing the usage of "LoadBalancers_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this LoadBalancerResource
LoadBalancerCollection collection = resourceGroupResource.GetLoadBalancers();
// invoke the operation
string loadBalancerName = "lb";
LoadBalancerData data = new LoadBalancerData
{
Sku = new LoadBalancerSku
{
Name = LoadBalancerSkuName.Standard,
},
FrontendIPConfigurations = {new FrontendIPConfigurationData
{
Zones = {"1"},
Subnet = new SubnetData
{
Id = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
},
Name = "fe-lb",
}},
BackendAddressPools = {new BackendAddressPoolData
{
Name = "be-lb",
}},
LoadBalancingRules = {new LoadBalancingRuleData
{
Properties = new LoadBalancingRuleProperties(LoadBalancingTransportProtocol.Tcp, 80)
{
FrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
BackendAddressPoolId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
ProbeId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
LoadDistribution = LoadDistribution.Default,
BackendPort = 80,
IdleTimeoutInMinutes = 15,
EnableFloatingIP = true,
},
Name = "rulelb",
}},
Probes = {new ProbeData
{
Protocol = ProbeProtocol.Http,
Port = 80,
IntervalInSeconds = 15,
NumberOfProbes = 2,
ProbeThreshold = 1,
RequestPath = "healthcheck.aspx",
Name = "probe-lb",
}},
InboundNatRules = {new InboundNatRuleData
{
FrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
Protocol = LoadBalancingTransportProtocol.Tcp,
FrontendPort = 3389,
BackendPort = 3389,
IdleTimeoutInMinutes = 15,
EnableFloatingIP = true,
Name = "in-nat-rule",
}},
InboundNatPools = { },
OutboundRules = { },
Location = new AzureLocation("eastus"),
};
ArmOperation<LoadBalancerResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, loadBalancerName, data);
LoadBalancerResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
LoadBalancerData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"zones": [
"1"
],
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"inboundNatRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
}
]
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"disableOutboundSnat": false
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
"type": "Microsoft.Network/loadBalancers/inboundNatRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp"
}
}
],
"outboundRules": [],
"inboundNatPools": []
}
}
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"zones": [
"1"
],
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"inboundNatRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
}
]
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"disableOutboundSnat": false
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
"type": "Microsoft.Network/loadBalancers/inboundNatRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp"
}
}
],
"outboundRules": [],
"inboundNatPools": []
}
}
示例请求
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb?api-version=2024-05-01
{
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"gatewayLoadBalancer": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider"
}
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"properties": {}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
}
}
}
],
"probes": [
{
"name": "probe-lb",
"properties": {
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp"
}
}
],
"inboundNatPools": [],
"outboundRules": []
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.BackendAddressPoolInner;
import com.azure.resourcemanager.network.fluent.models.FrontendIpConfigurationInner;
import com.azure.resourcemanager.network.fluent.models.InboundNatRuleInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancerInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancingRuleInner;
import com.azure.resourcemanager.network.fluent.models.ProbeInner;
import com.azure.resourcemanager.network.fluent.models.SubnetInner;
import com.azure.resourcemanager.network.models.LoadBalancerSku;
import com.azure.resourcemanager.network.models.LoadBalancerSkuName;
import com.azure.resourcemanager.network.models.LoadDistribution;
import com.azure.resourcemanager.network.models.ProbeProtocol;
import com.azure.resourcemanager.network.models.TransportProtocol;
import java.util.Arrays;
/**
* Samples for LoadBalancers CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/
* LoadBalancerCreateGatewayLoadBalancerConsumer.json
*/
/**
* Sample code: Create load balancer with Gateway Load Balancer Consumer configured.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createLoadBalancerWithGatewayLoadBalancerConsumerConfigured(
com.azure.resourcemanager.AzureResourceManager azure) {
azure.networks().manager().serviceClient().getLoadBalancers().createOrUpdate("rg1", "lb",
new LoadBalancerInner().withLocation("eastus")
.withSku(new LoadBalancerSku().withName(LoadBalancerSkuName.STANDARD))
.withFrontendIpConfigurations(Arrays.asList(new FrontendIpConfigurationInner().withName("fe-lb")
.withSubnet(new SubnetInner().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"))
.withGatewayLoadBalancer(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider"))))
.withBackendAddressPools(Arrays.asList(new BackendAddressPoolInner().withName("be-lb")))
.withLoadBalancingRules(Arrays.asList(new LoadBalancingRuleInner().withName("rulelb")
.withFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"))
.withBackendAddressPool(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"))
.withProbe(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"))
.withProtocol(TransportProtocol.TCP).withLoadDistribution(LoadDistribution.DEFAULT)
.withFrontendPort(80).withBackendPort(80).withIdleTimeoutInMinutes(15).withEnableFloatingIp(true)))
.withProbes(Arrays.asList(new ProbeInner().withName("probe-lb").withProtocol(ProbeProtocol.HTTP)
.withPort(80).withIntervalInSeconds(15).withNumberOfProbes(2).withProbeThreshold(1)
.withRequestPath("healthcheck.aspx")))
.withInboundNatRules(Arrays.asList(new InboundNatRuleInner().withName("in-nat-rule")
.withFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"))
.withProtocol(TransportProtocol.TCP).withFrontendPort(3389).withBackendPort(3389)
.withIdleTimeoutInMinutes(15).withEnableFloatingIp(true)))
.withInboundNatPools(Arrays.asList()).withOutboundRules(Arrays.asList()),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python load_balancer_create_gateway_load_balancer_consumer.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.load_balancers.begin_create_or_update(
resource_group_name="rg1",
load_balancer_name="lb",
parameters={
"location": "eastus",
"properties": {
"backendAddressPools": [{"name": "be-lb", "properties": {}}],
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"gatewayLoadBalancer": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider"
},
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
},
}
],
"inboundNatPools": [],
"inboundNatRules": [
{
"name": "in-nat-rule",
"properties": {
"backendPort": 3389,
"enableFloatingIP": True,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
},
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"backendPort": 80,
"enableFloatingIP": True,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"idleTimeoutInMinutes": 15,
"loadDistribution": "Default",
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"protocol": "Tcp",
},
}
],
"outboundRules": [],
"probes": [
{
"name": "probe-lb",
"properties": {
"intervalInSeconds": 15,
"numberOfProbes": 2,
"port": 80,
"probeThreshold": 1,
"protocol": "Http",
"requestPath": "healthcheck.aspx",
},
}
],
},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/ab04533261eff228f28e08900445d0edef3eb70c/specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json
func ExampleLoadBalancersClient_BeginCreateOrUpdate_createLoadBalancerWithGatewayLoadBalancerConsumerConfigured() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewLoadBalancersClient().BeginCreateOrUpdate(ctx, "rg1", "lb", armnetwork.LoadBalancer{
Location: to.Ptr("eastus"),
Properties: &armnetwork.LoadBalancerPropertiesFormat{
BackendAddressPools: []*armnetwork.BackendAddressPool{
{
Name: to.Ptr("be-lb"),
Properties: &armnetwork.BackendAddressPoolPropertiesFormat{},
}},
FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
{
Name: to.Ptr("fe-lb"),
Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
GatewayLoadBalancer: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider"),
},
Subnet: &armnetwork.Subnet{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
},
},
}},
InboundNatPools: []*armnetwork.InboundNatPool{},
InboundNatRules: []*armnetwork.InboundNatRule{
{
Name: to.Ptr("in-nat-rule"),
Properties: &armnetwork.InboundNatRulePropertiesFormat{
BackendPort: to.Ptr[int32](3389),
EnableFloatingIP: to.Ptr(true),
FrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
},
FrontendPort: to.Ptr[int32](3389),
IdleTimeoutInMinutes: to.Ptr[int32](15),
Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
},
}},
LoadBalancingRules: []*armnetwork.LoadBalancingRule{
{
Name: to.Ptr("rulelb"),
Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
BackendAddressPool: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
},
BackendPort: to.Ptr[int32](80),
EnableFloatingIP: to.Ptr(true),
FrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
},
FrontendPort: to.Ptr[int32](80),
IdleTimeoutInMinutes: to.Ptr[int32](15),
LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
Probe: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
},
Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
},
}},
OutboundRules: []*armnetwork.OutboundRule{},
Probes: []*armnetwork.Probe{
{
Name: to.Ptr("probe-lb"),
Properties: &armnetwork.ProbePropertiesFormat{
IntervalInSeconds: to.Ptr[int32](15),
NumberOfProbes: to.Ptr[int32](2),
Port: to.Ptr[int32](80),
ProbeThreshold: to.Ptr[int32](1),
RequestPath: to.Ptr("healthcheck.aspx"),
Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
},
}},
},
SKU: &armnetwork.LoadBalancerSKU{
Name: to.Ptr(armnetwork.LoadBalancerSKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.LoadBalancer = armnetwork.LoadBalancer{
// Name: to.Ptr("lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb"),
// Location: to.Ptr("eastus"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancerPropertiesFormat{
// BackendAddressPools: []*armnetwork.BackendAddressPool{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// Name: to.Ptr("be-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/backendAddressPools"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.BackendAddressPoolPropertiesFormat{
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// },
// }},
// FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// Name: to.Ptr("fe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/frontendIPConfigurations"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
// GatewayLoadBalancer: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider"),
// },
// InboundNatRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"),
// }},
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// PrivateIPAddress: to.Ptr("10.0.1.4"),
// PrivateIPAllocationMethod: to.Ptr(armnetwork.IPAllocationMethodDynamic),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Subnet: &armnetwork.Subnet{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
// },
// },
// }},
// InboundNatPools: []*armnetwork.InboundNatPool{
// },
// InboundNatRules: []*armnetwork.InboundNatRule{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"),
// Name: to.Ptr("in-nat-rule"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/inboundNatRules"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.InboundNatRulePropertiesFormat{
// BackendPort: to.Ptr[int32](3389),
// EnableFloatingIP: to.Ptr(true),
// FrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// },
// FrontendPort: to.Ptr[int32](3389),
// IdleTimeoutInMinutes: to.Ptr[int32](15),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
// },
// }},
// LoadBalancingRules: []*armnetwork.LoadBalancingRule{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// Name: to.Ptr("rulelb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/loadBalancingRules"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
// BackendAddressPool: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// },
// BackendPort: to.Ptr[int32](80),
// DisableOutboundSnat: to.Ptr(false),
// EnableFloatingIP: to.Ptr(true),
// FrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// },
// FrontendPort: to.Ptr[int32](80),
// IdleTimeoutInMinutes: to.Ptr[int32](15),
// LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
// Probe: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// },
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
// },
// }},
// OutboundRules: []*armnetwork.OutboundRule{
// },
// Probes: []*armnetwork.Probe{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// Name: to.Ptr("probe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/probes"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.ProbePropertiesFormat{
// IntervalInSeconds: to.Ptr[int32](15),
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// NumberOfProbes: to.Ptr[int32](2),
// Port: to.Ptr[int32](80),
// ProbeThreshold: to.Ptr[int32](1),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// RequestPath: to.Ptr("healthcheck.aspx"),
// Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
// },
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// ResourceGUID: to.Ptr("00000000-0000-0000-0000-00000000"),
// },
// SKU: &armnetwork.LoadBalancerSKU{
// Name: to.Ptr(armnetwork.LoadBalancerSKUNameStandard),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a load balancer.
*
* @summary Creates or updates a load balancer.
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json
*/
async function createLoadBalancerWithGatewayLoadBalancerConsumerConfigured() {
const subscriptionId = process.env["NETWORK_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["NETWORK_RESOURCE_GROUP"] || "rg1";
const loadBalancerName = "lb";
const parameters = {
backendAddressPools: [{ name: "be-lb" }],
frontendIPConfigurations: [
{
name: "fe-lb",
gatewayLoadBalancer: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider",
},
subnet: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
},
},
],
inboundNatPools: [],
inboundNatRules: [
{
name: "in-nat-rule",
backendPort: 3389,
enableFloatingIP: true,
frontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
},
frontendPort: 3389,
idleTimeoutInMinutes: 15,
protocol: "Tcp",
},
],
loadBalancingRules: [
{
name: "rulelb",
backendAddressPool: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
},
backendPort: 80,
enableFloatingIP: true,
frontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
},
frontendPort: 80,
idleTimeoutInMinutes: 15,
loadDistribution: "Default",
probe: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
},
protocol: "Tcp",
},
],
location: "eastus",
outboundRules: [],
probes: [
{
name: "probe-lb",
intervalInSeconds: 15,
numberOfProbes: 2,
port: 80,
probeThreshold: 1,
requestPath: "healthcheck.aspx",
protocol: "Http",
},
],
sku: { name: "Standard" },
};
const credential = new DefaultAzureCredential();
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.loadBalancers.beginCreateOrUpdateAndWait(
resourceGroupName,
loadBalancerName,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Network.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
using Azure.ResourceManager.Network;
// Generated from example definition: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json
// this example is just showing the usage of "LoadBalancers_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this LoadBalancerResource
LoadBalancerCollection collection = resourceGroupResource.GetLoadBalancers();
// invoke the operation
string loadBalancerName = "lb";
LoadBalancerData data = new LoadBalancerData
{
Sku = new LoadBalancerSku
{
Name = LoadBalancerSkuName.Standard,
},
FrontendIPConfigurations = {new FrontendIPConfigurationData
{
Subnet = new SubnetData
{
Id = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
},
GatewayLoadBalancerId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider"),
Name = "fe-lb",
}},
BackendAddressPools = {new BackendAddressPoolData
{
Name = "be-lb",
}},
LoadBalancingRules = {new LoadBalancingRuleData
{
Properties = new LoadBalancingRuleProperties(LoadBalancingTransportProtocol.Tcp, 80)
{
FrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
BackendAddressPoolId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
ProbeId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
LoadDistribution = LoadDistribution.Default,
BackendPort = 80,
IdleTimeoutInMinutes = 15,
EnableFloatingIP = true,
},
Name = "rulelb",
}},
Probes = {new ProbeData
{
Protocol = ProbeProtocol.Http,
Port = 80,
IntervalInSeconds = 15,
NumberOfProbes = 2,
ProbeThreshold = 1,
RequestPath = "healthcheck.aspx",
Name = "probe-lb",
}},
InboundNatRules = {new InboundNatRuleData
{
FrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
Protocol = LoadBalancingTransportProtocol.Tcp,
FrontendPort = 3389,
BackendPort = 3389,
IdleTimeoutInMinutes = 15,
EnableFloatingIP = true,
Name = "in-nat-rule",
}},
InboundNatPools = { },
OutboundRules = { },
Location = new AzureLocation("eastus"),
};
ArmOperation<LoadBalancerResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, loadBalancerName, data);
LoadBalancerResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
LoadBalancerData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"inboundNatRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
}
],
"gatewayLoadBalancer": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider"
}
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"disableOutboundSnat": false
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
"type": "Microsoft.Network/loadBalancers/inboundNatRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp"
}
}
],
"outboundRules": [],
"inboundNatPools": []
}
}
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"inboundNatRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
}
],
"gatewayLoadBalancer": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb-provider"
}
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"disableOutboundSnat": false
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
"type": "Microsoft.Network/loadBalancers/inboundNatRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp"
}
}
],
"outboundRules": [],
"inboundNatPools": []
}
}
示例请求
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb?api-version=2024-05-01
{
"location": "eastus",
"sku": {
"name": "Gateway"
},
"properties": {
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
}
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"properties": {
"tunnelInterfaces": [
{
"port": 15000,
"identifier": 900,
"protocol": "VXLAN",
"type": "Internal"
},
{
"port": 15001,
"identifier": 901,
"protocol": "VXLAN",
"type": "Internal"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 0,
"backendPort": 0,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "All",
"loadDistribution": "Default",
"backendAddressPools": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
}
],
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
}
}
}
],
"probes": [
{
"name": "probe-lb",
"properties": {
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1
}
}
],
"inboundNatPools": [],
"outboundRules": []
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.BackendAddressPoolInner;
import com.azure.resourcemanager.network.fluent.models.FrontendIpConfigurationInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancerInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancingRuleInner;
import com.azure.resourcemanager.network.fluent.models.ProbeInner;
import com.azure.resourcemanager.network.fluent.models.SubnetInner;
import com.azure.resourcemanager.network.models.GatewayLoadBalancerTunnelInterface;
import com.azure.resourcemanager.network.models.GatewayLoadBalancerTunnelInterfaceType;
import com.azure.resourcemanager.network.models.GatewayLoadBalancerTunnelProtocol;
import com.azure.resourcemanager.network.models.LoadBalancerSku;
import com.azure.resourcemanager.network.models.LoadBalancerSkuName;
import com.azure.resourcemanager.network.models.LoadDistribution;
import com.azure.resourcemanager.network.models.ProbeProtocol;
import com.azure.resourcemanager.network.models.TransportProtocol;
import java.util.Arrays;
/**
* Samples for LoadBalancers CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/
* LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json
*/
/**
* Sample code: Create load balancer with Gateway Load Balancer Provider configured with one Backend Pool.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createLoadBalancerWithGatewayLoadBalancerProviderConfiguredWithOneBackendPool(
com.azure.resourcemanager.AzureResourceManager azure) {
azure.networks().manager().serviceClient().getLoadBalancers().createOrUpdate("rg1", "lb",
new LoadBalancerInner().withLocation("eastus")
.withSku(new LoadBalancerSku().withName(LoadBalancerSkuName.GATEWAY))
.withFrontendIpConfigurations(Arrays.asList(new FrontendIpConfigurationInner().withName("fe-lb")
.withSubnet(new SubnetInner().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"))))
.withBackendAddressPools(Arrays.asList(new BackendAddressPoolInner().withName("be-lb")
.withTunnelInterfaces(Arrays.asList(
new GatewayLoadBalancerTunnelInterface().withPort(15000).withIdentifier(900)
.withProtocol(GatewayLoadBalancerTunnelProtocol.VXLAN)
.withType(GatewayLoadBalancerTunnelInterfaceType.INTERNAL),
new GatewayLoadBalancerTunnelInterface().withPort(15001).withIdentifier(901)
.withProtocol(GatewayLoadBalancerTunnelProtocol.VXLAN)
.withType(GatewayLoadBalancerTunnelInterfaceType.INTERNAL)))))
.withLoadBalancingRules(Arrays.asList(new LoadBalancingRuleInner().withName("rulelb")
.withFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"))
.withBackendAddressPools(Arrays.asList(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb")))
.withProbe(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"))
.withProtocol(TransportProtocol.ALL).withLoadDistribution(LoadDistribution.DEFAULT)
.withFrontendPort(0).withBackendPort(0).withIdleTimeoutInMinutes(15).withEnableFloatingIp(true)))
.withProbes(Arrays.asList(new ProbeInner().withName("probe-lb").withProtocol(ProbeProtocol.HTTP)
.withPort(80).withIntervalInSeconds(15).withNumberOfProbes(2).withProbeThreshold(1)
.withRequestPath("healthcheck.aspx")))
.withInboundNatPools(Arrays.asList()).withOutboundRules(Arrays.asList()),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python load_balancer_create_gateway_load_balancer_provider_with_one_backend_pool.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.load_balancers.begin_create_or_update(
resource_group_name="rg1",
load_balancer_name="lb",
parameters={
"location": "eastus",
"properties": {
"backendAddressPools": [
{
"name": "be-lb",
"properties": {
"tunnelInterfaces": [
{"identifier": 900, "port": 15000, "protocol": "VXLAN", "type": "Internal"},
{"identifier": 901, "port": 15001, "protocol": "VXLAN", "type": "Internal"},
]
},
}
],
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
}
},
}
],
"inboundNatPools": [],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"backendAddressPools": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
}
],
"backendPort": 0,
"enableFloatingIP": True,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 0,
"idleTimeoutInMinutes": 15,
"loadDistribution": "Default",
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"protocol": "All",
},
}
],
"outboundRules": [],
"probes": [
{
"name": "probe-lb",
"properties": {
"intervalInSeconds": 15,
"numberOfProbes": 2,
"port": 80,
"probeThreshold": 1,
"protocol": "Http",
"requestPath": "healthcheck.aspx",
},
}
],
},
"sku": {"name": "Gateway"},
},
).result()
print(response)
# x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/ab04533261eff228f28e08900445d0edef3eb70c/specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json
func ExampleLoadBalancersClient_BeginCreateOrUpdate_createLoadBalancerWithGatewayLoadBalancerProviderConfiguredWithOneBackendPool() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewLoadBalancersClient().BeginCreateOrUpdate(ctx, "rg1", "lb", armnetwork.LoadBalancer{
Location: to.Ptr("eastus"),
Properties: &armnetwork.LoadBalancerPropertiesFormat{
BackendAddressPools: []*armnetwork.BackendAddressPool{
{
Name: to.Ptr("be-lb"),
Properties: &armnetwork.BackendAddressPoolPropertiesFormat{
TunnelInterfaces: []*armnetwork.GatewayLoadBalancerTunnelInterface{
{
Type: to.Ptr(armnetwork.GatewayLoadBalancerTunnelInterfaceTypeInternal),
Identifier: to.Ptr[int32](900),
Port: to.Ptr[int32](15000),
Protocol: to.Ptr(armnetwork.GatewayLoadBalancerTunnelProtocolVXLAN),
},
{
Type: to.Ptr(armnetwork.GatewayLoadBalancerTunnelInterfaceTypeInternal),
Identifier: to.Ptr[int32](901),
Port: to.Ptr[int32](15001),
Protocol: to.Ptr(armnetwork.GatewayLoadBalancerTunnelProtocolVXLAN),
}},
},
}},
FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
{
Name: to.Ptr("fe-lb"),
Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
Subnet: &armnetwork.Subnet{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
},
},
}},
InboundNatPools: []*armnetwork.InboundNatPool{},
LoadBalancingRules: []*armnetwork.LoadBalancingRule{
{
Name: to.Ptr("rulelb"),
Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
BackendAddressPools: []*armnetwork.SubResource{
{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
}},
BackendPort: to.Ptr[int32](0),
EnableFloatingIP: to.Ptr(true),
FrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
},
FrontendPort: to.Ptr[int32](0),
IdleTimeoutInMinutes: to.Ptr[int32](15),
LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
Probe: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
},
Protocol: to.Ptr(armnetwork.TransportProtocolAll),
},
}},
OutboundRules: []*armnetwork.OutboundRule{},
Probes: []*armnetwork.Probe{
{
Name: to.Ptr("probe-lb"),
Properties: &armnetwork.ProbePropertiesFormat{
IntervalInSeconds: to.Ptr[int32](15),
NumberOfProbes: to.Ptr[int32](2),
Port: to.Ptr[int32](80),
ProbeThreshold: to.Ptr[int32](1),
RequestPath: to.Ptr("healthcheck.aspx"),
Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
},
}},
},
SKU: &armnetwork.LoadBalancerSKU{
Name: to.Ptr(armnetwork.LoadBalancerSKUNameGateway),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.LoadBalancer = armnetwork.LoadBalancer{
// Name: to.Ptr("lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb"),
// Location: to.Ptr("eastus"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancerPropertiesFormat{
// BackendAddressPools: []*armnetwork.BackendAddressPool{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// Name: to.Ptr("be-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/backendAddressPools"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.BackendAddressPoolPropertiesFormat{
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// TunnelInterfaces: []*armnetwork.GatewayLoadBalancerTunnelInterface{
// {
// Type: to.Ptr(armnetwork.GatewayLoadBalancerTunnelInterfaceTypeInternal),
// Identifier: to.Ptr[int32](900),
// Port: to.Ptr[int32](15000),
// Protocol: to.Ptr(armnetwork.GatewayLoadBalancerTunnelProtocolVXLAN),
// },
// {
// Type: to.Ptr(armnetwork.GatewayLoadBalancerTunnelInterfaceTypeInternal),
// Identifier: to.Ptr[int32](901),
// Port: to.Ptr[int32](15001),
// Protocol: to.Ptr(armnetwork.GatewayLoadBalancerTunnelProtocolVXLAN),
// }},
// },
// }},
// FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// Name: to.Ptr("fe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/frontendIPConfigurations"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
// InboundNatRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"),
// }},
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// PrivateIPAddress: to.Ptr("10.0.1.4"),
// PrivateIPAllocationMethod: to.Ptr(armnetwork.IPAllocationMethodDynamic),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Subnet: &armnetwork.Subnet{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
// },
// },
// }},
// InboundNatPools: []*armnetwork.InboundNatPool{
// },
// LoadBalancingRules: []*armnetwork.LoadBalancingRule{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// Name: to.Ptr("rulelb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/loadBalancingRules"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
// BackendAddressPools: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// }},
// BackendPort: to.Ptr[int32](80),
// DisableOutboundSnat: to.Ptr(false),
// EnableFloatingIP: to.Ptr(true),
// FrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// },
// FrontendPort: to.Ptr[int32](80),
// IdleTimeoutInMinutes: to.Ptr[int32](15),
// LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
// Probe: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// },
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
// },
// }},
// OutboundRules: []*armnetwork.OutboundRule{
// },
// Probes: []*armnetwork.Probe{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// Name: to.Ptr("probe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/probes"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.ProbePropertiesFormat{
// IntervalInSeconds: to.Ptr[int32](15),
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// NumberOfProbes: to.Ptr[int32](2),
// Port: to.Ptr[int32](80),
// ProbeThreshold: to.Ptr[int32](1),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// RequestPath: to.Ptr("healthcheck.aspx"),
// Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
// },
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// ResourceGUID: to.Ptr("00000000-0000-0000-0000-00000000"),
// },
// SKU: &armnetwork.LoadBalancerSKU{
// Name: to.Ptr(armnetwork.LoadBalancerSKUNameGateway),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a load balancer.
*
* @summary Creates or updates a load balancer.
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json
*/
async function createLoadBalancerWithGatewayLoadBalancerProviderConfiguredWithOneBackendPool() {
const subscriptionId = process.env["NETWORK_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["NETWORK_RESOURCE_GROUP"] || "rg1";
const loadBalancerName = "lb";
const parameters = {
backendAddressPools: [
{
name: "be-lb",
tunnelInterfaces: [
{ type: "Internal", identifier: 900, port: 15000, protocol: "VXLAN" },
{ type: "Internal", identifier: 901, port: 15001, protocol: "VXLAN" },
],
},
],
frontendIPConfigurations: [
{
name: "fe-lb",
subnet: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
},
},
],
inboundNatPools: [],
loadBalancingRules: [
{
name: "rulelb",
backendAddressPools: [
{
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
},
],
backendPort: 0,
enableFloatingIP: true,
frontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
},
frontendPort: 0,
idleTimeoutInMinutes: 15,
loadDistribution: "Default",
probe: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
},
protocol: "All",
},
],
location: "eastus",
outboundRules: [],
probes: [
{
name: "probe-lb",
intervalInSeconds: 15,
numberOfProbes: 2,
port: 80,
probeThreshold: 1,
requestPath: "healthcheck.aspx",
protocol: "Http",
},
],
sku: { name: "Gateway" },
};
const credential = new DefaultAzureCredential();
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.loadBalancers.beginCreateOrUpdateAndWait(
resourceGroupName,
loadBalancerName,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Network.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
using Azure.ResourceManager.Network;
// Generated from example definition: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json
// this example is just showing the usage of "LoadBalancers_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this LoadBalancerResource
LoadBalancerCollection collection = resourceGroupResource.GetLoadBalancers();
// invoke the operation
string loadBalancerName = "lb";
LoadBalancerData data = new LoadBalancerData
{
Sku = new LoadBalancerSku
{
Name = LoadBalancerSkuName.Gateway,
},
FrontendIPConfigurations = {new FrontendIPConfigurationData
{
Subnet = new SubnetData
{
Id = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
},
Name = "fe-lb",
}},
BackendAddressPools = {new BackendAddressPoolData
{
TunnelInterfaces = {new GatewayLoadBalancerTunnelInterface
{
Port = 15000,
Identifier = 900,
Protocol = GatewayLoadBalancerTunnelProtocol.Vxlan,
InterfaceType = GatewayLoadBalancerTunnelInterfaceType.Internal,
}, new GatewayLoadBalancerTunnelInterface
{
Port = 15001,
Identifier = 901,
Protocol = GatewayLoadBalancerTunnelProtocol.Vxlan,
InterfaceType = GatewayLoadBalancerTunnelInterfaceType.Internal,
}},
Name = "be-lb",
}},
LoadBalancingRules = {new LoadBalancingRuleData
{
Properties = new LoadBalancingRuleProperties(LoadBalancingTransportProtocol.All, 0)
{
FrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
BackendAddressPools = {new WritableSubResource
{
Id = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
}},
ProbeId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
LoadDistribution = LoadDistribution.Default,
BackendPort = 0,
IdleTimeoutInMinutes = 15,
EnableFloatingIP = true,
},
Name = "rulelb",
}},
Probes = {new ProbeData
{
Protocol = ProbeProtocol.Http,
Port = 80,
IntervalInSeconds = 15,
NumberOfProbes = 2,
ProbeThreshold = 1,
RequestPath = "healthcheck.aspx",
Name = "probe-lb",
}},
InboundNatPools = { },
OutboundRules = { },
Location = new AzureLocation("eastus"),
};
ArmOperation<LoadBalancerResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, loadBalancerName, data);
LoadBalancerResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
LoadBalancerData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Gateway"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"inboundNatRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
}
]
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"tunnelInterfaces": [
{
"port": 15000,
"identifier": 900,
"protocol": "VXLAN",
"type": "Internal"
},
{
"port": 15001,
"identifier": 901,
"protocol": "VXLAN",
"type": "Internal"
}
],
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPools": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
}
],
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"disableOutboundSnat": false
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"outboundRules": [],
"inboundNatPools": []
}
}
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Gateway"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"tunnelInterfaces": [
{
"port": 15000,
"identifier": 900,
"protocol": "VXLAN",
"type": "Internal"
},
{
"port": 15001,
"identifier": 901,
"protocol": "VXLAN",
"type": "Internal"
}
],
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPools": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
}
],
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"disableOutboundSnat": false
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"outboundRules": [],
"inboundNatPools": []
}
}
示例请求
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb?api-version=2024-05-01
{
"location": "eastus",
"sku": {
"name": "Gateway"
},
"properties": {
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
}
}
}
],
"backendAddressPools": [
{
"name": "be-lb1",
"properties": {}
},
{
"name": "be-lb2",
"properties": {}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 0,
"backendPort": 0,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "All",
"loadDistribution": "Default",
"backendAddressPool": {},
"backendAddressPools": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1"
},
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2"
}
],
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
}
}
}
],
"probes": [
{
"name": "probe-lb",
"properties": {
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1
}
}
],
"inboundNatPools": [],
"outboundRules": []
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.BackendAddressPoolInner;
import com.azure.resourcemanager.network.fluent.models.FrontendIpConfigurationInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancerInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancingRuleInner;
import com.azure.resourcemanager.network.fluent.models.ProbeInner;
import com.azure.resourcemanager.network.fluent.models.SubnetInner;
import com.azure.resourcemanager.network.models.LoadBalancerSku;
import com.azure.resourcemanager.network.models.LoadBalancerSkuName;
import com.azure.resourcemanager.network.models.LoadDistribution;
import com.azure.resourcemanager.network.models.ProbeProtocol;
import com.azure.resourcemanager.network.models.TransportProtocol;
import java.util.Arrays;
/**
* Samples for LoadBalancers CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/
* LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json
*/
/**
* Sample code: Create load balancer with Gateway Load Balancer Provider configured with two Backend Pool.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createLoadBalancerWithGatewayLoadBalancerProviderConfiguredWithTwoBackendPool(
com.azure.resourcemanager.AzureResourceManager azure) {
azure.networks().manager().serviceClient().getLoadBalancers().createOrUpdate("rg1", "lb",
new LoadBalancerInner().withLocation("eastus")
.withSku(new LoadBalancerSku().withName(LoadBalancerSkuName.GATEWAY))
.withFrontendIpConfigurations(Arrays.asList(new FrontendIpConfigurationInner().withName("fe-lb")
.withSubnet(new SubnetInner().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"))))
.withBackendAddressPools(Arrays.asList(new BackendAddressPoolInner().withName("be-lb1"),
new BackendAddressPoolInner().withName("be-lb2")))
.withLoadBalancingRules(Arrays.asList(new LoadBalancingRuleInner().withName("rulelb")
.withFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"))
.withBackendAddressPool(new SubResource())
.withBackendAddressPools(Arrays.asList(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1"),
new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2")))
.withProbe(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"))
.withProtocol(TransportProtocol.ALL).withLoadDistribution(LoadDistribution.DEFAULT)
.withFrontendPort(0).withBackendPort(0).withIdleTimeoutInMinutes(15).withEnableFloatingIp(true)))
.withProbes(Arrays.asList(new ProbeInner().withName("probe-lb").withProtocol(ProbeProtocol.HTTP)
.withPort(80).withIntervalInSeconds(15).withNumberOfProbes(2).withProbeThreshold(1)
.withRequestPath("healthcheck.aspx")))
.withInboundNatPools(Arrays.asList()).withOutboundRules(Arrays.asList()),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python load_balancer_create_gateway_load_balancer_provider_with_two_backend_pool.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.load_balancers.begin_create_or_update(
resource_group_name="rg1",
load_balancer_name="lb",
parameters={
"location": "eastus",
"properties": {
"backendAddressPools": [{"name": "be-lb1", "properties": {}}, {"name": "be-lb2", "properties": {}}],
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
}
},
}
],
"inboundNatPools": [],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"backendAddressPool": {},
"backendAddressPools": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1"
},
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2"
},
],
"backendPort": 0,
"enableFloatingIP": True,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 0,
"idleTimeoutInMinutes": 15,
"loadDistribution": "Default",
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"protocol": "All",
},
}
],
"outboundRules": [],
"probes": [
{
"name": "probe-lb",
"properties": {
"intervalInSeconds": 15,
"numberOfProbes": 2,
"port": 80,
"probeThreshold": 1,
"protocol": "Http",
"requestPath": "healthcheck.aspx",
},
}
],
},
"sku": {"name": "Gateway"},
},
).result()
print(response)
# x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/ab04533261eff228f28e08900445d0edef3eb70c/specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json
func ExampleLoadBalancersClient_BeginCreateOrUpdate_createLoadBalancerWithGatewayLoadBalancerProviderConfiguredWithTwoBackendPool() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewLoadBalancersClient().BeginCreateOrUpdate(ctx, "rg1", "lb", armnetwork.LoadBalancer{
Location: to.Ptr("eastus"),
Properties: &armnetwork.LoadBalancerPropertiesFormat{
BackendAddressPools: []*armnetwork.BackendAddressPool{
{
Name: to.Ptr("be-lb1"),
Properties: &armnetwork.BackendAddressPoolPropertiesFormat{},
},
{
Name: to.Ptr("be-lb2"),
Properties: &armnetwork.BackendAddressPoolPropertiesFormat{},
}},
FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
{
Name: to.Ptr("fe-lb"),
Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
Subnet: &armnetwork.Subnet{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
},
},
}},
InboundNatPools: []*armnetwork.InboundNatPool{},
LoadBalancingRules: []*armnetwork.LoadBalancingRule{
{
Name: to.Ptr("rulelb"),
Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
BackendAddressPool: &armnetwork.SubResource{},
BackendAddressPools: []*armnetwork.SubResource{
{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1"),
},
{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2"),
}},
BackendPort: to.Ptr[int32](0),
EnableFloatingIP: to.Ptr(true),
FrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
},
FrontendPort: to.Ptr[int32](0),
IdleTimeoutInMinutes: to.Ptr[int32](15),
LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
Probe: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
},
Protocol: to.Ptr(armnetwork.TransportProtocolAll),
},
}},
OutboundRules: []*armnetwork.OutboundRule{},
Probes: []*armnetwork.Probe{
{
Name: to.Ptr("probe-lb"),
Properties: &armnetwork.ProbePropertiesFormat{
IntervalInSeconds: to.Ptr[int32](15),
NumberOfProbes: to.Ptr[int32](2),
Port: to.Ptr[int32](80),
ProbeThreshold: to.Ptr[int32](1),
RequestPath: to.Ptr("healthcheck.aspx"),
Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
},
}},
},
SKU: &armnetwork.LoadBalancerSKU{
Name: to.Ptr(armnetwork.LoadBalancerSKUNameGateway),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.LoadBalancer = armnetwork.LoadBalancer{
// Name: to.Ptr("lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb"),
// Location: to.Ptr("eastus"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancerPropertiesFormat{
// BackendAddressPools: []*armnetwork.BackendAddressPool{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1"),
// Name: to.Ptr("be-lb1"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/backendAddressPools"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.BackendAddressPoolPropertiesFormat{
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// TunnelInterfaces: []*armnetwork.GatewayLoadBalancerTunnelInterface{
// {
// Type: to.Ptr(armnetwork.GatewayLoadBalancerTunnelInterfaceTypeInternal),
// Identifier: to.Ptr[int32](900),
// Port: to.Ptr[int32](15000),
// Protocol: to.Ptr(armnetwork.GatewayLoadBalancerTunnelProtocolVXLAN),
// }},
// },
// },
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2"),
// Name: to.Ptr("be-lb2"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/backendAddressPools"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.BackendAddressPoolPropertiesFormat{
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// TunnelInterfaces: []*armnetwork.GatewayLoadBalancerTunnelInterface{
// {
// Type: to.Ptr(armnetwork.GatewayLoadBalancerTunnelInterfaceTypeInternal),
// Identifier: to.Ptr[int32](901),
// Port: to.Ptr[int32](15001),
// Protocol: to.Ptr(armnetwork.GatewayLoadBalancerTunnelProtocolVXLAN),
// }},
// },
// }},
// FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// Name: to.Ptr("fe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/frontendIPConfigurations"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
// InboundNatRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"),
// }},
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// PrivateIPAddress: to.Ptr("10.0.1.4"),
// PrivateIPAllocationMethod: to.Ptr(armnetwork.IPAllocationMethodDynamic),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Subnet: &armnetwork.Subnet{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
// },
// },
// }},
// InboundNatPools: []*armnetwork.InboundNatPool{
// },
// LoadBalancingRules: []*armnetwork.LoadBalancingRule{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// Name: to.Ptr("rulelb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/loadBalancingRules"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
// BackendAddressPools: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1"),
// },
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2"),
// }},
// BackendPort: to.Ptr[int32](0),
// DisableOutboundSnat: to.Ptr(false),
// EnableFloatingIP: to.Ptr(true),
// FrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// },
// FrontendPort: to.Ptr[int32](0),
// IdleTimeoutInMinutes: to.Ptr[int32](15),
// LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
// Probe: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// },
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
// },
// }},
// OutboundRules: []*armnetwork.OutboundRule{
// },
// Probes: []*armnetwork.Probe{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// Name: to.Ptr("probe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/probes"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.ProbePropertiesFormat{
// IntervalInSeconds: to.Ptr[int32](15),
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// NumberOfProbes: to.Ptr[int32](2),
// Port: to.Ptr[int32](80),
// ProbeThreshold: to.Ptr[int32](1),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// RequestPath: to.Ptr("healthcheck.aspx"),
// Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
// },
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// ResourceGUID: to.Ptr("00000000-0000-0000-0000-00000000"),
// },
// SKU: &armnetwork.LoadBalancerSKU{
// Name: to.Ptr(armnetwork.LoadBalancerSKUNameGateway),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a load balancer.
*
* @summary Creates or updates a load balancer.
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json
*/
async function createLoadBalancerWithGatewayLoadBalancerProviderConfiguredWithTwoBackendPool() {
const subscriptionId = process.env["NETWORK_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["NETWORK_RESOURCE_GROUP"] || "rg1";
const loadBalancerName = "lb";
const parameters = {
backendAddressPools: [{ name: "be-lb1" }, { name: "be-lb2" }],
frontendIPConfigurations: [
{
name: "fe-lb",
subnet: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
},
},
],
inboundNatPools: [],
loadBalancingRules: [
{
name: "rulelb",
backendAddressPool: {},
backendAddressPools: [
{
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1",
},
{
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2",
},
],
backendPort: 0,
enableFloatingIP: true,
frontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
},
frontendPort: 0,
idleTimeoutInMinutes: 15,
loadDistribution: "Default",
probe: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
},
protocol: "All",
},
],
location: "eastus",
outboundRules: [],
probes: [
{
name: "probe-lb",
intervalInSeconds: 15,
numberOfProbes: 2,
port: 80,
probeThreshold: 1,
requestPath: "healthcheck.aspx",
protocol: "Http",
},
],
sku: { name: "Gateway" },
};
const credential = new DefaultAzureCredential();
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.loadBalancers.beginCreateOrUpdateAndWait(
resourceGroupName,
loadBalancerName,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Network.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
using Azure.ResourceManager.Network;
// Generated from example definition: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json
// this example is just showing the usage of "LoadBalancers_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this LoadBalancerResource
LoadBalancerCollection collection = resourceGroupResource.GetLoadBalancers();
// invoke the operation
string loadBalancerName = "lb";
LoadBalancerData data = new LoadBalancerData
{
Sku = new LoadBalancerSku
{
Name = LoadBalancerSkuName.Gateway,
},
FrontendIPConfigurations = {new FrontendIPConfigurationData
{
Subnet = new SubnetData
{
Id = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
},
Name = "fe-lb",
}},
BackendAddressPools = {new BackendAddressPoolData
{
Name = "be-lb1",
}, new BackendAddressPoolData
{
Name = "be-lb2",
}},
LoadBalancingRules = {new LoadBalancingRuleData
{
Properties = new LoadBalancingRuleProperties(LoadBalancingTransportProtocol.All, 0)
{
FrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
BackendAddressPools = {new WritableSubResource
{
Id = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1"),
}, new WritableSubResource
{
Id = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2"),
}},
ProbeId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
LoadDistribution = LoadDistribution.Default,
BackendPort = 0,
IdleTimeoutInMinutes = 15,
EnableFloatingIP = true,
},
Name = "rulelb",
}},
Probes = {new ProbeData
{
Protocol = ProbeProtocol.Http,
Port = 80,
IntervalInSeconds = 15,
NumberOfProbes = 2,
ProbeThreshold = 1,
RequestPath = "healthcheck.aspx",
Name = "probe-lb",
}},
InboundNatPools = { },
OutboundRules = { },
Location = new AzureLocation("eastus"),
};
ArmOperation<LoadBalancerResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, loadBalancerName, data);
LoadBalancerResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
LoadBalancerData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Gateway"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"inboundNatRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
}
]
}
}
],
"backendAddressPools": [
{
"name": "be-lb1",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"tunnelInterfaces": [
{
"port": 15000,
"identifier": 900,
"protocol": "VXLAN",
"type": "Internal"
}
],
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
},
{
"name": "be-lb2",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"tunnelInterfaces": [
{
"port": 15001,
"identifier": 901,
"protocol": "VXLAN",
"type": "Internal"
}
],
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 0,
"backendPort": 0,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPools": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1"
},
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2"
}
],
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"disableOutboundSnat": false
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"outboundRules": [],
"inboundNatPools": []
}
}
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Gateway"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"backendAddressPools": [
{
"name": "be-lb1",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"tunnelInterfaces": [
{
"port": 15000,
"identifier": 900,
"protocol": "VXLAN",
"type": "Internal"
}
],
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
},
{
"name": "be-lb2",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"tunnelInterfaces": [
{
"port": 15001,
"identifier": 901,
"protocol": "VXLAN",
"type": "Internal"
}
],
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPools": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1"
},
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2"
}
],
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"disableOutboundSnat": false
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"outboundRules": [],
"inboundNatPools": []
}
}
Create load balancer with Global Tier and one regional load balancer in its backend pool
示例请求
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb?api-version=2024-05-01
{
"location": "eastus",
"sku": {
"name": "Standard",
"tier": "Global"
},
"properties": {
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
}
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"properties": {
"loadBalancerBackendAddresses": [
{
"name": "regional-lb1-address",
"properties": {
"loadBalancerFrontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb"
}
}
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": false,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
}
}
}
],
"probes": [
{
"name": "probe-lb",
"properties": {
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1
}
}
]
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.BackendAddressPoolInner;
import com.azure.resourcemanager.network.fluent.models.FrontendIpConfigurationInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancerInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancingRuleInner;
import com.azure.resourcemanager.network.fluent.models.ProbeInner;
import com.azure.resourcemanager.network.fluent.models.SubnetInner;
import com.azure.resourcemanager.network.models.LoadBalancerBackendAddress;
import com.azure.resourcemanager.network.models.LoadBalancerSku;
import com.azure.resourcemanager.network.models.LoadBalancerSkuName;
import com.azure.resourcemanager.network.models.LoadBalancerSkuTier;
import com.azure.resourcemanager.network.models.LoadDistribution;
import com.azure.resourcemanager.network.models.ProbeProtocol;
import com.azure.resourcemanager.network.models.TransportProtocol;
import java.util.Arrays;
/**
* Samples for LoadBalancers CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGlobalTier.
* json
*/
/**
* Sample code: Create load balancer with Global Tier and one regional load balancer in its backend pool.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createLoadBalancerWithGlobalTierAndOneRegionalLoadBalancerInItsBackendPool(
com.azure.resourcemanager.AzureResourceManager azure) {
azure.networks().manager().serviceClient().getLoadBalancers().createOrUpdate("rg1", "lb",
new LoadBalancerInner().withLocation("eastus")
.withSku(
new LoadBalancerSku().withName(LoadBalancerSkuName.STANDARD).withTier(LoadBalancerSkuTier.GLOBAL))
.withFrontendIpConfigurations(Arrays.asList(new FrontendIpConfigurationInner().withName("fe-lb")
.withSubnet(new SubnetInner().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"))))
.withBackendAddressPools(Arrays.asList(new BackendAddressPoolInner().withName("be-lb")
.withLoadBalancerBackendAddresses(Arrays.asList(new LoadBalancerBackendAddress()
.withName("regional-lb1-address")
.withLoadBalancerFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb"))))))
.withLoadBalancingRules(Arrays.asList(new LoadBalancingRuleInner().withName("rulelb")
.withFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"))
.withBackendAddressPool(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"))
.withProbe(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"))
.withProtocol(TransportProtocol.TCP).withLoadDistribution(LoadDistribution.DEFAULT)
.withFrontendPort(80).withBackendPort(80).withIdleTimeoutInMinutes(15).withEnableFloatingIp(false)))
.withProbes(Arrays.asList(new ProbeInner().withName("probe-lb").withProtocol(ProbeProtocol.HTTP)
.withPort(80).withIntervalInSeconds(15).withNumberOfProbes(2).withProbeThreshold(1)
.withRequestPath("healthcheck.aspx"))),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python load_balancer_create_global_tier.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.load_balancers.begin_create_or_update(
resource_group_name="rg1",
load_balancer_name="lb",
parameters={
"location": "eastus",
"properties": {
"backendAddressPools": [
{
"name": "be-lb",
"properties": {
"loadBalancerBackendAddresses": [
{
"name": "regional-lb1-address",
"properties": {
"loadBalancerFrontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb"
}
},
}
]
},
}
],
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
}
},
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"backendPort": 80,
"enableFloatingIP": False,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"idleTimeoutInMinutes": 15,
"loadDistribution": "Default",
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"protocol": "Tcp",
},
}
],
"probes": [
{
"name": "probe-lb",
"properties": {
"intervalInSeconds": 15,
"numberOfProbes": 2,
"port": 80,
"probeThreshold": 1,
"protocol": "Http",
"requestPath": "healthcheck.aspx",
},
}
],
},
"sku": {"name": "Standard", "tier": "Global"},
},
).result()
print(response)
# x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGlobalTier.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/ab04533261eff228f28e08900445d0edef3eb70c/specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGlobalTier.json
func ExampleLoadBalancersClient_BeginCreateOrUpdate_createLoadBalancerWithGlobalTierAndOneRegionalLoadBalancerInItsBackendPool() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewLoadBalancersClient().BeginCreateOrUpdate(ctx, "rg1", "lb", armnetwork.LoadBalancer{
Location: to.Ptr("eastus"),
Properties: &armnetwork.LoadBalancerPropertiesFormat{
BackendAddressPools: []*armnetwork.BackendAddressPool{
{
Name: to.Ptr("be-lb"),
Properties: &armnetwork.BackendAddressPoolPropertiesFormat{
LoadBalancerBackendAddresses: []*armnetwork.LoadBalancerBackendAddress{
{
Name: to.Ptr("regional-lb1-address"),
Properties: &armnetwork.LoadBalancerBackendAddressPropertiesFormat{
LoadBalancerFrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb"),
},
},
}},
},
}},
FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
{
Name: to.Ptr("fe-lb"),
Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
Subnet: &armnetwork.Subnet{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
},
},
}},
LoadBalancingRules: []*armnetwork.LoadBalancingRule{
{
Name: to.Ptr("rulelb"),
Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
BackendAddressPool: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
},
BackendPort: to.Ptr[int32](80),
EnableFloatingIP: to.Ptr(false),
FrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
},
FrontendPort: to.Ptr[int32](80),
IdleTimeoutInMinutes: to.Ptr[int32](15),
LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
Probe: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
},
Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
},
}},
Probes: []*armnetwork.Probe{
{
Name: to.Ptr("probe-lb"),
Properties: &armnetwork.ProbePropertiesFormat{
IntervalInSeconds: to.Ptr[int32](15),
NumberOfProbes: to.Ptr[int32](2),
Port: to.Ptr[int32](80),
ProbeThreshold: to.Ptr[int32](1),
RequestPath: to.Ptr("healthcheck.aspx"),
Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
},
}},
},
SKU: &armnetwork.LoadBalancerSKU{
Name: to.Ptr(armnetwork.LoadBalancerSKUNameStandard),
Tier: to.Ptr(armnetwork.LoadBalancerSKUTierGlobal),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.LoadBalancer = armnetwork.LoadBalancer{
// Name: to.Ptr("lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb"),
// Location: to.Ptr("eastus"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancerPropertiesFormat{
// BackendAddressPools: []*armnetwork.BackendAddressPool{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// Name: to.Ptr("be-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/backendAddressPools"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.BackendAddressPoolPropertiesFormat{
// LoadBalancerBackendAddresses: []*armnetwork.LoadBalancerBackendAddress{
// {
// Name: to.Ptr("regional-lb1-address"),
// Properties: &armnetwork.LoadBalancerBackendAddressPropertiesFormat{
// LoadBalancerFrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb"),
// },
// },
// }},
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// },
// }},
// FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// Name: to.Ptr("fe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/frontendIPConfigurations"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
// InboundNatRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"),
// }},
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// PrivateIPAddress: to.Ptr("10.0.1.4"),
// PrivateIPAllocationMethod: to.Ptr(armnetwork.IPAllocationMethodDynamic),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Subnet: &armnetwork.Subnet{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
// },
// },
// }},
// LoadBalancingRules: []*armnetwork.LoadBalancingRule{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// Name: to.Ptr("rulelb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/loadBalancingRules"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
// BackendAddressPool: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// },
// BackendPort: to.Ptr[int32](80),
// DisableOutboundSnat: to.Ptr(false),
// EnableFloatingIP: to.Ptr(false),
// FrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// },
// FrontendPort: to.Ptr[int32](80),
// IdleTimeoutInMinutes: to.Ptr[int32](15),
// LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
// Probe: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// },
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
// },
// }},
// Probes: []*armnetwork.Probe{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// Name: to.Ptr("probe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/probes"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.ProbePropertiesFormat{
// IntervalInSeconds: to.Ptr[int32](15),
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// NumberOfProbes: to.Ptr[int32](2),
// Port: to.Ptr[int32](80),
// ProbeThreshold: to.Ptr[int32](1),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// RequestPath: to.Ptr("healthcheck.aspx"),
// Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
// },
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// ResourceGUID: to.Ptr("00000000-0000-0000-0000-00000000"),
// },
// SKU: &armnetwork.LoadBalancerSKU{
// Name: to.Ptr(armnetwork.LoadBalancerSKUNameStandard),
// Tier: to.Ptr(armnetwork.LoadBalancerSKUTierGlobal),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a load balancer.
*
* @summary Creates or updates a load balancer.
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGlobalTier.json
*/
async function createLoadBalancerWithGlobalTierAndOneRegionalLoadBalancerInItsBackendPool() {
const subscriptionId = process.env["NETWORK_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["NETWORK_RESOURCE_GROUP"] || "rg1";
const loadBalancerName = "lb";
const parameters = {
backendAddressPools: [
{
name: "be-lb",
loadBalancerBackendAddresses: [
{
name: "regional-lb1-address",
loadBalancerFrontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb",
},
},
],
},
],
frontendIPConfigurations: [
{
name: "fe-lb",
subnet: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
},
},
],
loadBalancingRules: [
{
name: "rulelb",
backendAddressPool: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
},
backendPort: 80,
enableFloatingIP: false,
frontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
},
frontendPort: 80,
idleTimeoutInMinutes: 15,
loadDistribution: "Default",
probe: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
},
protocol: "Tcp",
},
],
location: "eastus",
probes: [
{
name: "probe-lb",
intervalInSeconds: 15,
numberOfProbes: 2,
port: 80,
probeThreshold: 1,
requestPath: "healthcheck.aspx",
protocol: "Http",
},
],
sku: { name: "Standard", tier: "Global" },
};
const credential = new DefaultAzureCredential();
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.loadBalancers.beginCreateOrUpdateAndWait(
resourceGroupName,
loadBalancerName,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Network.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
using Azure.ResourceManager.Network;
// Generated from example definition: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateGlobalTier.json
// this example is just showing the usage of "LoadBalancers_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this LoadBalancerResource
LoadBalancerCollection collection = resourceGroupResource.GetLoadBalancers();
// invoke the operation
string loadBalancerName = "lb";
LoadBalancerData data = new LoadBalancerData
{
Sku = new LoadBalancerSku
{
Name = LoadBalancerSkuName.Standard,
Tier = LoadBalancerSkuTier.Global,
},
FrontendIPConfigurations = {new FrontendIPConfigurationData
{
Subnet = new SubnetData
{
Id = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
},
Name = "fe-lb",
}},
BackendAddressPools = {new BackendAddressPoolData
{
LoadBalancerBackendAddresses = {new LoadBalancerBackendAddress
{
Name = "regional-lb1-address",
LoadBalancerFrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb"),
}},
Name = "be-lb",
}},
LoadBalancingRules = {new LoadBalancingRuleData
{
Properties = new LoadBalancingRuleProperties(LoadBalancingTransportProtocol.Tcp, 80)
{
FrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
BackendAddressPoolId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
ProbeId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
LoadDistribution = LoadDistribution.Default,
BackendPort = 80,
IdleTimeoutInMinutes = 15,
EnableFloatingIP = false,
},
Name = "rulelb",
}},
Probes = {new ProbeData
{
Protocol = ProbeProtocol.Http,
Port = 80,
IntervalInSeconds = 15,
NumberOfProbes = 2,
ProbeThreshold = 1,
RequestPath = "healthcheck.aspx",
Name = "probe-lb",
}},
Location = new AzureLocation("eastus"),
};
ArmOperation<LoadBalancerResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, loadBalancerName, data);
LoadBalancerResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
LoadBalancerData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Standard",
"tier": "Global"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"inboundNatRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
}
]
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"loadBalancerBackendAddresses": [
{
"name": "regional-lb1-address",
"properties": {
"loadBalancerFrontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb"
}
}
}
],
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": false,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"disableOutboundSnat": false
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
]
}
}
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Standard",
"tier": "Global"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"inboundNatRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
}
]
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"loadBalancerBackendAddresses": [
{
"name": "regional-lb1-address",
"properties": {
"loadBalancerFrontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/regional-lb-rg1/providers/Microsoft.Network/loadBalancers/regional-lb/frontendIPConfigurations/fe-rlb"
}
}
}
],
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": false,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"disableOutboundSnat": false
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
]
}
}
Create load balancer with inbound nat pool
示例请求
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb?api-version=2024-05-01
{
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"frontendIPConfigurations": [
{
"properties": {
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet"
}
},
"name": "test",
"zones": [],
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"
}
],
"backendAddressPools": [],
"loadBalancingRules": [],
"probes": [],
"inboundNatRules": [],
"outboundRules": [],
"inboundNatPools": [
{
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"
},
"protocol": "Tcp",
"frontendPortRangeStart": 8080,
"frontendPortRangeEnd": 8085,
"backendPort": 8888,
"idleTimeoutInMinutes": 10,
"enableFloatingIP": true,
"enableTcpReset": true
},
"name": "test",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"
}
]
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.FrontendIpConfigurationInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancerInner;
import com.azure.resourcemanager.network.fluent.models.SubnetInner;
import com.azure.resourcemanager.network.models.InboundNatPool;
import com.azure.resourcemanager.network.models.IpAllocationMethod;
import com.azure.resourcemanager.network.models.LoadBalancerSku;
import com.azure.resourcemanager.network.models.LoadBalancerSkuName;
import com.azure.resourcemanager.network.models.TransportProtocol;
import java.util.Arrays;
/**
* Samples for LoadBalancers CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/
* LoadBalancerCreateWithInboundNatPool.json
*/
/**
* Sample code: Create load balancer with inbound nat pool.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createLoadBalancerWithInboundNatPool(com.azure.resourcemanager.AzureResourceManager azure) {
azure.networks().manager().serviceClient().getLoadBalancers().createOrUpdate("rg1", "lb",
new LoadBalancerInner().withLocation("eastus")
.withSku(new LoadBalancerSku().withName(LoadBalancerSkuName.STANDARD))
.withFrontendIpConfigurations(Arrays.asList(new FrontendIpConfigurationInner().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test")
.withName("test").withZones(Arrays.asList())
.withPrivateIpAllocationMethod(IpAllocationMethod.DYNAMIC)
.withSubnet(new SubnetInner().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet"))))
.withBackendAddressPools(Arrays.asList()).withLoadBalancingRules(Arrays.asList())
.withProbes(Arrays.asList()).withInboundNatRules(Arrays.asList())
.withInboundNatPools(Arrays.asList(new InboundNatPool().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test")
.withName("test")
.withFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"))
.withProtocol(TransportProtocol.TCP).withFrontendPortRangeStart(8080).withFrontendPortRangeEnd(8085)
.withBackendPort(8888).withIdleTimeoutInMinutes(10).withEnableFloatingIp(true)
.withEnableTcpReset(true)))
.withOutboundRules(Arrays.asList()),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python load_balancer_create_with_inbound_nat_pool.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.load_balancers.begin_create_or_update(
resource_group_name="rg1",
load_balancer_name="lb",
parameters={
"location": "eastus",
"properties": {
"backendAddressPools": [],
"frontendIPConfigurations": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
"name": "test",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet"
},
},
"zones": [],
}
],
"inboundNatPools": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test",
"name": "test",
"properties": {
"backendPort": 8888,
"enableFloatingIP": True,
"enableTcpReset": True,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"
},
"frontendPortRangeEnd": 8085,
"frontendPortRangeStart": 8080,
"idleTimeoutInMinutes": 10,
"protocol": "Tcp",
},
}
],
"inboundNatRules": [],
"loadBalancingRules": [],
"outboundRules": [],
"probes": [],
},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithInboundNatPool.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/ab04533261eff228f28e08900445d0edef3eb70c/specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithInboundNatPool.json
func ExampleLoadBalancersClient_BeginCreateOrUpdate_createLoadBalancerWithInboundNatPool() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewLoadBalancersClient().BeginCreateOrUpdate(ctx, "rg1", "lb", armnetwork.LoadBalancer{
Location: to.Ptr("eastus"),
Properties: &armnetwork.LoadBalancerPropertiesFormat{
BackendAddressPools: []*armnetwork.BackendAddressPool{},
FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"),
Name: to.Ptr("test"),
Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
PrivateIPAllocationMethod: to.Ptr(armnetwork.IPAllocationMethodDynamic),
Subnet: &armnetwork.Subnet{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet"),
},
},
Zones: []*string{},
}},
InboundNatPools: []*armnetwork.InboundNatPool{
{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"),
Name: to.Ptr("test"),
Properties: &armnetwork.InboundNatPoolPropertiesFormat{
BackendPort: to.Ptr[int32](8888),
EnableFloatingIP: to.Ptr(true),
EnableTCPReset: to.Ptr(true),
FrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"),
},
FrontendPortRangeEnd: to.Ptr[int32](8085),
FrontendPortRangeStart: to.Ptr[int32](8080),
IdleTimeoutInMinutes: to.Ptr[int32](10),
Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
},
}},
InboundNatRules: []*armnetwork.InboundNatRule{},
LoadBalancingRules: []*armnetwork.LoadBalancingRule{},
OutboundRules: []*armnetwork.OutboundRule{},
Probes: []*armnetwork.Probe{},
},
SKU: &armnetwork.LoadBalancerSKU{
Name: to.Ptr(armnetwork.LoadBalancerSKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.LoadBalancer = armnetwork.LoadBalancer{
// Name: to.Ptr("lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb"),
// Location: to.Ptr("eastus"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancerPropertiesFormat{
// BackendAddressPools: []*armnetwork.BackendAddressPool{
// },
// FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"),
// Name: to.Ptr("test"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/frontendIPConfigurations"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
// InboundNatPools: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"),
// }},
// PrivateIPAddress: to.Ptr("10.0.1.4"),
// PrivateIPAllocationMethod: to.Ptr(armnetwork.IPAllocationMethodDynamic),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Subnet: &armnetwork.Subnet{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet"),
// },
// },
// }},
// InboundNatPools: []*armnetwork.InboundNatPool{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"),
// Name: to.Ptr("test"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/inboundNatPools"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.InboundNatPoolPropertiesFormat{
// BackendPort: to.Ptr[int32](8888),
// EnableFloatingIP: to.Ptr(true),
// EnableTCPReset: to.Ptr(true),
// FrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"),
// },
// FrontendPortRangeEnd: to.Ptr[int32](8085),
// FrontendPortRangeStart: to.Ptr[int32](8080),
// IdleTimeoutInMinutes: to.Ptr[int32](10),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
// },
// }},
// InboundNatRules: []*armnetwork.InboundNatRule{
// },
// LoadBalancingRules: []*armnetwork.LoadBalancingRule{
// },
// OutboundRules: []*armnetwork.OutboundRule{
// },
// Probes: []*armnetwork.Probe{
// },
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// ResourceGUID: to.Ptr("00000000-0000-0000-0000-00000000"),
// },
// SKU: &armnetwork.LoadBalancerSKU{
// Name: to.Ptr(armnetwork.LoadBalancerSKUNameStandard),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a load balancer.
*
* @summary Creates or updates a load balancer.
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithInboundNatPool.json
*/
async function createLoadBalancerWithInboundNatPool() {
const subscriptionId = process.env["NETWORK_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["NETWORK_RESOURCE_GROUP"] || "rg1";
const loadBalancerName = "lb";
const parameters = {
backendAddressPools: [],
frontendIPConfigurations: [
{
name: "test",
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
privateIPAllocationMethod: "Dynamic",
subnet: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet",
},
zones: [],
},
],
inboundNatPools: [
{
name: "test",
backendPort: 8888,
enableFloatingIP: true,
enableTcpReset: true,
frontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
},
frontendPortRangeEnd: 8085,
frontendPortRangeStart: 8080,
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test",
idleTimeoutInMinutes: 10,
protocol: "Tcp",
},
],
inboundNatRules: [],
loadBalancingRules: [],
location: "eastus",
outboundRules: [],
probes: [],
sku: { name: "Standard" },
};
const credential = new DefaultAzureCredential();
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.loadBalancers.beginCreateOrUpdateAndWait(
resourceGroupName,
loadBalancerName,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Network.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
using Azure.ResourceManager.Network;
// Generated from example definition: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithInboundNatPool.json
// this example is just showing the usage of "LoadBalancers_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this LoadBalancerResource
LoadBalancerCollection collection = resourceGroupResource.GetLoadBalancers();
// invoke the operation
string loadBalancerName = "lb";
LoadBalancerData data = new LoadBalancerData
{
Sku = new LoadBalancerSku
{
Name = LoadBalancerSkuName.Standard,
},
FrontendIPConfigurations = {new FrontendIPConfigurationData
{
Zones = {},
PrivateIPAllocationMethod = NetworkIPAllocationMethod.Dynamic,
Subnet = new SubnetData
{
Id = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet"),
},
Id = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"),
Name = "test",
}},
BackendAddressPools = { },
LoadBalancingRules = { },
Probes = { },
InboundNatRules = { },
InboundNatPools = {new LoadBalancerInboundNatPool
{
Properties = new LoadBalancerInboundNatPoolProperties(LoadBalancingTransportProtocol.Tcp, 8080, 8085, 8888)
{
FrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"),
IdleTimeoutInMinutes = 10,
EnableFloatingIP = true,
EnableTcpReset = true,
},
Id = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"),
Name = "test",
}},
OutboundRules = { },
Location = new AzureLocation("eastus"),
};
ArmOperation<LoadBalancerResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, loadBalancerName, data);
LoadBalancerResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
LoadBalancerData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "test",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet"
},
"inboundNatPools": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"
}
]
}
}
],
"backendAddressPools": [],
"loadBalancingRules": [],
"probes": [],
"inboundNatRules": [],
"outboundRules": [],
"inboundNatPools": [
{
"name": "test",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test",
"type": "Microsoft.Network/loadBalancers/inboundNatPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendPortRangeStart": 8080,
"frontendPortRangeEnd": 8085,
"backendPort": 8888,
"idleTimeoutInMinutes": 10,
"enableFloatingIP": true,
"protocol": "Tcp",
"enableTcpReset": true,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"
}
}
}
]
}
}
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "test",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/lbvnet/subnets/lbsubnet"
},
"inboundNatPools": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"
}
]
}
}
],
"backendAddressPools": [],
"loadBalancingRules": [],
"probes": [],
"inboundNatRules": [],
"outboundRules": [],
"inboundNatPools": [
{
"name": "test",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test",
"type": "Microsoft.Network/loadBalancers/inboundNatPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendPortRangeStart": 8080,
"frontendPortRangeEnd": 8085,
"backendPort": 8888,
"idleTimeoutInMinutes": 10,
"enableFloatingIP": true,
"protocol": "Tcp",
"enableTcpReset": true,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"
}
}
}
]
}
}
Create load balancer with outbound rules
示例请求
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb?api-version=2024-05-01
{
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"publicIPAddress": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"
}
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"properties": {}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"protocol": "Tcp",
"loadDistribution": "Default",
"frontendPort": 80,
"backendPort": 80,
"idleTimeoutInMinutes": 15,
"enableFloatingIP": true,
"disableOutboundSnat": true
}
}
],
"probes": [
{
"name": "probe-lb",
"properties": {
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp"
}
}
],
"inboundNatPools": [],
"outboundRules": [
{
"name": "rule1",
"properties": {
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"frontendIPConfigurations": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
}
],
"protocol": "All"
}
}
]
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.BackendAddressPoolInner;
import com.azure.resourcemanager.network.fluent.models.FrontendIpConfigurationInner;
import com.azure.resourcemanager.network.fluent.models.InboundNatRuleInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancerInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancingRuleInner;
import com.azure.resourcemanager.network.fluent.models.OutboundRuleInner;
import com.azure.resourcemanager.network.fluent.models.ProbeInner;
import com.azure.resourcemanager.network.fluent.models.PublicIpAddressInner;
import com.azure.resourcemanager.network.models.LoadBalancerOutboundRuleProtocol;
import com.azure.resourcemanager.network.models.LoadBalancerSku;
import com.azure.resourcemanager.network.models.LoadBalancerSkuName;
import com.azure.resourcemanager.network.models.LoadDistribution;
import com.azure.resourcemanager.network.models.ProbeProtocol;
import com.azure.resourcemanager.network.models.TransportProtocol;
import java.util.Arrays;
/**
* Samples for LoadBalancers CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/
* LoadBalancerCreateWithOutboundRules.json
*/
/**
* Sample code: Create load balancer with outbound rules.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createLoadBalancerWithOutboundRules(com.azure.resourcemanager.AzureResourceManager azure) {
azure.networks().manager().serviceClient().getLoadBalancers().createOrUpdate("rg1", "lb",
new LoadBalancerInner().withLocation("eastus")
.withSku(new LoadBalancerSku().withName(LoadBalancerSkuName.STANDARD))
.withFrontendIpConfigurations(Arrays.asList(new FrontendIpConfigurationInner().withName("fe-lb")
.withPublicIpAddress(new PublicIpAddressInner().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"))))
.withBackendAddressPools(Arrays.asList(new BackendAddressPoolInner().withName("be-lb")))
.withLoadBalancingRules(Arrays.asList(new LoadBalancingRuleInner().withName("rulelb")
.withFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"))
.withBackendAddressPool(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"))
.withProbe(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"))
.withProtocol(TransportProtocol.TCP).withLoadDistribution(LoadDistribution.DEFAULT)
.withFrontendPort(80).withBackendPort(80).withIdleTimeoutInMinutes(15).withEnableFloatingIp(true)
.withDisableOutboundSnat(true)))
.withProbes(Arrays.asList(new ProbeInner().withName("probe-lb").withProtocol(ProbeProtocol.HTTP)
.withPort(80).withIntervalInSeconds(15).withNumberOfProbes(2).withProbeThreshold(1)
.withRequestPath("healthcheck.aspx")))
.withInboundNatRules(Arrays.asList(new InboundNatRuleInner().withName("in-nat-rule")
.withFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"))
.withProtocol(TransportProtocol.TCP).withFrontendPort(3389).withBackendPort(3389)
.withIdleTimeoutInMinutes(15).withEnableFloatingIp(true)))
.withInboundNatPools(Arrays.asList())
.withOutboundRules(Arrays.asList(new OutboundRuleInner().withName("rule1")
.withFrontendIpConfigurations(Arrays.asList(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb")))
.withBackendAddressPool(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"))
.withProtocol(LoadBalancerOutboundRuleProtocol.ALL))),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python load_balancer_create_with_outbound_rules.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.load_balancers.begin_create_or_update(
resource_group_name="rg1",
load_balancer_name="lb",
parameters={
"location": "eastus",
"properties": {
"backendAddressPools": [{"name": "be-lb", "properties": {}}],
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"publicIPAddress": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"
}
},
}
],
"inboundNatPools": [],
"inboundNatRules": [
{
"name": "in-nat-rule",
"properties": {
"backendPort": 3389,
"enableFloatingIP": True,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
},
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"backendPort": 80,
"disableOutboundSnat": True,
"enableFloatingIP": True,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"idleTimeoutInMinutes": 15,
"loadDistribution": "Default",
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"protocol": "Tcp",
},
}
],
"outboundRules": [
{
"name": "rule1",
"properties": {
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"frontendIPConfigurations": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
}
],
"protocol": "All",
},
}
],
"probes": [
{
"name": "probe-lb",
"properties": {
"intervalInSeconds": 15,
"numberOfProbes": 2,
"port": 80,
"probeThreshold": 1,
"protocol": "Http",
"requestPath": "healthcheck.aspx",
},
}
],
},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithOutboundRules.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/ab04533261eff228f28e08900445d0edef3eb70c/specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithOutboundRules.json
func ExampleLoadBalancersClient_BeginCreateOrUpdate_createLoadBalancerWithOutboundRules() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewLoadBalancersClient().BeginCreateOrUpdate(ctx, "rg1", "lb", armnetwork.LoadBalancer{
Location: to.Ptr("eastus"),
Properties: &armnetwork.LoadBalancerPropertiesFormat{
BackendAddressPools: []*armnetwork.BackendAddressPool{
{
Name: to.Ptr("be-lb"),
Properties: &armnetwork.BackendAddressPoolPropertiesFormat{},
}},
FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
{
Name: to.Ptr("fe-lb"),
Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
PublicIPAddress: &armnetwork.PublicIPAddress{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"),
},
},
}},
InboundNatPools: []*armnetwork.InboundNatPool{},
InboundNatRules: []*armnetwork.InboundNatRule{
{
Name: to.Ptr("in-nat-rule"),
Properties: &armnetwork.InboundNatRulePropertiesFormat{
BackendPort: to.Ptr[int32](3389),
EnableFloatingIP: to.Ptr(true),
FrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
},
FrontendPort: to.Ptr[int32](3389),
IdleTimeoutInMinutes: to.Ptr[int32](15),
Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
},
}},
LoadBalancingRules: []*armnetwork.LoadBalancingRule{
{
Name: to.Ptr("rulelb"),
Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
BackendAddressPool: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
},
BackendPort: to.Ptr[int32](80),
DisableOutboundSnat: to.Ptr(true),
EnableFloatingIP: to.Ptr(true),
FrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
},
FrontendPort: to.Ptr[int32](80),
IdleTimeoutInMinutes: to.Ptr[int32](15),
LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
Probe: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
},
Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
},
}},
OutboundRules: []*armnetwork.OutboundRule{
{
Name: to.Ptr("rule1"),
Properties: &armnetwork.OutboundRulePropertiesFormat{
BackendAddressPool: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
},
FrontendIPConfigurations: []*armnetwork.SubResource{
{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
}},
Protocol: to.Ptr(armnetwork.LoadBalancerOutboundRuleProtocolAll),
},
}},
Probes: []*armnetwork.Probe{
{
Name: to.Ptr("probe-lb"),
Properties: &armnetwork.ProbePropertiesFormat{
IntervalInSeconds: to.Ptr[int32](15),
NumberOfProbes: to.Ptr[int32](2),
Port: to.Ptr[int32](80),
ProbeThreshold: to.Ptr[int32](1),
RequestPath: to.Ptr("healthcheck.aspx"),
Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
},
}},
},
SKU: &armnetwork.LoadBalancerSKU{
Name: to.Ptr(armnetwork.LoadBalancerSKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.LoadBalancer = armnetwork.LoadBalancer{
// Name: to.Ptr("lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb"),
// Location: to.Ptr("eastus"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancerPropertiesFormat{
// BackendAddressPools: []*armnetwork.BackendAddressPool{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// Name: to.Ptr("be-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/backendAddressPools"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.BackendAddressPoolPropertiesFormat{
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// OutboundRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1"),
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// },
// }},
// FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// Name: to.Ptr("fe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/frontendIPConfigurations"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
// InboundNatRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"),
// }},
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// OutboundRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1"),
// }},
// PrivateIPAddressVersion: to.Ptr(armnetwork.IPVersionIPv4),
// PrivateIPAllocationMethod: to.Ptr(armnetwork.IPAllocationMethodDynamic),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// PublicIPAddress: &armnetwork.PublicIPAddress{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"),
// },
// },
// }},
// InboundNatPools: []*armnetwork.InboundNatPool{
// },
// InboundNatRules: []*armnetwork.InboundNatRule{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"),
// Name: to.Ptr("in-nat-rule"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/inboundNatRules"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.InboundNatRulePropertiesFormat{
// BackendPort: to.Ptr[int32](3389),
// EnableFloatingIP: to.Ptr(true),
// EnableTCPReset: to.Ptr(false),
// FrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// },
// FrontendPort: to.Ptr[int32](3389),
// IdleTimeoutInMinutes: to.Ptr[int32](15),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
// },
// }},
// LoadBalancingRules: []*armnetwork.LoadBalancingRule{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// Name: to.Ptr("rulelb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/loadBalancingRules"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
// BackendAddressPool: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// },
// BackendPort: to.Ptr[int32](80),
// DisableOutboundSnat: to.Ptr(true),
// EnableFloatingIP: to.Ptr(true),
// EnableTCPReset: to.Ptr(false),
// FrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// },
// FrontendPort: to.Ptr[int32](80),
// IdleTimeoutInMinutes: to.Ptr[int32](15),
// LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
// Probe: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// },
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
// },
// }},
// OutboundRules: []*armnetwork.OutboundRule{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1"),
// Name: to.Ptr("rule1"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/outboundRules"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.OutboundRulePropertiesFormat{
// AllocatedOutboundPorts: to.Ptr[int32](1024),
// BackendAddressPool: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// },
// EnableTCPReset: to.Ptr(false),
// FrontendIPConfigurations: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// }},
// IdleTimeoutInMinutes: to.Ptr[int32](4),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.LoadBalancerOutboundRuleProtocolAll),
// },
// }},
// Probes: []*armnetwork.Probe{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// Name: to.Ptr("probe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/probes"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.ProbePropertiesFormat{
// IntervalInSeconds: to.Ptr[int32](15),
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// NumberOfProbes: to.Ptr[int32](2),
// Port: to.Ptr[int32](80),
// ProbeThreshold: to.Ptr[int32](1),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// RequestPath: to.Ptr("healthcheck.aspx"),
// Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
// },
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// ResourceGUID: to.Ptr("00000000-0000-0000-0000-00000000"),
// },
// SKU: &armnetwork.LoadBalancerSKU{
// Name: to.Ptr(armnetwork.LoadBalancerSKUNameStandard),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a load balancer.
*
* @summary Creates or updates a load balancer.
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithOutboundRules.json
*/
async function createLoadBalancerWithOutboundRules() {
const subscriptionId = process.env["NETWORK_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["NETWORK_RESOURCE_GROUP"] || "rg1";
const loadBalancerName = "lb";
const parameters = {
backendAddressPools: [{ name: "be-lb" }],
frontendIPConfigurations: [
{
name: "fe-lb",
publicIPAddress: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip",
},
},
],
inboundNatPools: [],
inboundNatRules: [
{
name: "in-nat-rule",
backendPort: 3389,
enableFloatingIP: true,
frontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
},
frontendPort: 3389,
idleTimeoutInMinutes: 15,
protocol: "Tcp",
},
],
loadBalancingRules: [
{
name: "rulelb",
backendAddressPool: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
},
backendPort: 80,
disableOutboundSnat: true,
enableFloatingIP: true,
frontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
},
frontendPort: 80,
idleTimeoutInMinutes: 15,
loadDistribution: "Default",
probe: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
},
protocol: "Tcp",
},
],
location: "eastus",
outboundRules: [
{
name: "rule1",
backendAddressPool: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
},
frontendIPConfigurations: [
{
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
},
],
protocol: "All",
},
],
probes: [
{
name: "probe-lb",
intervalInSeconds: 15,
numberOfProbes: 2,
port: 80,
probeThreshold: 1,
requestPath: "healthcheck.aspx",
protocol: "Http",
},
],
sku: { name: "Standard" },
};
const credential = new DefaultAzureCredential();
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.loadBalancers.beginCreateOrUpdateAndWait(
resourceGroupName,
loadBalancerName,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Network.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
using Azure.ResourceManager.Network;
// Generated from example definition: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithOutboundRules.json
// this example is just showing the usage of "LoadBalancers_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this LoadBalancerResource
LoadBalancerCollection collection = resourceGroupResource.GetLoadBalancers();
// invoke the operation
string loadBalancerName = "lb";
LoadBalancerData data = new LoadBalancerData
{
Sku = new LoadBalancerSku
{
Name = LoadBalancerSkuName.Standard,
},
FrontendIPConfigurations = {new FrontendIPConfigurationData
{
PublicIPAddress = new PublicIPAddressData
{
Id = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"),
},
Name = "fe-lb",
}},
BackendAddressPools = {new BackendAddressPoolData
{
Name = "be-lb",
}},
LoadBalancingRules = {new LoadBalancingRuleData
{
Properties = new LoadBalancingRuleProperties(LoadBalancingTransportProtocol.Tcp, 80)
{
FrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
BackendAddressPoolId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
ProbeId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
LoadDistribution = LoadDistribution.Default,
BackendPort = 80,
IdleTimeoutInMinutes = 15,
EnableFloatingIP = true,
DisableOutboundSnat = true,
},
Name = "rulelb",
}},
Probes = {new ProbeData
{
Protocol = ProbeProtocol.Http,
Port = 80,
IntervalInSeconds = 15,
NumberOfProbes = 2,
ProbeThreshold = 1,
RequestPath = "healthcheck.aspx",
Name = "probe-lb",
}},
InboundNatRules = {new InboundNatRuleData
{
FrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
Protocol = LoadBalancingTransportProtocol.Tcp,
FrontendPort = 3389,
BackendPort = 3389,
IdleTimeoutInMinutes = 15,
EnableFloatingIP = true,
Name = "in-nat-rule",
}},
InboundNatPools = { },
OutboundRules = {new OutboundRuleData
{
FrontendIPConfigurations = {new WritableSubResource
{
Id = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
}},
BackendAddressPoolId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
Protocol = LoadBalancerOutboundRuleProtocol.All,
Name = "rule1",
}},
Location = new AzureLocation("eastus"),
};
ArmOperation<LoadBalancerResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, loadBalancerName, data);
LoadBalancerResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
LoadBalancerData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAllocationMethod": "Dynamic",
"publicIPAddress": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"inboundNatRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
}
],
"outboundRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1"
}
],
"privateIPAddressVersion": "IPv4"
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"outboundRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1"
}
],
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"enableTcpReset": false,
"loadDistribution": "Default",
"disableOutboundSnat": true,
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
}
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
"type": "Microsoft.Network/loadBalancers/inboundNatRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"enableTcpReset": false
}
}
],
"outboundRules": [
{
"name": "rule1",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1",
"type": "Microsoft.Network/loadBalancers/outboundRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"allocatedOutboundPorts": 1024,
"protocol": "All",
"enableTcpReset": false,
"idleTimeoutInMinutes": 4,
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"frontendIPConfigurations": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
}
]
}
}
],
"inboundNatPools": []
}
}
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAllocationMethod": "Dynamic",
"publicIPAddress": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pip"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"inboundNatRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
}
],
"outboundRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1"
}
],
"privateIPAddressVersion": "IPv4"
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"outboundRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1"
}
],
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"enableTcpReset": false,
"loadDistribution": "Default",
"disableOutboundSnat": true,
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
}
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
"type": "Microsoft.Network/loadBalancers/inboundNatRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"enableTcpReset": false
}
}
],
"outboundRules": [
{
"name": "rule1",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/outboundRules/rule1",
"type": "Microsoft.Network/loadBalancers/outboundRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"allocatedOutboundPorts": 1024,
"protocol": "All",
"enableTcpReset": false,
"idleTimeoutInMinutes": 4,
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"frontendIPConfigurations": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
}
]
}
}
],
"inboundNatPools": []
}
}
Create load balancer with Standard SKU
示例请求
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb?api-version=2024-05-01
{
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
}
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"properties": {}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
}
}
}
],
"probes": [
{
"name": "probe-lb",
"properties": {
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp"
}
}
],
"inboundNatPools": [],
"outboundRules": []
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.BackendAddressPoolInner;
import com.azure.resourcemanager.network.fluent.models.FrontendIpConfigurationInner;
import com.azure.resourcemanager.network.fluent.models.InboundNatRuleInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancerInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancingRuleInner;
import com.azure.resourcemanager.network.fluent.models.ProbeInner;
import com.azure.resourcemanager.network.fluent.models.SubnetInner;
import com.azure.resourcemanager.network.models.LoadBalancerSku;
import com.azure.resourcemanager.network.models.LoadBalancerSkuName;
import com.azure.resourcemanager.network.models.LoadDistribution;
import com.azure.resourcemanager.network.models.ProbeProtocol;
import com.azure.resourcemanager.network.models.TransportProtocol;
import java.util.Arrays;
/**
* Samples for LoadBalancers CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateStandardSku
* .json
*/
/**
* Sample code: Create load balancer with Standard SKU.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createLoadBalancerWithStandardSKU(com.azure.resourcemanager.AzureResourceManager azure) {
azure.networks().manager().serviceClient().getLoadBalancers().createOrUpdate("rg1", "lb",
new LoadBalancerInner().withLocation("eastus")
.withSku(new LoadBalancerSku().withName(LoadBalancerSkuName.STANDARD))
.withFrontendIpConfigurations(Arrays.asList(new FrontendIpConfigurationInner().withName("fe-lb")
.withSubnet(new SubnetInner().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"))))
.withBackendAddressPools(Arrays.asList(new BackendAddressPoolInner().withName("be-lb")))
.withLoadBalancingRules(Arrays.asList(new LoadBalancingRuleInner().withName("rulelb")
.withFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"))
.withBackendAddressPool(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"))
.withProbe(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"))
.withProtocol(TransportProtocol.TCP).withLoadDistribution(LoadDistribution.DEFAULT)
.withFrontendPort(80).withBackendPort(80).withIdleTimeoutInMinutes(15).withEnableFloatingIp(true)))
.withProbes(Arrays.asList(new ProbeInner().withName("probe-lb").withProtocol(ProbeProtocol.HTTP)
.withPort(80).withIntervalInSeconds(15).withNumberOfProbes(2).withProbeThreshold(1)
.withRequestPath("healthcheck.aspx")))
.withInboundNatRules(Arrays.asList(new InboundNatRuleInner().withName("in-nat-rule")
.withFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"))
.withProtocol(TransportProtocol.TCP).withFrontendPort(3389).withBackendPort(3389)
.withIdleTimeoutInMinutes(15).withEnableFloatingIp(true)))
.withInboundNatPools(Arrays.asList()).withOutboundRules(Arrays.asList()),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python load_balancer_create_standard_sku.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.load_balancers.begin_create_or_update(
resource_group_name="rg1",
load_balancer_name="lb",
parameters={
"location": "eastus",
"properties": {
"backendAddressPools": [{"name": "be-lb", "properties": {}}],
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
}
},
}
],
"inboundNatPools": [],
"inboundNatRules": [
{
"name": "in-nat-rule",
"properties": {
"backendPort": 3389,
"enableFloatingIP": True,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
},
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"backendPort": 80,
"enableFloatingIP": True,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"idleTimeoutInMinutes": 15,
"loadDistribution": "Default",
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"protocol": "Tcp",
},
}
],
"outboundRules": [],
"probes": [
{
"name": "probe-lb",
"properties": {
"intervalInSeconds": 15,
"numberOfProbes": 2,
"port": 80,
"probeThreshold": 1,
"protocol": "Http",
"requestPath": "healthcheck.aspx",
},
}
],
},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateStandardSku.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/ab04533261eff228f28e08900445d0edef3eb70c/specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateStandardSku.json
func ExampleLoadBalancersClient_BeginCreateOrUpdate_createLoadBalancerWithStandardSku() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewLoadBalancersClient().BeginCreateOrUpdate(ctx, "rg1", "lb", armnetwork.LoadBalancer{
Location: to.Ptr("eastus"),
Properties: &armnetwork.LoadBalancerPropertiesFormat{
BackendAddressPools: []*armnetwork.BackendAddressPool{
{
Name: to.Ptr("be-lb"),
Properties: &armnetwork.BackendAddressPoolPropertiesFormat{},
}},
FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
{
Name: to.Ptr("fe-lb"),
Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
Subnet: &armnetwork.Subnet{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
},
},
}},
InboundNatPools: []*armnetwork.InboundNatPool{},
InboundNatRules: []*armnetwork.InboundNatRule{
{
Name: to.Ptr("in-nat-rule"),
Properties: &armnetwork.InboundNatRulePropertiesFormat{
BackendPort: to.Ptr[int32](3389),
EnableFloatingIP: to.Ptr(true),
FrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
},
FrontendPort: to.Ptr[int32](3389),
IdleTimeoutInMinutes: to.Ptr[int32](15),
Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
},
}},
LoadBalancingRules: []*armnetwork.LoadBalancingRule{
{
Name: to.Ptr("rulelb"),
Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
BackendAddressPool: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
},
BackendPort: to.Ptr[int32](80),
EnableFloatingIP: to.Ptr(true),
FrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
},
FrontendPort: to.Ptr[int32](80),
IdleTimeoutInMinutes: to.Ptr[int32](15),
LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
Probe: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
},
Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
},
}},
OutboundRules: []*armnetwork.OutboundRule{},
Probes: []*armnetwork.Probe{
{
Name: to.Ptr("probe-lb"),
Properties: &armnetwork.ProbePropertiesFormat{
IntervalInSeconds: to.Ptr[int32](15),
NumberOfProbes: to.Ptr[int32](2),
Port: to.Ptr[int32](80),
ProbeThreshold: to.Ptr[int32](1),
RequestPath: to.Ptr("healthcheck.aspx"),
Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
},
}},
},
SKU: &armnetwork.LoadBalancerSKU{
Name: to.Ptr(armnetwork.LoadBalancerSKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.LoadBalancer = armnetwork.LoadBalancer{
// Name: to.Ptr("lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb"),
// Location: to.Ptr("eastus"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancerPropertiesFormat{
// BackendAddressPools: []*armnetwork.BackendAddressPool{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// Name: to.Ptr("be-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/backendAddressPools"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.BackendAddressPoolPropertiesFormat{
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// },
// }},
// FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// Name: to.Ptr("fe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/frontendIPConfigurations"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
// InboundNatRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"),
// }},
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// PrivateIPAddress: to.Ptr("10.0.1.4"),
// PrivateIPAllocationMethod: to.Ptr(armnetwork.IPAllocationMethodDynamic),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Subnet: &armnetwork.Subnet{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
// },
// },
// }},
// InboundNatPools: []*armnetwork.InboundNatPool{
// },
// InboundNatRules: []*armnetwork.InboundNatRule{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"),
// Name: to.Ptr("in-nat-rule"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/inboundNatRules"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.InboundNatRulePropertiesFormat{
// BackendPort: to.Ptr[int32](3389),
// EnableFloatingIP: to.Ptr(true),
// FrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// },
// FrontendPort: to.Ptr[int32](3389),
// IdleTimeoutInMinutes: to.Ptr[int32](15),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
// },
// }},
// LoadBalancingRules: []*armnetwork.LoadBalancingRule{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// Name: to.Ptr("rulelb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/loadBalancingRules"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
// BackendAddressPool: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// },
// BackendPort: to.Ptr[int32](80),
// DisableOutboundSnat: to.Ptr(false),
// EnableFloatingIP: to.Ptr(true),
// FrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// },
// FrontendPort: to.Ptr[int32](80),
// IdleTimeoutInMinutes: to.Ptr[int32](15),
// LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
// Probe: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// },
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
// },
// }},
// OutboundRules: []*armnetwork.OutboundRule{
// },
// Probes: []*armnetwork.Probe{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// Name: to.Ptr("probe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/probes"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.ProbePropertiesFormat{
// IntervalInSeconds: to.Ptr[int32](15),
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// NumberOfProbes: to.Ptr[int32](2),
// Port: to.Ptr[int32](80),
// ProbeThreshold: to.Ptr[int32](1),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// RequestPath: to.Ptr("healthcheck.aspx"),
// Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
// },
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// ResourceGUID: to.Ptr("00000000-0000-0000-0000-00000000"),
// },
// SKU: &armnetwork.LoadBalancerSKU{
// Name: to.Ptr(armnetwork.LoadBalancerSKUNameStandard),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a load balancer.
*
* @summary Creates or updates a load balancer.
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateStandardSku.json
*/
async function createLoadBalancerWithStandardSku() {
const subscriptionId = process.env["NETWORK_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["NETWORK_RESOURCE_GROUP"] || "rg1";
const loadBalancerName = "lb";
const parameters = {
backendAddressPools: [{ name: "be-lb" }],
frontendIPConfigurations: [
{
name: "fe-lb",
subnet: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
},
},
],
inboundNatPools: [],
inboundNatRules: [
{
name: "in-nat-rule",
backendPort: 3389,
enableFloatingIP: true,
frontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
},
frontendPort: 3389,
idleTimeoutInMinutes: 15,
protocol: "Tcp",
},
],
loadBalancingRules: [
{
name: "rulelb",
backendAddressPool: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
},
backendPort: 80,
enableFloatingIP: true,
frontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
},
frontendPort: 80,
idleTimeoutInMinutes: 15,
loadDistribution: "Default",
probe: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
},
protocol: "Tcp",
},
],
location: "eastus",
outboundRules: [],
probes: [
{
name: "probe-lb",
intervalInSeconds: 15,
numberOfProbes: 2,
port: 80,
probeThreshold: 1,
requestPath: "healthcheck.aspx",
protocol: "Http",
},
],
sku: { name: "Standard" },
};
const credential = new DefaultAzureCredential();
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.loadBalancers.beginCreateOrUpdateAndWait(
resourceGroupName,
loadBalancerName,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Network.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
using Azure.ResourceManager.Network;
// Generated from example definition: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateStandardSku.json
// this example is just showing the usage of "LoadBalancers_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this LoadBalancerResource
LoadBalancerCollection collection = resourceGroupResource.GetLoadBalancers();
// invoke the operation
string loadBalancerName = "lb";
LoadBalancerData data = new LoadBalancerData
{
Sku = new LoadBalancerSku
{
Name = LoadBalancerSkuName.Standard,
},
FrontendIPConfigurations = {new FrontendIPConfigurationData
{
Subnet = new SubnetData
{
Id = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
},
Name = "fe-lb",
}},
BackendAddressPools = {new BackendAddressPoolData
{
Name = "be-lb",
}},
LoadBalancingRules = {new LoadBalancingRuleData
{
Properties = new LoadBalancingRuleProperties(LoadBalancingTransportProtocol.Tcp, 80)
{
FrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
BackendAddressPoolId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
ProbeId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
LoadDistribution = LoadDistribution.Default,
BackendPort = 80,
IdleTimeoutInMinutes = 15,
EnableFloatingIP = true,
},
Name = "rulelb",
}},
Probes = {new ProbeData
{
Protocol = ProbeProtocol.Http,
Port = 80,
IntervalInSeconds = 15,
NumberOfProbes = 2,
ProbeThreshold = 1,
RequestPath = "healthcheck.aspx",
Name = "probe-lb",
}},
InboundNatRules = {new InboundNatRuleData
{
FrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
Protocol = LoadBalancingTransportProtocol.Tcp,
FrontendPort = 3389,
BackendPort = 3389,
IdleTimeoutInMinutes = 15,
EnableFloatingIP = true,
Name = "in-nat-rule",
}},
InboundNatPools = { },
OutboundRules = { },
Location = new AzureLocation("eastus"),
};
ArmOperation<LoadBalancerResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, loadBalancerName, data);
LoadBalancerResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
LoadBalancerData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"inboundNatRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
}
]
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"disableOutboundSnat": false
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
"type": "Microsoft.Network/loadBalancers/inboundNatRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp"
}
}
],
"outboundRules": [],
"inboundNatPools": []
}
}
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"inboundNatRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
}
]
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"disableOutboundSnat": false
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
"type": "Microsoft.Network/loadBalancers/inboundNatRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp"
}
}
],
"outboundRules": [],
"inboundNatPools": []
}
}
Create load balancer with Sync Mode Property on Pool
示例请求
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb?api-version=2024-05-01
{
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
}
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"properties": {
"syncMode": "Automatic",
"virtualNetwork": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb"
}
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
}
}
}
],
"probes": [
{
"name": "probe-lb",
"properties": {
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"properties": {
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp"
}
}
],
"inboundNatPools": [],
"outboundRules": []
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.BackendAddressPoolInner;
import com.azure.resourcemanager.network.fluent.models.FrontendIpConfigurationInner;
import com.azure.resourcemanager.network.fluent.models.InboundNatRuleInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancerInner;
import com.azure.resourcemanager.network.fluent.models.LoadBalancingRuleInner;
import com.azure.resourcemanager.network.fluent.models.ProbeInner;
import com.azure.resourcemanager.network.fluent.models.SubnetInner;
import com.azure.resourcemanager.network.models.LoadBalancerSku;
import com.azure.resourcemanager.network.models.LoadBalancerSkuName;
import com.azure.resourcemanager.network.models.LoadDistribution;
import com.azure.resourcemanager.network.models.ProbeProtocol;
import com.azure.resourcemanager.network.models.SyncMode;
import com.azure.resourcemanager.network.models.TransportProtocol;
import java.util.Arrays;
/**
* Samples for LoadBalancers CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/
* LoadBalancerCreateWithSyncModePropertyOnPool.json
*/
/**
* Sample code: Create load balancer with Sync Mode Property on Pool.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void
createLoadBalancerWithSyncModePropertyOnPool(com.azure.resourcemanager.AzureResourceManager azure) {
azure.networks().manager().serviceClient().getLoadBalancers().createOrUpdate("rg1", "lb",
new LoadBalancerInner().withLocation("eastus")
.withSku(new LoadBalancerSku().withName(LoadBalancerSkuName.STANDARD))
.withFrontendIpConfigurations(Arrays.asList(new FrontendIpConfigurationInner().withName("fe-lb")
.withSubnet(new SubnetInner().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"))))
.withBackendAddressPools(Arrays.asList(new BackendAddressPoolInner().withName("be-lb")
.withVirtualNetwork(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb"))
.withSyncMode(SyncMode.AUTOMATIC)))
.withLoadBalancingRules(Arrays.asList(new LoadBalancingRuleInner().withName("rulelb")
.withFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"))
.withBackendAddressPool(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"))
.withProbe(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"))
.withProtocol(TransportProtocol.TCP).withLoadDistribution(LoadDistribution.DEFAULT)
.withFrontendPort(80).withBackendPort(80).withIdleTimeoutInMinutes(15).withEnableFloatingIp(true)))
.withProbes(Arrays.asList(new ProbeInner().withName("probe-lb").withProtocol(ProbeProtocol.HTTP)
.withPort(80).withIntervalInSeconds(15).withNumberOfProbes(2).withProbeThreshold(1)
.withRequestPath("healthcheck.aspx")))
.withInboundNatRules(Arrays.asList(new InboundNatRuleInner().withName("in-nat-rule")
.withFrontendIpConfiguration(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"))
.withProtocol(TransportProtocol.TCP).withFrontendPort(3389).withBackendPort(3389)
.withIdleTimeoutInMinutes(15).withEnableFloatingIp(true)))
.withInboundNatPools(Arrays.asList()).withOutboundRules(Arrays.asList()),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python load_balancer_create_with_sync_mode_property_on_pool.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.load_balancers.begin_create_or_update(
resource_group_name="rg1",
load_balancer_name="lb",
parameters={
"location": "eastus",
"properties": {
"backendAddressPools": [
{
"name": "be-lb",
"properties": {
"syncMode": "Automatic",
"virtualNetwork": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb"
},
},
}
],
"frontendIPConfigurations": [
{
"name": "fe-lb",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
}
},
}
],
"inboundNatPools": [],
"inboundNatRules": [
{
"name": "in-nat-rule",
"properties": {
"backendPort": 3389,
"enableFloatingIP": True,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
},
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"properties": {
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"backendPort": 80,
"enableFloatingIP": True,
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"idleTimeoutInMinutes": 15,
"loadDistribution": "Default",
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"protocol": "Tcp",
},
}
],
"outboundRules": [],
"probes": [
{
"name": "probe-lb",
"properties": {
"intervalInSeconds": 15,
"numberOfProbes": 2,
"port": 80,
"probeThreshold": 1,
"protocol": "Http",
"requestPath": "healthcheck.aspx",
},
}
],
},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithSyncModePropertyOnPool.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/ab04533261eff228f28e08900445d0edef3eb70c/specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithSyncModePropertyOnPool.json
func ExampleLoadBalancersClient_BeginCreateOrUpdate_createLoadBalancerWithSyncModePropertyOnPool() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewLoadBalancersClient().BeginCreateOrUpdate(ctx, "rg1", "lb", armnetwork.LoadBalancer{
Location: to.Ptr("eastus"),
Properties: &armnetwork.LoadBalancerPropertiesFormat{
BackendAddressPools: []*armnetwork.BackendAddressPool{
{
Name: to.Ptr("be-lb"),
Properties: &armnetwork.BackendAddressPoolPropertiesFormat{
SyncMode: to.Ptr(armnetwork.SyncModeAutomatic),
VirtualNetwork: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb"),
},
},
}},
FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
{
Name: to.Ptr("fe-lb"),
Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
Subnet: &armnetwork.Subnet{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
},
},
}},
InboundNatPools: []*armnetwork.InboundNatPool{},
InboundNatRules: []*armnetwork.InboundNatRule{
{
Name: to.Ptr("in-nat-rule"),
Properties: &armnetwork.InboundNatRulePropertiesFormat{
BackendPort: to.Ptr[int32](3389),
EnableFloatingIP: to.Ptr(true),
FrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
},
FrontendPort: to.Ptr[int32](3389),
IdleTimeoutInMinutes: to.Ptr[int32](15),
Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
},
}},
LoadBalancingRules: []*armnetwork.LoadBalancingRule{
{
Name: to.Ptr("rulelb"),
Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
BackendAddressPool: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
},
BackendPort: to.Ptr[int32](80),
EnableFloatingIP: to.Ptr(true),
FrontendIPConfiguration: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
},
FrontendPort: to.Ptr[int32](80),
IdleTimeoutInMinutes: to.Ptr[int32](15),
LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
Probe: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
},
Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
},
}},
OutboundRules: []*armnetwork.OutboundRule{},
Probes: []*armnetwork.Probe{
{
Name: to.Ptr("probe-lb"),
Properties: &armnetwork.ProbePropertiesFormat{
IntervalInSeconds: to.Ptr[int32](15),
NumberOfProbes: to.Ptr[int32](2),
Port: to.Ptr[int32](80),
ProbeThreshold: to.Ptr[int32](1),
RequestPath: to.Ptr("healthcheck.aspx"),
Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
},
}},
},
SKU: &armnetwork.LoadBalancerSKU{
Name: to.Ptr(armnetwork.LoadBalancerSKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.LoadBalancer = armnetwork.LoadBalancer{
// Name: to.Ptr("lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb"),
// Location: to.Ptr("eastus"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancerPropertiesFormat{
// BackendAddressPools: []*armnetwork.BackendAddressPool{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// Name: to.Ptr("be-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/backendAddressPools"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.BackendAddressPoolPropertiesFormat{
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// SyncMode: to.Ptr(armnetwork.SyncModeAutomatic),
// VirtualNetwork: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb"),
// },
// },
// }},
// FrontendIPConfigurations: []*armnetwork.FrontendIPConfiguration{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// Name: to.Ptr("fe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/frontendIPConfigurations"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.FrontendIPConfigurationPropertiesFormat{
// InboundNatRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"),
// }},
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// PrivateIPAddress: to.Ptr("10.0.1.4"),
// PrivateIPAllocationMethod: to.Ptr(armnetwork.IPAllocationMethodDynamic),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Subnet: &armnetwork.Subnet{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
// },
// },
// }},
// InboundNatPools: []*armnetwork.InboundNatPool{
// },
// InboundNatRules: []*armnetwork.InboundNatRule{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"),
// Name: to.Ptr("in-nat-rule"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/inboundNatRules"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.InboundNatRulePropertiesFormat{
// BackendPort: to.Ptr[int32](3389),
// EnableFloatingIP: to.Ptr(true),
// FrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// },
// FrontendPort: to.Ptr[int32](3389),
// IdleTimeoutInMinutes: to.Ptr[int32](15),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
// },
// }},
// LoadBalancingRules: []*armnetwork.LoadBalancingRule{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// Name: to.Ptr("rulelb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/loadBalancingRules"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.LoadBalancingRulePropertiesFormat{
// BackendAddressPool: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
// },
// BackendPort: to.Ptr[int32](80),
// DisableOutboundSnat: to.Ptr(false),
// EnableFloatingIP: to.Ptr(true),
// FrontendIPConfiguration: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
// },
// FrontendPort: to.Ptr[int32](80),
// IdleTimeoutInMinutes: to.Ptr[int32](15),
// LoadDistribution: to.Ptr(armnetwork.LoadDistributionDefault),
// Probe: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// },
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Protocol: to.Ptr(armnetwork.TransportProtocolTCP),
// },
// }},
// OutboundRules: []*armnetwork.OutboundRule{
// },
// Probes: []*armnetwork.Probe{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
// Name: to.Ptr("probe-lb"),
// Type: to.Ptr("Microsoft.Network/loadBalancers/probes"),
// Etag: to.Ptr("W/\"00000000-0000-0000-0000-00000000\""),
// Properties: &armnetwork.ProbePropertiesFormat{
// IntervalInSeconds: to.Ptr[int32](15),
// LoadBalancingRules: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"),
// }},
// NumberOfProbes: to.Ptr[int32](2),
// Port: to.Ptr[int32](80),
// ProbeThreshold: to.Ptr[int32](1),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// RequestPath: to.Ptr("healthcheck.aspx"),
// Protocol: to.Ptr(armnetwork.ProbeProtocolHTTP),
// },
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// ResourceGUID: to.Ptr("00000000-0000-0000-0000-00000000"),
// },
// SKU: &armnetwork.LoadBalancerSKU{
// Name: to.Ptr(armnetwork.LoadBalancerSKUNameStandard),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a load balancer.
*
* @summary Creates or updates a load balancer.
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithSyncModePropertyOnPool.json
*/
async function createLoadBalancerWithSyncModePropertyOnPool() {
const subscriptionId = process.env["NETWORK_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["NETWORK_RESOURCE_GROUP"] || "rg1";
const loadBalancerName = "lb";
const parameters = {
backendAddressPools: [
{
name: "be-lb",
syncMode: "Automatic",
virtualNetwork: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb",
},
},
],
frontendIPConfigurations: [
{
name: "fe-lb",
subnet: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb",
},
},
],
inboundNatPools: [],
inboundNatRules: [
{
name: "in-nat-rule",
backendPort: 3389,
enableFloatingIP: true,
frontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
},
frontendPort: 3389,
idleTimeoutInMinutes: 15,
protocol: "Tcp",
},
],
loadBalancingRules: [
{
name: "rulelb",
backendAddressPool: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
},
backendPort: 80,
enableFloatingIP: true,
frontendIPConfiguration: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
},
frontendPort: 80,
idleTimeoutInMinutes: 15,
loadDistribution: "Default",
probe: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
},
protocol: "Tcp",
},
],
location: "eastus",
outboundRules: [],
probes: [
{
name: "probe-lb",
intervalInSeconds: 15,
numberOfProbes: 2,
port: 80,
probeThreshold: 1,
requestPath: "healthcheck.aspx",
protocol: "Http",
},
],
sku: { name: "Standard" },
};
const credential = new DefaultAzureCredential();
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.loadBalancers.beginCreateOrUpdateAndWait(
resourceGroupName,
loadBalancerName,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Network.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Resources.Models;
using Azure.ResourceManager.Network;
// Generated from example definition: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/LoadBalancerCreateWithSyncModePropertyOnPool.json
// this example is just showing the usage of "LoadBalancers_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this LoadBalancerResource
LoadBalancerCollection collection = resourceGroupResource.GetLoadBalancers();
// invoke the operation
string loadBalancerName = "lb";
LoadBalancerData data = new LoadBalancerData
{
Sku = new LoadBalancerSku
{
Name = LoadBalancerSkuName.Standard,
},
FrontendIPConfigurations = {new FrontendIPConfigurationData
{
Subnet = new SubnetData
{
Id = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"),
},
Name = "fe-lb",
}},
BackendAddressPools = {new BackendAddressPoolData
{
VirtualNetworkId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb"),
SyncMode = BackendAddressSyncMode.Automatic,
Name = "be-lb",
}},
LoadBalancingRules = {new LoadBalancingRuleData
{
Properties = new LoadBalancingRuleProperties(LoadBalancingTransportProtocol.Tcp, 80)
{
FrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
BackendAddressPoolId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"),
ProbeId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"),
LoadDistribution = LoadDistribution.Default,
BackendPort = 80,
IdleTimeoutInMinutes = 15,
EnableFloatingIP = true,
},
Name = "rulelb",
}},
Probes = {new ProbeData
{
Protocol = ProbeProtocol.Http,
Port = 80,
IntervalInSeconds = 15,
NumberOfProbes = 2,
ProbeThreshold = 1,
RequestPath = "healthcheck.aspx",
Name = "probe-lb",
}},
InboundNatRules = {new InboundNatRuleData
{
FrontendIPConfigurationId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"),
Protocol = LoadBalancingTransportProtocol.Tcp,
FrontendPort = 3389,
BackendPort = 3389,
IdleTimeoutInMinutes = 15,
EnableFloatingIP = true,
Name = "in-nat-rule",
}},
InboundNatPools = { },
OutboundRules = { },
Location = new AzureLocation("eastus"),
};
ArmOperation<LoadBalancerResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, loadBalancerName, data);
LoadBalancerResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
LoadBalancerData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
示例响应
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"inboundNatRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
}
]
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"virtualNetwork": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"syncMode": "Automatic"
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"disableOutboundSnat": false
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
"type": "Microsoft.Network/loadBalancers/inboundNatRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp"
}
}
],
"outboundRules": [],
"inboundNatPools": []
}
}
{
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"location": "eastus",
"sku": {
"name": "Standard"
},
"properties": {
"provisioningState": "Succeeded",
"resourceGuid": "00000000-0000-0000-0000-00000000",
"frontendIPConfigurations": [
{
"name": "fe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb",
"type": "Microsoft.Network/loadBalancers/frontendIPConfigurations",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "10.0.1.4",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"inboundNatRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule"
}
]
}
}
],
"backendAddressPools": [
{
"name": "be-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb",
"type": "Microsoft.Network/loadBalancers/backendAddressPools",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"virtualNetwork": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb"
},
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
],
"syncMode": "Automatic"
}
}
],
"loadBalancingRules": [
{
"name": "rulelb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb",
"type": "Microsoft.Network/loadBalancers/loadBalancingRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp",
"loadDistribution": "Default",
"backendAddressPool": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb"
},
"probe": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb"
},
"disableOutboundSnat": false
}
}
],
"probes": [
{
"name": "probe-lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb",
"type": "Microsoft.Network/loadBalancers/probes",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"protocol": "Http",
"port": 80,
"requestPath": "healthcheck.aspx",
"intervalInSeconds": 15,
"numberOfProbes": 2,
"probeThreshold": 1,
"loadBalancingRules": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb"
}
]
}
}
],
"inboundNatRules": [
{
"name": "in-nat-rule",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule",
"type": "Microsoft.Network/loadBalancers/inboundNatRules",
"etag": "W/\"00000000-0000-0000-0000-00000000\"",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfiguration": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb"
},
"frontendPort": 3389,
"backendPort": 3389,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15,
"protocol": "Tcp"
}
}
],
"outboundRules": [],
"inboundNatPools": []
}
}
定义
ApplicationGatewayBackendAddress
Object
应用程序网关的后端地址。
名称 |
类型 |
说明 |
fqdn
|
string
|
完全限定的域名(FQDN)。
|
ipAddress
|
string
|
IP地址。
|
ApplicationGatewayBackendAddressPool
Object
应用程序网关的后端地址池。
ApplicationGatewayIPConfiguration
Object
应用程序网关的 IP 配置。 目前允许 1 个公共 IP 和 1 个专用 IP 配置。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
应用程序网关中唯一的 IP 配置的名称。
|
properties.provisioningState
|
ProvisioningState
|
应用程序网关 IP 配置资源的预配状态。
|
properties.subnet
|
SubResource
|
对子网资源的引用。 应用程序网关从中获取其专用地址的子网。
|
type
|
string
|
资源的类型。
|
ApplicationSecurityGroup
Object
资源组中的应用程序安全组。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
location
|
string
|
资源位置。
|
name
|
string
|
资源名称。
|
properties.provisioningState
|
ProvisioningState
|
应用程序安全组资源的预配状态。
|
properties.resourceGuid
|
string
|
应用程序安全组资源的资源 GUID 属性。 它唯一标识资源,即使用户更改了其名称或跨订阅或资源组迁移资源。
|
tags
|
object
|
资源标记。
|
type
|
string
|
资源类型。
|
AutoApproval
Object
专用链接服务的自动审批列表。
名称 |
类型 |
说明 |
subscriptions
|
string[]
|
订阅列表。
|
BackendAddressPool
Object
后端 IP 地址池。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
负载均衡器使用的后端地址池集中唯一的资源的名称。 此名称可用于访问资源。
|
properties.backendIPConfigurations
|
NetworkInterfaceIPConfiguration[]
|
对网络接口中定义的 IP 地址的引用数组。
|
properties.drainPeriodInSeconds
|
integer
|
将 RESET 发送到客户端和后端地址之前,负载均衡器等待的秒数。
|
properties.inboundNatRules
|
SubResource[]
|
对使用此后端地址池的入站 NAT 规则的引用数组。
|
properties.loadBalancerBackendAddresses
|
LoadBalancerBackendAddress[]
|
后端地址数组。
|
properties.loadBalancingRules
|
SubResource[]
|
对使用此后端地址池的负载均衡规则的引用数组。
|
properties.location
|
string
|
后端地址池的位置。
|
properties.outboundRule
|
SubResource
|
对使用此后端地址池的出站规则的引用。
|
properties.outboundRules
|
SubResource[]
|
对使用此后端地址池的出站规则的引用数组。
|
properties.provisioningState
|
ProvisioningState
|
后端地址池资源的预配状态。
|
properties.syncMode
|
SyncMode
|
后端池的后端地址同步模式
|
properties.tunnelInterfaces
|
GatewayLoadBalancerTunnelInterface[]
|
网关负载均衡器隧道接口的数组。
|
properties.virtualNetwork
|
SubResource
|
对虚拟网络的引用。
|
type
|
string
|
资源的类型。
|
CloudError
Object
服务的错误响应。
CloudErrorBody
Object
服务的错误响应。
名称 |
类型 |
说明 |
code
|
string
|
错误的标识符。 代码是固定的,旨在以编程方式使用。
|
details
|
CloudErrorBody[]
|
有关错误的其他详细信息的列表。
|
message
|
string
|
描述错误的消息,旨在适合在用户界面中显示。
|
target
|
string
|
特定错误的目标。 例如,错误属性的名称。
|
Object
包含来自客户的自定义 Dns 解析配置。
名称 |
类型 |
说明 |
fqdn
|
string
|
解析为专用终结点 IP 地址的 Fqdn。
|
ipAddresses
|
string[]
|
专用终结点的专用 IP 地址列表。
|
DdosSettings
Object
包含公共 IP 的 DDoS 保护设置。
DdosSettingsProtectionMode
Enumeration
公共 IP 的 DDoS 保护模式
值 |
说明 |
Disabled
|
|
Enabled
|
|
VirtualNetworkInherited
|
|
Delegation
Object
详细说明将子网委托到的服务。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
子网中唯一的资源的名称。 此名称可用于访问资源。
|
properties.actions
|
string[]
|
委派后允许对服务执行的操作。
|
properties.provisioningState
|
ProvisioningState
|
服务委派资源的预配状态。
|
properties.serviceName
|
string
|
应向其委托子网的服务的名称(例如Microsoft.Sql/servers)。
|
type
|
string
|
资源类型。
|
DeleteOptions
Enumeration
指定删除 VM 时公共 IP 地址会发生什么情况
ExtendedLocation
Object
ExtendedLocation 复杂类型。
ExtendedLocationTypes
Enumeration
扩展位置的类型。
FlowLog
Object
流日志资源。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
identity
|
ManagedServiceIdentity
|
FlowLog 资源托管标识
|
location
|
string
|
资源位置。
|
name
|
string
|
资源名称。
|
properties.enabled
|
boolean
|
用于启用/禁用流日志记录的标志。
|
properties.enabledFilteringCriteria
|
string
|
可选字段,用于根据 SrcIP、SrcPort、DstIP、DstPort、协议、加密、方向和操作筛选网络流量日志。 如果未指定,将记录所有网络流量。
|
properties.flowAnalyticsConfiguration
|
TrafficAnalyticsProperties
|
定义流量分析配置的参数。
|
properties.format
|
FlowLogFormatParameters
|
定义流日志格式的参数。
|
properties.provisioningState
|
ProvisioningState
|
流日志的预配状态。
|
properties.retentionPolicy
|
RetentionPolicyParameters
|
定义流日志保留策略的参数。
|
properties.storageId
|
string
|
用于存储流日志的存储帐户的 ID。
|
properties.targetResourceGuid
|
string
|
将向其应用流日志的网络安全组的 Guid。
|
properties.targetResourceId
|
string
|
将向其应用流日志的网络安全组的 ID。
|
tags
|
object
|
资源标记。
|
type
|
string
|
资源类型。
|
Object
定义流日志格式的参数。
Enumeration
流日志的文件类型。
FrontendIPConfiguration
Object
负载均衡器的前端 IP 地址。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
负载均衡器使用的前端 IP 配置集中唯一的资源的名称。 此名称可用于访问资源。
|
properties.gatewayLoadBalancer
|
SubResource
|
对网关负载均衡器前端 IP 的引用。
|
properties.inboundNatPools
|
SubResource[]
|
对使用此前端 IP 的入站池的引用数组。
|
properties.inboundNatRules
|
SubResource[]
|
对使用此前端 IP 的入站规则的引用数组。
|
properties.loadBalancingRules
|
SubResource[]
|
对使用此前端 IP 的负载均衡规则的引用数组。
|
properties.outboundRules
|
SubResource[]
|
对使用此前端 IP 的出站规则的引用数组。
|
properties.privateIPAddress
|
string
|
IP 配置的专用 IP 地址。
|
properties.privateIPAddressVersion
|
IPVersion
|
特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。
|
properties.privateIPAllocationMethod
|
IPAllocationMethod
|
专用 IP 分配方法。
|
properties.provisioningState
|
ProvisioningState
|
前端 IP 配置资源的预配状态。
|
properties.publicIPAddress
|
PublicIPAddress
|
对公共 IP 资源的引用。
|
properties.publicIPPrefix
|
SubResource
|
对公共 IP 前缀资源的引用。
|
properties.subnet
|
Subnet
|
对子网资源的引用。
|
type
|
string
|
资源的类型。
|
zones
|
string[]
|
表示为资源分配的 IP 需要来自的可用性区域列表。
|
GatewayLoadBalancerTunnelInterface
Object
负载均衡器后端地址池的网关负载均衡器隧道接口。
GatewayLoadBalancerTunnelInterfaceType
Enumeration
网关负载均衡器隧道接口的流量类型。
值 |
说明 |
External
|
|
Internal
|
|
None
|
|
GatewayLoadBalancerTunnelProtocol
Enumeration
网关负载均衡器隧道接口的协议。
InboundNatPool
Object
负载均衡器的入站 NAT 池。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
负载均衡器使用的入站 NAT 池集中唯一的资源的名称。 此名称可用于访问资源。
|
properties.backendPort
|
integer
|
用于终结点上内部连接的端口。 可接受的值为 1 到 65535。
|
properties.enableFloatingIP
|
boolean
|
为配置 SQL AlwaysOn 可用性组所需的浮动 IP 功能配置虚拟机的终结点。 在 SQL Server 中使用 SQL AlwaysOn 可用性组时,需要此设置。 创建终结点后,无法更改此设置。
|
properties.enableTcpReset
|
boolean
|
在 TCP 流空闲超时或意外的连接终止时接收双向 TCP 重置。 仅当协议设置为 TCP 时,才使用此元素。
|
properties.frontendIPConfiguration
|
SubResource
|
对前端 IP 地址的引用。
|
properties.frontendPortRangeEnd
|
integer
|
外部端口范围中的最后一个端口号,用于向与负载均衡器关联的 NIC 提供入站 Nat。 可接受的值介于 1 和 65535 之间。
|
properties.frontendPortRangeStart
|
integer
|
外部端口范围中的第一个端口号,用于向与负载均衡器关联的 NIC 提供入站 Nat。 可接受的值介于 1 和 65534 之间。
|
properties.idleTimeoutInMinutes
|
integer
|
TCP 空闲连接的超时。 该值可以设置为 4 到 30 分钟。 默认值为 4 分钟。 仅当协议设置为 TCP 时,才使用此元素。
|
properties.protocol
|
TransportProtocol
|
对入站 NAT 池使用的传输协议的引用。
|
properties.provisioningState
|
ProvisioningState
|
入站 NAT 池资源的预配状态。
|
type
|
string
|
资源的类型。
|
InboundNatRule
Object
负载均衡器的入站 NAT 规则。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
负载均衡器使用的入站 NAT 规则集中唯一的资源的名称。 此名称可用于访问资源。
|
properties.backendAddressPool
|
SubResource
|
对 backendAddressPool 资源的引用。
|
properties.backendIPConfiguration
|
NetworkInterfaceIPConfiguration
|
对 VM 网络接口上定义的专用 IP 地址的引用。 发送到每个前端 IP 配置的前端端口的流量将转发到后端 IP。
|
properties.backendPort
|
integer
|
用于内部终结点的端口。 可接受的值范围为 1 到 65535。
|
properties.enableFloatingIP
|
boolean
|
为配置 SQL AlwaysOn 可用性组所需的浮动 IP 功能配置虚拟机的终结点。 在 SQL Server 中使用 SQL AlwaysOn 可用性组时,需要此设置。 创建终结点后,无法更改此设置。
|
properties.enableTcpReset
|
boolean
|
在 TCP 流空闲超时或意外的连接终止时接收双向 TCP 重置。 仅当协议设置为 TCP 时,才使用此元素。
|
properties.frontendIPConfiguration
|
SubResource
|
对前端 IP 地址的引用。
|
properties.frontendPort
|
integer
|
外部终结点的端口。 每个规则的端口号在负载均衡器中必须是唯一的。 可接受的值范围为 1 到 65534。
|
properties.frontendPortRangeEnd
|
integer
|
外部终结点的端口范围结束。 此属性与 BackendAddressPool 和 FrontendPortRangeStart 一起使用。 将为 BackendAddressPool 中的每个后端地址创建单个入站 NAT 规则端口映射。 可接受的值范围为 1 到 65534。
|
properties.frontendPortRangeStart
|
integer
|
端口范围从外部终结点开始。 此属性与 BackendAddressPool 和 FrontendPortRangeEnd 一起使用。 将为 BackendAddressPool 中的每个后端地址创建单个入站 NAT 规则端口映射。 可接受的值范围为 1 到 65534。
|
properties.idleTimeoutInMinutes
|
integer
|
TCP 空闲连接的超时。 该值可以设置为 4 到 30 分钟。 默认值为 4 分钟。 仅当协议设置为 TCP 时,才使用此元素。
|
properties.protocol
|
TransportProtocol
|
对负载均衡规则使用的传输协议的引用。
|
properties.provisioningState
|
ProvisioningState
|
入站 NAT 规则资源的预配状态。
|
type
|
string
|
资源的类型。
|
IPAllocationMethod
Enumeration
IP 地址分配方法。
IpamPoolPrefixAllocation
Object
IpamPool 前缀分配引用。
名称 |
类型 |
说明 |
allocatedAddressPrefixes
|
string[]
|
关联资源的 IpamPool 中分配的 IP 地址前缀列表。
|
numberOfIpAddresses
|
string
|
要分配的 IP 地址数。
|
pool.id
|
string
|
关联的 Azure IpamPool 资源的资源 ID。
|
IPConfiguration
Object
IP 配置。
名称 |
类型 |
默认值 |
说明 |
etag
|
string
|
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
|
资源 ID。
|
name
|
string
|
|
资源组中唯一的资源的名称。 此名称可用于访问资源。
|
properties.privateIPAddress
|
string
|
|
IP 配置的专用 IP 地址。
|
properties.privateIPAllocationMethod
|
IPAllocationMethod
|
Dynamic
|
专用 IP 地址分配方法。
|
properties.provisioningState
|
ProvisioningState
|
|
IP 配置资源的预配状态。
|
properties.publicIPAddress
|
PublicIPAddress
|
|
对公共 IP 资源的引用。
|
properties.subnet
|
Subnet
|
|
对子网资源的引用。
|
IPConfigurationProfile
Object
IP 配置文件子资源。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
资源的名称。 此名称可用于访问资源。
|
properties.provisioningState
|
ProvisioningState
|
IP 配置文件资源的预配状态。
|
properties.subnet
|
Subnet
|
对用于创建容器网络接口 IP 配置的子网资源的引用。
|
type
|
string
|
子资源类型。
|
IpTag
Object
包含与对象关联的 IpTag。
名称 |
类型 |
说明 |
ipTagType
|
string
|
IP 标记类型。 示例:FirstPartyUsage。
|
tag
|
string
|
与公共 IP 关联的 IP 标记的值。 示例:SQL。
|
IPVersion
Enumeration
IP 地址版本。
LoadBalancer
Object
LoadBalancer 资源。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
extendedLocation
|
ExtendedLocation
|
负载均衡器的扩展位置。
|
id
|
string
|
资源 ID。
|
location
|
string
|
资源位置。
|
name
|
string
|
资源名称。
|
properties.backendAddressPools
|
BackendAddressPool[]
|
负载均衡器使用的后端地址池的集合。
|
properties.frontendIPConfigurations
|
FrontendIPConfiguration[]
|
表示要用于负载均衡器的前端 IP 的对象。
|
properties.inboundNatPools
|
InboundNatPool[]
|
为与负载均衡器关联的 NIC 上的单个后端端口定义入站 NAT 的外部端口范围。 使用此范围中的外部端口为每个与负载均衡器关联的 NIC 自动创建入站 NAT 规则。 在负载均衡器上定义入站 NAT 池与定义入站 NAT 规则是互斥的。 从虚拟机规模集引用入站 NAT 池。 与单个虚拟机关联的 NIC 无法引用入站 NAT 池。 它们必须引用单个入站 NAT 规则。
|
properties.inboundNatRules
|
InboundNatRule[]
|
负载均衡器使用的入站 NAT 规则的集合。 在负载均衡器上定义入站 NAT 规则与定义入站 NAT 池是互斥的。 从虚拟机规模集引用入站 NAT 池。 与单个虚拟机关联的 NIC 无法引用入站 NAT 池。 它们必须引用单个入站 NAT 规则。
|
properties.loadBalancingRules
|
LoadBalancingRule[]
|
表示负载均衡规则的对象集合获取预配。
|
properties.outboundRules
|
OutboundRule[]
|
出站规则。
|
properties.probes
|
Probe[]
|
负载均衡器中使用的探测对象的集合。
|
properties.provisioningState
|
ProvisioningState
|
负载均衡器资源的预配状态。
|
properties.resourceGuid
|
string
|
负载均衡器资源的资源 GUID 属性。
|
sku
|
LoadBalancerSku
|
负载均衡器 SKU。
|
tags
|
object
|
资源标记。
|
type
|
string
|
资源类型。
|
LoadBalancerBackendAddress
Object
负载均衡器后端地址。
名称 |
类型 |
说明 |
name
|
string
|
后端地址的名称。
|
properties.adminState
|
LoadBalancerBackendAddressAdminState
|
一个管理状态列表,一旦设置即可替代运行状况探测,以便负载均衡器始终将新连接转发到后端,或拒绝新连接并重置现有连接。
|
properties.inboundNatRulesPortMapping
|
NatRulePortMapping[]
|
入站 NAT 规则端口映射的集合。
|
properties.ipAddress
|
string
|
属于所引用虚拟网络的 IP 地址。
|
properties.loadBalancerFrontendIPConfiguration
|
SubResource
|
对区域负载均衡器中定义的前端 IP 地址配置的引用。
|
properties.networkInterfaceIPConfiguration
|
SubResource
|
对网络接口中定义的 IP 地址的引用。
|
properties.subnet
|
SubResource
|
对现有子网的引用。
|
properties.virtualNetwork
|
SubResource
|
对现有虚拟网络的引用。
|
LoadBalancerBackendAddressAdminState
Enumeration
一个管理状态列表,一旦设置即可替代运行状况探测,以便负载均衡器始终将新连接转发到后端,或拒绝新连接并重置现有连接。
LoadBalancerOutboundRuleProtocol
Enumeration
负载均衡器中出站规则的协议。
LoadBalancerSku
Object
负载均衡器的 SKU。
LoadBalancerSkuName
Enumeration
负载均衡器 SKU 的名称。
值 |
说明 |
Basic
|
|
Gateway
|
|
Standard
|
|
LoadBalancerSkuTier
Enumeration
负载均衡器 SKU 的层。
LoadBalancingRule
Object
负载均衡器的负载均衡规则。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
在负载均衡器使用的负载均衡规则集中唯一的资源的名称。 此名称可用于访问资源。
|
properties.backendAddressPool
|
SubResource
|
对 DIP 池的引用。 入站流量在后端 IP 中的 IP 之间随机负载均衡。
|
properties.backendAddressPools
|
SubResource[]
|
对 DIP 池的引用数组。
|
properties.backendPort
|
integer
|
用于终结点上内部连接的端口。 可接受的值为 0 到 65535。 请注意,值 0 启用“任何端口”。
|
properties.disableOutboundSnat
|
boolean
|
为后端池中的 VM 配置 SNAT,以使用负载均衡规则前端中指定的 publicIP 地址。
|
properties.enableFloatingIP
|
boolean
|
为配置 SQL AlwaysOn 可用性组所需的浮动 IP 功能配置虚拟机的终结点。 在 SQL Server 中使用 SQL AlwaysOn 可用性组时,需要此设置。 创建终结点后,无法更改此设置。
|
properties.enableTcpReset
|
boolean
|
在 TCP 流空闲超时或意外的连接终止时接收双向 TCP 重置。 仅当协议设置为 TCP 时,才使用此元素。
|
properties.frontendIPConfiguration
|
SubResource
|
对前端 IP 地址的引用。
|
properties.frontendPort
|
integer
|
外部终结点的端口。 每个规则的端口号在负载均衡器中必须是唯一的。 可接受的值为 0 到 65534。 请注意,值 0 启用“任何端口”。
|
properties.idleTimeoutInMinutes
|
integer
|
TCP 空闲连接的超时。 该值可以设置为 4 到 30 分钟。 默认值为 4 分钟。 仅当协议设置为 TCP 时,才使用此元素。
|
properties.loadDistribution
|
LoadDistribution
|
此规则的负载分发策略。
|
properties.probe
|
SubResource
|
对负载均衡规则使用的负载均衡器探测的引用。
|
properties.protocol
|
TransportProtocol
|
对负载均衡规则使用的传输协议的引用。
|
properties.provisioningState
|
ProvisioningState
|
负载均衡规则资源的预配状态。
|
type
|
string
|
资源的类型。
|
LoadDistribution
Enumeration
此规则的负载分发策略。
值 |
说明 |
Default
|
|
SourceIP
|
|
SourceIPProtocol
|
|
ManagedServiceIdentity
Object
资源的标识。
名称 |
类型 |
说明 |
principalId
|
string
|
系统分配标识的主体 ID。 此属性仅针对系统分配的标识提供。
|
tenantId
|
string
|
系统分配标识的租户 ID。 此属性仅针对系统分配的标识提供。
|
type
|
ResourceIdentityType
|
用于资源的标识类型。 类型“SystemAssigned,UserAssigned”包括隐式创建的标识和一组用户分配的标识。 类型“None”将从虚拟机中删除任何标识。
|
userAssignedIdentities
|
UserAssignedIdentities
|
与资源关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。
|
NatGateway
Object
Nat 网关资源。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
location
|
string
|
资源位置。
|
name
|
string
|
资源名称。
|
properties.idleTimeoutInMinutes
|
integer
|
nat 网关的空闲超时。
|
properties.provisioningState
|
ProvisioningState
|
NAT 网关资源的预配状态。
|
properties.publicIpAddresses
|
SubResource[]
|
与 nat 网关资源关联的公共 IP 地址数组。
|
properties.publicIpPrefixes
|
SubResource[]
|
与 nat 网关资源关联的公共 IP 前缀数组。
|
properties.resourceGuid
|
string
|
NAT 网关资源的资源 GUID 属性。
|
properties.subnets
|
SubResource[]
|
使用此 nat 网关资源引用子网的数组。
|
sku
|
NatGatewaySku
|
nat 网关 SKU。
|
tags
|
object
|
资源标记。
|
type
|
string
|
资源类型。
|
zones
|
string[]
|
表示应在其中部署 Nat 网关的区域的可用性区域的列表。
|
NatGatewaySku
Object
NAT 网关的 SKU。
NatGatewaySkuName
Enumeration
Nat 网关 SKU 的名称。
NatRulePortMapping
Object
为后端池创建的入站 NAT 规则的单个端口映射。
名称 |
类型 |
说明 |
backendPort
|
integer
|
后端端口。
|
frontendPort
|
integer
|
前端端口。
|
inboundNatRuleName
|
string
|
入站 NAT 规则的名称。
|
NetworkInterface
Object
资源组中的网络接口。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
extendedLocation
|
ExtendedLocation
|
网络接口的扩展位置。
|
id
|
string
|
资源 ID。
|
location
|
string
|
资源位置。
|
name
|
string
|
资源名称。
|
properties.auxiliaryMode
|
NetworkInterfaceAuxiliaryMode
|
网络接口资源的辅助模式。
|
properties.auxiliarySku
|
NetworkInterfaceAuxiliarySku
|
网络接口资源的辅助 SKU。
|
properties.defaultOutboundConnectivityEnabled
|
boolean
|
是否配置了 nic 的默认出站连接。
|
properties.disableTcpStateTracking
|
boolean
|
指示是否禁用 tcp 状态跟踪。
|
properties.dnsSettings
|
NetworkInterfaceDnsSettings
|
网络接口中的 DNS 设置。
|
properties.dscpConfiguration
|
SubResource
|
对网络接口链接到的 dscp 配置的引用。
|
properties.enableAcceleratedNetworking
|
boolean
|
如果将网络接口配置为加速网络。 不适用于需要加速网络的 VM 大小。
|
properties.enableIPForwarding
|
boolean
|
指示是否在此网络接口上启用 IP 转发。
|
properties.hostedWorkloads
|
string[]
|
对链接 BareMetal 资源的引用列表。
|
properties.ipConfigurations
|
NetworkInterfaceIPConfiguration[]
|
网络接口的 IPConfiguration 列表。
|
properties.macAddress
|
string
|
网络接口的 MAC 地址。
|
properties.migrationPhase
|
NetworkInterfaceMigrationPhase
|
网络接口资源的迁移阶段。
|
properties.networkSecurityGroup
|
NetworkSecurityGroup
|
对 NetworkSecurityGroup 资源的引用。
|
properties.nicType
|
NetworkInterfaceNicType
|
网络接口资源的类型。
|
properties.primary
|
boolean
|
这是否是虚拟机上的主网络接口。
|
properties.privateEndpoint
|
PrivateEndpoint
|
对网络接口链接到的专用终结点的引用。
|
properties.privateLinkService
|
PrivateLinkService
|
网络接口资源的 Privatelinkservice。
|
properties.provisioningState
|
ProvisioningState
|
网络接口资源的预配状态。
|
properties.resourceGuid
|
string
|
网络接口资源的资源 GUID 属性。
|
properties.tapConfigurations
|
NetworkInterfaceTapConfiguration[]
|
网络接口的 TapConfiguration 列表。
|
properties.virtualMachine
|
SubResource
|
对虚拟机的引用。
|
properties.vnetEncryptionSupported
|
boolean
|
此 nic 是否附加到虚拟机,以支持加密。
|
properties.workloadType
|
string
|
BareMetal 资源的 NetworkInterface 的 WorkloadType
|
tags
|
object
|
资源标记。
|
type
|
string
|
资源类型。
|
NetworkInterfaceAuxiliaryMode
Enumeration
网络接口资源的辅助模式。
值 |
说明 |
AcceleratedConnections
|
|
Floating
|
|
MaxConnections
|
|
None
|
|
NetworkInterfaceAuxiliarySku
Enumeration
网络接口资源的辅助 SKU。
NetworkInterfaceDnsSettings
Object
网络接口的 DNS 设置。
名称 |
类型 |
说明 |
appliedDnsServers
|
string[]
|
如果使用此 NIC 的 VM 是可用性集的一部分,则此列表将包含属于可用性集的所有 NIC 的所有 DNS 服务器联合。 此属性是在其中每个 VM 上配置的。
|
dnsServers
|
string[]
|
DNS 服务器 IP 地址列表。 使用“AzureProvidedDNS”切换到 Azure 提供的 DNS 解析。 “AzureProvidedDNS”值不能与其他 IP 组合,它必须是 dnsServers 集合中唯一的值。
|
internalDnsNameLabel
|
string
|
此 NIC 的相对 DNS 名称,用于同一虚拟网络中的 VM 之间的内部通信。
|
internalDomainNameSuffix
|
string
|
即使未指定 internalDnsNameLabel,也会为 VM 的主 NIC 创建 DNS 条目。 可以通过将 VM 名称与 internalDomainNameSuffix 的值连接来构造此 DNS 名称。
|
internalFqdn
|
string
|
完全限定的 DNS 名称支持同一虚拟网络中的 VM 之间的内部通信。
|
NetworkInterfaceIPConfiguration
Object
网络接口中的 IPConfiguration。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
资源组中唯一的资源的名称。 此名称可用于访问资源。
|
properties.applicationGatewayBackendAddressPools
|
ApplicationGatewayBackendAddressPool[]
|
对 ApplicationGatewayBackendAddressPool 资源的引用。
|
properties.applicationSecurityGroups
|
ApplicationSecurityGroup[]
|
包含 IP 配置的应用程序安全组。
|
properties.gatewayLoadBalancer
|
SubResource
|
对网关负载均衡器前端 IP 的引用。
|
properties.loadBalancerBackendAddressPools
|
BackendAddressPool[]
|
对 LoadBalancerBackendAddressPool 资源的引用。
|
properties.loadBalancerInboundNatRules
|
InboundNatRule[]
|
LoadBalancerInboundNatRules 的引用列表。
|
properties.primary
|
boolean
|
这是否是网络接口上的主要客户地址。
|
properties.privateIPAddress
|
string
|
IP 配置的专用 IP 地址。 它可以是采用格式的单个 IP 地址或 CIDR 块 /.
|
properties.privateIPAddressPrefixLength
|
integer
|
专用 IP 地址前缀长度。 如果指定且分配方法是动态的,则服务将分配 CIDR 块而不是单个 IP 地址。
|
properties.privateIPAddressVersion
|
IPVersion
|
特定 IP 配置是 IPv4 还是 IPv6。 默认值为 IPv4。
|
properties.privateIPAllocationMethod
|
IPAllocationMethod
|
专用 IP 地址分配方法。
|
properties.privateLinkConnectionProperties
|
NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties
|
网络接口的 PrivateLinkConnection 属性。
|
properties.provisioningState
|
ProvisioningState
|
网络接口 IP 配置的预配状态。
|
properties.publicIPAddress
|
PublicIPAddress
|
绑定到 IP 配置的公共 IP 地址。
|
properties.subnet
|
Subnet
|
绑定到 IP 配置的子网。
|
properties.virtualNetworkTaps
|
VirtualNetworkTap[]
|
对虚拟网络点击的引用。
|
type
|
string
|
资源类型。
|
NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties
Object
网络接口的 PrivateLinkConnection 属性。
名称 |
类型 |
说明 |
fqdns
|
string[]
|
当前专用链接连接的 FQDN 列表。
|
groupId
|
string
|
当前专用链接连接的组 ID。
|
requiredMemberName
|
string
|
当前专用链接连接的必需成员名称。
|
NetworkInterfaceMigrationPhase
Enumeration
网络接口资源的迁移阶段。
值 |
说明 |
Abort
|
|
Commit
|
|
Committed
|
|
None
|
|
Prepare
|
|
NetworkInterfaceNicType
Enumeration
网络接口资源的类型。
NetworkInterfaceTapConfiguration
Object
点击网络接口中的配置。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
资源组中唯一的资源的名称。 此名称可用于访问资源。
|
properties.provisioningState
|
ProvisioningState
|
网络接口点击配置资源的预配状态。
|
properties.virtualNetworkTap
|
VirtualNetworkTap
|
对虚拟网络 Tap 资源的引用。
|
type
|
string
|
子资源类型。
|
NetworkSecurityGroup
Object
NetworkSecurityGroup 资源。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
location
|
string
|
资源位置。
|
name
|
string
|
资源名称。
|
properties.defaultSecurityRules
|
SecurityRule[]
|
网络安全组的默认安全规则。
|
properties.flowLogs
|
FlowLog[]
|
对流日志资源的引用的集合。
|
properties.flushConnection
|
boolean
|
启用后,当规则更新时,将从网络安全组连接创建的流重新评估。 初始启用将触发重新评估。
|
properties.networkInterfaces
|
NetworkInterface[]
|
对网络接口的引用的集合。
|
properties.provisioningState
|
ProvisioningState
|
网络安全组资源的预配状态。
|
properties.resourceGuid
|
string
|
网络安全组资源的资源 GUID 属性。
|
properties.securityRules
|
SecurityRule[]
|
网络安全组的安全规则集合。
|
properties.subnets
|
Subnet[]
|
对子网的引用的集合。
|
tags
|
object
|
资源标记。
|
type
|
string
|
资源类型。
|
OutboundRule
Object
负载均衡器的出站规则。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
负载均衡器使用的出站规则集中唯一的资源的名称。 此名称可用于访问资源。
|
properties.allocatedOutboundPorts
|
integer
|
要用于 NAT 的出站端口数。
|
properties.backendAddressPool
|
SubResource
|
对 DIP 池的引用。 出站流量在后端 IP 中的 IP 之间随机负载均衡。
|
properties.enableTcpReset
|
boolean
|
在 TCP 流空闲超时或意外的连接终止时接收双向 TCP 重置。 仅当协议设置为 TCP 时,才使用此元素。
|
properties.frontendIPConfigurations
|
SubResource[]
|
负载均衡器的前端 IP 地址。
|
properties.idleTimeoutInMinutes
|
integer
|
TCP 空闲连接的超时。
|
properties.protocol
|
LoadBalancerOutboundRuleProtocol
|
负载均衡器中出站规则的协议。
|
properties.provisioningState
|
ProvisioningState
|
出站规则资源的预配状态。
|
type
|
string
|
资源的类型。
|
PrivateEndpoint
Object
专用终结点资源。
PrivateEndpointConnection
Object
PrivateEndpointConnection 资源。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
资源组中唯一的资源的名称。 此名称可用于访问资源。
|
properties.linkIdentifier
|
string
|
使用者链接 ID。
|
properties.privateEndpoint
|
PrivateEndpoint
|
专用终结点的资源。
|
properties.privateEndpointLocation
|
string
|
专用终结点的位置。
|
properties.privateLinkServiceConnectionState
|
PrivateLinkServiceConnectionState
|
有关服务使用者与提供程序之间的连接状态的信息集合。
|
properties.provisioningState
|
ProvisioningState
|
专用终结点连接资源的预配状态。
|
type
|
string
|
资源类型。
|
PrivateEndpointIPConfiguration
Object
专用终结点的 IP 配置。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
name
|
string
|
资源组中唯一的资源的名称。
|
properties.groupId
|
string
|
从此专用终结点应连接到的远程资源获取的组的 ID。
|
properties.memberName
|
string
|
从此专用终结点应连接到的远程资源获取的组的成员名称。
|
properties.privateIPAddress
|
string
|
从专用终结点的子网获取的专用 IP 地址。
|
type
|
string
|
资源类型。
|
PrivateLinkService
Object
专用链接服务资源。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
extendedLocation
|
ExtendedLocation
|
负载均衡器的扩展位置。
|
id
|
string
|
资源 ID。
|
location
|
string
|
资源位置。
|
name
|
string
|
资源名称。
|
properties.alias
|
string
|
专用链接服务的别名。
|
properties.autoApproval
|
AutoApproval
|
专用链接服务的自动审批列表。
|
properties.destinationIPAddress
|
string
|
专用链接服务的目标 IP 地址。
|
properties.enableProxyProtocol
|
boolean
|
是否为代理协议启用了专用链接服务。
|
properties.fqdns
|
string[]
|
Fqdn 的列表。
|
properties.ipConfigurations
|
PrivateLinkServiceIpConfiguration[]
|
专用链接服务 IP 配置的数组。
|
properties.loadBalancerFrontendIpConfigurations
|
FrontendIPConfiguration[]
|
对负载均衡器 IP 配置的引用数组。
|
properties.networkInterfaces
|
NetworkInterface[]
|
对此专用链接服务创建的网络接口的引用数组。
|
properties.privateEndpointConnections
|
PrivateEndpointConnection[]
|
有关与专用终结点的连接的列表数组。
|
properties.provisioningState
|
ProvisioningState
|
专用链接服务资源的预配状态。
|
properties.visibility
|
Visibility
|
专用链接服务的可见性列表。
|
tags
|
object
|
资源标记。
|
type
|
string
|
资源类型。
|
PrivateLinkServiceConnection
Object
PrivateLinkServiceConnection 资源。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
资源组中唯一的资源的名称。 此名称可用于访问资源。
|
properties.groupIds
|
string[]
|
从此专用终结点应连接到的远程资源获取的组的 ID(s)。
|
properties.privateLinkServiceConnectionState
|
PrivateLinkServiceConnectionState
|
有关与远程资源的连接状态的只读信息的集合。
|
properties.privateLinkServiceId
|
string
|
专用链接服务的资源 ID。
|
properties.provisioningState
|
ProvisioningState
|
专用链接服务连接资源的预配状态。
|
properties.requestMessage
|
string
|
使用此连接请求传递给远程资源的所有者的消息。 限制为 140 个字符。
|
type
|
string
|
资源类型。
|
PrivateLinkServiceConnectionState
Object
有关服务使用者与提供程序之间的连接状态的信息集合。
名称 |
类型 |
说明 |
actionsRequired
|
string
|
一条消息,指示服务提供商上的更改是否需要对使用者进行任何更新。
|
description
|
string
|
批准/拒绝连接的原因。
|
status
|
string
|
指示连接是否已被服务的所有者批准/拒绝/删除。
|
PrivateLinkServiceIpConfiguration
Object
专用链接服务 IP 配置。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
专用链接服务 IP 配置的名称。
|
properties.primary
|
boolean
|
IP 配置是否为主要配置。
|
properties.privateIPAddress
|
string
|
IP 配置的专用 IP 地址。
|
properties.privateIPAddressVersion
|
IPVersion
|
特定 IP 配置是 IPv4 还是 IPv6。 默认值为 IPv4。
|
properties.privateIPAllocationMethod
|
IPAllocationMethod
|
专用 IP 地址分配方法。
|
properties.provisioningState
|
ProvisioningState
|
专用链接服务 IP 配置资源的预配状态。
|
properties.subnet
|
Subnet
|
对子网资源的引用。
|
type
|
string
|
资源类型。
|
Probe
Object
负载均衡器探测。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
负载均衡器使用的探测集内唯一的资源的名称。 此名称可用于访问资源。
|
properties.intervalInSeconds
|
integer
|
间隔(以秒为单位)以秒为单位,用于探测终结点的运行状况状态的频率。 通常,间隔略小于分配的超时期限(以秒为单位)的一半,这允许在将实例从轮换中之前进行两次完整探测。 默认值为 15,最小值为 5。
|
properties.loadBalancingRules
|
SubResource[]
|
使用此探测的负载均衡器规则。
|
properties.noHealthyBackendsBehavior
|
ProbeNoHealthyBackendsBehavior
|
确定在探测到所有后端实例时负载均衡器如何处理新连接。
|
properties.numberOfProbes
|
integer
|
如果未响应,则探测数将导致停止将进一步的流量传递到终结点。 通过此值,终结点的旋转速度比 Azure 中使用的典型时间要快或慢。
|
properties.port
|
integer
|
用于通信探测的端口。 可能的值范围为 1 到 65535(含)。
|
properties.probeThreshold
|
integer
|
连续成功或失败的探测数,以便允许或拒绝传递到此终结点的流量。 如果连续探测数等于此值,终结点将从旋转中取出,并要求将相同数量的连续探测置于旋转中。
|
properties.protocol
|
ProbeProtocol
|
终结点的协议。 如果指定了“Tcp”,则需要接收的 ACK 才能使探测成功。 如果指定了“Http”或“Https”,则需要来自指定 URI 的 200 正常响应才能使探测成功。
|
properties.provisioningState
|
ProvisioningState
|
探测资源的预配状态。
|
properties.requestPath
|
string
|
用于从 VM 请求运行状况的 URI。 如果协议设置为 http,则需要路径。 否则,不允许这样做。 没有默认值。
|
type
|
string
|
资源的类型。
|
ProbeNoHealthyBackendsBehavior
Enumeration
确定在探测到所有后端实例时负载均衡器如何处理新连接。
值 |
说明 |
AllProbedDown
|
不会将新流发送到后端池。
|
AllProbedUp
|
当所有后端实例被探测到时,传入的数据包将发送到所有实例。
|
ProbeProtocol
Enumeration
终结点的协议。 如果指定了“Tcp”,则需要接收的 ACK 才能使探测成功。 如果指定了“Http”或“Https”,则需要来自指定 URI 的 200 正常响应才能使探测成功。
ProvisioningState
Enumeration
当前预配状态。
值 |
说明 |
Deleting
|
|
Failed
|
|
Succeeded
|
|
Updating
|
|
PublicIPAddress
Object
公共 IP 地址资源。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
extendedLocation
|
ExtendedLocation
|
公共 IP 地址的扩展位置。
|
id
|
string
|
资源 ID。
|
location
|
string
|
资源位置。
|
name
|
string
|
资源名称。
|
properties.ddosSettings
|
DdosSettings
|
与公共 IP 地址关联的 DDoS 保护自定义策略。
|
properties.deleteOption
|
DeleteOptions
|
指定删除 VM 时公共 IP 地址会发生什么情况
|
properties.dnsSettings
|
PublicIPAddressDnsSettings
|
与公共 IP 地址关联的 DNS 记录的 FQDN。
|
properties.idleTimeoutInMinutes
|
integer
|
公共 IP 地址的空闲超时。
|
properties.ipAddress
|
string
|
与公共 IP 地址资源关联的 IP 地址。
|
properties.ipConfiguration
|
IPConfiguration
|
与公共 IP 地址关联的 IP 配置。
|
properties.ipTags
|
IpTag[]
|
与公共 IP 地址关联的标记列表。
|
properties.linkedPublicIPAddress
|
PublicIPAddress
|
公共 IP 地址资源的链接公共 IP 地址。
|
properties.migrationPhase
|
PublicIPAddressMigrationPhase
|
公共 IP 地址的迁移阶段。
|
properties.natGateway
|
NatGateway
|
公共 IP 地址的 NatGateway。
|
properties.provisioningState
|
ProvisioningState
|
公共 IP 地址资源的预配状态。
|
properties.publicIPAddressVersion
|
IPVersion
|
公共 IP 地址版本。
|
properties.publicIPAllocationMethod
|
IPAllocationMethod
|
公共 IP 地址分配方法。
|
properties.publicIPPrefix
|
SubResource
|
应从中分配此公共 IP 地址的公共 IP 前缀。
|
properties.resourceGuid
|
string
|
公共 IP 地址资源的资源 GUID 属性。
|
properties.servicePublicIPAddress
|
PublicIPAddress
|
公共 IP 地址资源的服务公共 IP 地址。
|
sku
|
PublicIPAddressSku
|
公共 IP 地址 SKU。
|
tags
|
object
|
资源标记。
|
type
|
string
|
资源类型。
|
zones
|
string[]
|
表示为资源分配的 IP 需要来自的可用性区域列表。
|
PublicIPAddressDnsSettings
Object
包含与公共 IP 地址关联的 DNS 记录的 FQDN。
名称 |
类型 |
说明 |
domainNameLabel
|
string
|
域名标签。 域名标签和区域化 DNS 区域的串联构成了与公共 IP 地址关联的完全限定域名。 如果指定了域名标签,则会为 Microsoft Azure DNS 系统中的公共 IP 创建 A DNS 记录。
|
domainNameLabelScope
|
PublicIpAddressDnsSettingsDomainNameLabelScope
|
域名标签范围。 如果指定了域名标签和域名标签范围,则会为 Microsoft Azure DNS 系统中的公共 IP 创建一条 DNS 记录,其中包含 FQDN 中的哈希值。
|
fqdn
|
string
|
与公共 IP 关联的 A DNS 记录的完全限定域名。 这是 domainNameLabel 和区域化 DNS 区域的串联。
|
reverseFqdn
|
string
|
反向 FQDN。 解析为此公共 IP 地址的用户可见完全限定域名。 如果指定了 reverseFqdn,则会创建 PTR DNS 记录,该记录从 in-addr.arpa 域中的 IP 地址指向反向 FQDN。
|
PublicIpAddressDnsSettingsDomainNameLabelScope
Enumeration
域名标签范围。 如果指定了域名标签和域名标签范围,则会为 Microsoft Azure DNS 系统中的公共 IP 创建一条 DNS 记录,其中包含 FQDN 中的哈希值。
值 |
说明 |
NoReuse
|
|
ResourceGroupReuse
|
|
SubscriptionReuse
|
|
TenantReuse
|
|
PublicIPAddressMigrationPhase
Enumeration
公共 IP 地址的迁移阶段。
值 |
说明 |
Abort
|
|
Commit
|
|
Committed
|
|
None
|
|
Prepare
|
|
PublicIPAddressSku
Object
公共 IP 地址的 SKU。
PublicIPAddressSkuName
Enumeration
公共 IP 地址 SKU 的名称。
PublicIPAddressSkuTier
Enumeration
公共 IP 地址 SKU 的层。
ResourceIdentityType
Enumeration
用于资源的标识类型。 类型“SystemAssigned,UserAssigned”包括隐式创建的标识和一组用户分配的标识。 类型“None”将从虚拟机中删除任何标识。
值 |
说明 |
None
|
|
SystemAssigned
|
|
SystemAssigned, UserAssigned
|
|
UserAssigned
|
|
ResourceNavigationLink
Object
ResourceNavigationLink 资源。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源导航链接标识符。
|
name
|
string
|
资源组中唯一的资源的名称。 此名称可用于访问资源。
|
properties.link
|
string
|
链接到外部资源。
|
properties.linkedResourceType
|
string
|
链接资源的资源类型。
|
properties.provisioningState
|
ProvisioningState
|
资源导航链接资源的预配状态。
|
type
|
string
|
资源类型。
|
RetentionPolicyParameters
Object
定义流日志保留策略的参数。
名称 |
类型 |
默认值 |
说明 |
days
|
integer
|
0
|
保留流日志记录的天数。
|
enabled
|
boolean
|
False
|
用于启用/禁用保留的标志。
|
Route
Object
路由资源。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
资源组中唯一的资源的名称。 此名称可用于访问资源。
|
properties.addressPrefix
|
string
|
路由应用到的目标 CIDR。
|
properties.hasBgpOverride
|
boolean
|
一个值,该值指示此路由是否替代重叠的 BGP 路由,而不考虑 LPM。
|
properties.nextHopIpAddress
|
string
|
IP 地址数据包应转发到。 只有在下一跃点类型为 VirtualAppliance 的路由中才允许下一跃点值。
|
properties.nextHopType
|
RouteNextHopType
|
应将数据包发送到的 Azure 跃点的类型。
|
properties.provisioningState
|
ProvisioningState
|
路由资源的预配状态。
|
type
|
string
|
资源的类型。
|
RouteNextHopType
Enumeration
应将数据包发送到的 Azure 跃点的类型。
值 |
说明 |
Internet
|
|
None
|
|
VirtualAppliance
|
|
VirtualNetworkGateway
|
|
VnetLocal
|
|
RouteTable
Object
路由表资源。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
location
|
string
|
资源位置。
|
name
|
string
|
资源名称。
|
properties.disableBgpRoutePropagation
|
boolean
|
是否禁用 BGP 在该路由表上学习的路由。 True 表示禁用。
|
properties.provisioningState
|
ProvisioningState
|
路由表资源的预配状态。
|
properties.resourceGuid
|
string
|
路由表的资源 GUID 属性。
|
properties.routes
|
Route[]
|
路由表中包含的路由的集合。
|
properties.subnets
|
Subnet[]
|
对子网的引用的集合。
|
tags
|
object
|
资源标记。
|
type
|
string
|
资源类型。
|
SecurityRule
Object
网络安全规则。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
资源组中唯一的资源的名称。 此名称可用于访问资源。
|
properties.access
|
SecurityRuleAccess
|
允许或拒绝网络流量。
|
properties.description
|
string
|
此规则的说明。 限制为 140 个字符。
|
properties.destinationAddressPrefix
|
string
|
目标地址前缀。 CIDR 或目标 IP 范围。 星号“*”还可用于匹配所有源 IP。 也可以使用默认标记,例如“VirtualNetwork”、“AzureLoadBalancer”和“Internet”。
|
properties.destinationAddressPrefixes
|
string[]
|
目标地址前缀。 CIDR 或目标 IP 范围。
|
properties.destinationApplicationSecurityGroups
|
ApplicationSecurityGroup[]
|
指定为目标的应用程序安全组。
|
properties.destinationPortRange
|
string
|
目标端口或范围。 介于 0 和 65535 之间的整数或范围。 星号“*”也可用于匹配所有端口。
|
properties.destinationPortRanges
|
string[]
|
目标端口范围。
|
properties.direction
|
SecurityRuleDirection
|
规则的方向。 该方向指定在传入或传出流量上是否评估规则。
|
properties.priority
|
integer
|
规则的优先级。 该值可以介于 100 和 4096 之间。 对于集合中的每个规则,优先级编号必须是唯一的。 优先级编号越低,规则优先级越高。
|
properties.protocol
|
SecurityRuleProtocol
|
此规则适用于的网络协议。
|
properties.provisioningState
|
ProvisioningState
|
安全规则资源的预配状态。
|
properties.sourceAddressPrefix
|
string
|
CIDR 或源 IP 范围。 星号“*”还可用于匹配所有源 IP。 也可以使用默认标记,例如“VirtualNetwork”、“AzureLoadBalancer”和“Internet”。 如果这是入口规则,则指定网络流量的来源。
|
properties.sourceAddressPrefixes
|
string[]
|
CIDR 或源 IP 范围。
|
properties.sourceApplicationSecurityGroups
|
ApplicationSecurityGroup[]
|
指定为源的应用程序安全组。
|
properties.sourcePortRange
|
string
|
源端口或范围。 介于 0 和 65535 之间的整数或范围。 星号“*”也可用于匹配所有端口。
|
properties.sourcePortRanges
|
string[]
|
源端口范围。
|
type
|
string
|
资源的类型。
|
SecurityRuleAccess
Enumeration
是允许还是拒绝网络流量。
SecurityRuleDirection
Enumeration
规则的方向。 该方向指定在传入或传出流量上是否评估规则。
SecurityRuleProtocol
Enumeration
此规则适用于的网络协议。
值 |
说明 |
*
|
|
Ah
|
|
Esp
|
|
Icmp
|
|
Tcp
|
|
Udp
|
|
ServiceAssociationLink
Object
ServiceAssociationLink 资源。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
资源组中唯一的资源的名称。 此名称可用于访问资源。
|
properties.allowDelete
|
boolean
|
如果为 true,则可以删除资源。
|
properties.link
|
string
|
链接到外部资源。
|
properties.linkedResourceType
|
string
|
链接资源的资源类型。
|
properties.locations
|
string[]
|
位置列表。
|
properties.provisioningState
|
ProvisioningState
|
服务关联链接资源的预配状态。
|
type
|
string
|
资源类型。
|
ServiceEndpointPolicy
Object
服务终结点策略资源。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
kind
|
string
|
服务终结点策略的类型。 这是用于 Azure 门户体验的元数据。
|
location
|
string
|
资源位置。
|
name
|
string
|
资源名称。
|
properties.contextualServiceEndpointPolicies
|
string[]
|
上下文服务终结点策略的集合。
|
properties.provisioningState
|
ProvisioningState
|
服务终结点策略资源的预配状态。
|
properties.resourceGuid
|
string
|
服务终结点策略资源的资源 GUID 属性。
|
properties.serviceAlias
|
string
|
指示策略是否属于服务的别名
|
properties.serviceEndpointPolicyDefinitions
|
ServiceEndpointPolicyDefinition[]
|
服务终结点策略的服务终结点策略定义的集合。
|
properties.subnets
|
Subnet[]
|
对子网的引用的集合。
|
tags
|
object
|
资源标记。
|
type
|
string
|
资源类型。
|
ServiceEndpointPolicyDefinition
Object
服务终结点策略定义。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
name
|
string
|
资源组中唯一的资源的名称。 此名称可用于访问资源。
|
properties.description
|
string
|
此规则的说明。 限制为 140 个字符。
|
properties.provisioningState
|
ProvisioningState
|
服务终结点策略定义资源的预配状态。
|
properties.service
|
string
|
服务终结点名称。
|
properties.serviceResources
|
string[]
|
服务资源列表。
|
type
|
string
|
资源的类型。
|
Object
服务终结点属性。
名称 |
类型 |
说明 |
locations
|
string[]
|
位置列表。
|
networkIdentifier
|
SubResource
|
SubResource 作为网络标识符。
|
provisioningState
|
ProvisioningState
|
服务终结点资源的预配状态。
|
service
|
string
|
终结点服务的类型。
|
SharingScope
Enumeration
将此属性设置为“租户”,以允许与 AAD 租户中的其他订阅共享子网。 仅当 defaultOutboundAccess 设置为 false 时,才能设置此属性,仅当子网为空时,才能设置这两个属性。
值 |
说明 |
DelegatedServices
|
|
Tenant
|
|
Subnet
Object
虚拟网络资源中的子网。
SubResource
Object
对另一个子资源的引用。
名称 |
类型 |
说明 |
id
|
string
|
资源 ID。
|
SyncMode
Enumeration
后端池的后端地址同步模式
TrafficAnalyticsConfigurationProperties
Object
定义流量分析配置的参数。
名称 |
类型 |
说明 |
enabled
|
boolean
|
用于启用/禁用流量分析的标志。
|
trafficAnalyticsInterval
|
integer
|
以分钟为单位的时间间隔,决定 TA 服务应执行流分析的频率。
|
workspaceId
|
string
|
附加工作区的资源 GUID。
|
workspaceRegion
|
string
|
附加工作区的位置。
|
workspaceResourceId
|
string
|
附加工作区的资源 ID。
|
TrafficAnalyticsProperties
Object
定义流量分析配置的参数。
TransportProtocol
Enumeration
终结点的传输协议。
UserAssignedIdentities
Object
与资源关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。
VirtualNetworkPrivateEndpointNetworkPolicies
Enumeration
在子网中的专用终结点上启用或禁用应用网络策略。
值 |
说明 |
Disabled
|
|
Enabled
|
|
NetworkSecurityGroupEnabled
|
|
RouteTableEnabled
|
|
VirtualNetworkPrivateLinkServiceNetworkPolicies
Enumeration
在子网中的专用链接服务上启用或禁用应用网络策略。
VirtualNetworkTap
Object
虚拟网络点击资源。
名称 |
类型 |
说明 |
etag
|
string
|
一个唯一的只读字符串,每当更新资源时更改。
|
id
|
string
|
资源 ID。
|
location
|
string
|
资源位置。
|
name
|
string
|
资源名称。
|
properties.destinationLoadBalancerFrontEndIPConfiguration
|
FrontendIPConfiguration
|
对内部负载均衡器上将接收点击的专用 IP 地址的引用。
|
properties.destinationNetworkInterfaceIPConfiguration
|
NetworkInterfaceIPConfiguration
|
对将接收点击的收集器 nic 的专用 IP 地址的引用。
|
properties.destinationPort
|
integer
|
将接收点击流量的 VXLAN 目标端口。
|
properties.networkInterfaceTapConfigurations
|
NetworkInterfaceTapConfiguration[]
|
指定需要点击的网络接口 IP 配置的资源 ID 列表。
|
properties.provisioningState
|
ProvisioningState
|
虚拟网络点击资源的预配状态。
|
properties.resourceGuid
|
string
|
虚拟网络点击资源的资源 GUID 属性。
|
tags
|
object
|
资源标记。
|
type
|
string
|
资源类型。
|
Visibility
Object
专用链接服务的可见性列表。
名称 |
类型 |
说明 |
subscriptions
|
string[]
|
订阅列表。
|