建立或更新負載平衡器。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}?api-version=2024-05-01
URI 參數
名稱 |
位於 |
必要 |
類型 |
Description |
loadBalancerName
|
path |
True
|
string
|
負載平衡器的名稱。
|
resourceGroupName
|
path |
True
|
string
|
資源群組的名稱。
|
subscriptionId
|
path |
True
|
string
|
可唯一識別Microsoft Azure 訂用帳戶的訂用帳戶認證。 訂用帳戶標識碼會形成每個服務呼叫 URI 的一部分。
|
api-version
|
query |
True
|
string
|
用戶端 API 版本。
|
要求本文
名稱 |
類型 |
Description |
extendedLocation
|
ExtendedLocation
|
負載平衡器的擴充位置。
|
id
|
string
|
資源標識碼。
|
location
|
string
|
資源位置。
|
properties.backendAddressPools
|
BackendAddressPool[]
|
負載平衡器所使用的後端位址池集合。
|
properties.frontendIPConfigurations
|
FrontendIPConfiguration[]
|
物件,表示要用於負載平衡器的前端IP。
|
properties.inboundNatPools
|
InboundNatPool[]
|
在與負載平衡器相關聯的 NIC 上,定義輸入 NAT 到單一後埠的外部埠範圍。 輸入 NAT 規則會自動針對使用此範圍的外部埠,針對與 Load Balancer 相關聯的每個 NIC 建立。 在Load Balancer上定義輸入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
Flow:
implicit
授權 URL:
https://login.microsoftonline.com/common/oauth2/authorize
範圍
名稱 |
Description |
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
應用程式閘道的後端位址。
名稱 |
類型 |
Description |
fqdn
|
string
|
完整功能變數名稱(FQDN)。
|
ipAddress
|
string
|
IP位址。
|
ApplicationGatewayBackendAddressPool
Object
應用程式閘道的後端位址池。
ApplicationGatewayIPConfiguration
Object
應用程式閘道的IP組態。 目前允許1個公用和1個私人IP組態。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
name
|
string
|
應用程式閘道內唯一的IP組態名稱。
|
properties.provisioningState
|
ProvisioningState
|
應用程式閘道IP組態資源的布建狀態。
|
properties.subnet
|
SubResource
|
子網資源的參考。 應用程式閘道從中取得其私人位址的子網。
|
type
|
string
|
資源的類型。
|
ApplicationSecurityGroup
Object
資源群組中的應用程式安全組。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
location
|
string
|
資源位置。
|
name
|
string
|
資源名稱。
|
properties.provisioningState
|
ProvisioningState
|
應用程式安全組資源的布建狀態。
|
properties.resourceGuid
|
string
|
應用程式安全組資源的資源 GUID 屬性。 它可唯一識別資源,即使使用者變更其名稱,或跨訂用帳戶或資源群組移轉資源也一樣。
|
tags
|
object
|
資源標籤。
|
type
|
string
|
資源類型。
|
AutoApproval
Object
私人連結服務的自動核准清單。
名稱 |
類型 |
Description |
subscriptions
|
string[]
|
訂用帳戶清單。
|
BackendAddressPool
Object
後端IP位址的集區。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
name
|
string
|
負載平衡器所使用之後端位址池集合內唯一的資源名稱。 此名稱可用來存取資源。
|
properties.backendIPConfigurations
|
NetworkInterfaceIPConfiguration[]
|
網路介面中定義的IP位址參考數位。
|
properties.drainPeriodInSeconds
|
integer
|
將 RESET 傳送至用戶端和後端位址之前,Load Balancer 會等候的秒數。
|
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
來自服務的錯誤回應。
名稱 |
類型 |
Description |
code
|
string
|
錯誤的識別碼。 程序代碼是不變的,而且是要以程序設計方式取用。
|
details
|
CloudErrorBody[]
|
錯誤的其他詳細數據清單。
|
message
|
string
|
描述錯誤的訊息,適用於在使用者介面中顯示。
|
target
|
string
|
特定錯誤的目標。 例如,錯誤中的屬性名稱。
|
Object
包含來自客戶的自定義 Dns 解析組態。
名稱 |
類型 |
Description |
fqdn
|
string
|
解析為私人端點 IP 位址的 Fqdn。
|
ipAddresses
|
string[]
|
私人端點的私人IP位址清單。
|
DdosSettings
Object
包含公用IP的 DDoS 保護設定。
DdosSettingsProtectionMode
Enumeration
公用IP的 DDoS 保護模式
值 |
Description |
Disabled
|
|
Enabled
|
|
VirtualNetworkInherited
|
|
Delegation
Object
詳細說明要委派子網的服務。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
name
|
string
|
子網內唯一的資源名稱。 此名稱可用來存取資源。
|
properties.actions
|
string[]
|
委派時允許服務執行的動作。
|
properties.provisioningState
|
ProvisioningState
|
服務委派資源的布建狀態。
|
properties.serviceName
|
string
|
應委派子網的服務名稱(例如Microsoft.Sql/servers)。
|
type
|
string
|
資源類型。
|
DeleteOptions
Enumeration
指定刪除 VM 時,公用 IP 位址會發生什麼事
值 |
Description |
Delete
|
|
Detach
|
|
ExtendedLocation
Object
ExtendedLocation 複雜類型。
ExtendedLocationTypes
Enumeration
擴充位置的類型。
FlowLog
Object
流量記錄資源。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
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
|
用來儲存流量記錄的記憶體帳戶標識碼。
|
properties.targetResourceGuid
|
string
|
將套用流量記錄的網路安全組 GUID。
|
properties.targetResourceId
|
string
|
將套用流量記錄的網路安全組標識碼。
|
tags
|
object
|
資源標籤。
|
type
|
string
|
資源類型。
|
Object
定義流程記錄格式的參數。
名稱 |
類型 |
預設值 |
Description |
type
|
FlowLogFormatType
|
|
流量記錄檔的文件類型。
|
version
|
integer
|
0
|
流程記錄的版本(修訂)。
|
Enumeration
流量記錄檔的文件類型。
FrontendIPConfiguration
Object
負載平衡器的前端IP位址。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
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
閘道連接平衡器通道介面的流量類型。
值 |
Description |
External
|
|
Internal
|
|
None
|
|
GatewayLoadBalancerTunnelProtocol
Enumeration
閘道連接平衡器通道介面的通訊協定。
值 |
Description |
Native
|
|
None
|
|
VXLAN
|
|
InboundNatPool
Object
負載平衡器的輸入NAT集區。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
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
|
外部埠範圍中的最後一個埠號碼,用來提供與負載平衡器相關聯的輸入 Nat 給 NIC。 可接受的值範圍介於 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規則。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
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
|
外部端點的埠。 每個規則的埠號碼在Load Balancer內必須是唯一的。 可接受的值範圍從 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 位址配置方法。
值 |
Description |
Dynamic
|
|
Static
|
|
IpamPoolPrefixAllocation
Object
IpamPool 前置詞配置參考。
名稱 |
類型 |
Description |
allocatedAddressPrefixes
|
string[]
|
相關聯資源的 IpamPool 中指派的 IP 位址前置詞清單。
|
numberOfIpAddresses
|
string
|
要配置的IP位址數目。
|
pool.id
|
string
|
相關聯 Azure IpamPool 資源的資源標識碼。
|
IPConfiguration
Object
IP 組態。
名稱 |
類型 |
預設值 |
Description |
etag
|
string
|
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
|
資源標識碼。
|
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 組態配置檔子資源。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
name
|
string
|
資源的名稱。 此名稱可用來存取資源。
|
properties.provisioningState
|
ProvisioningState
|
IP 組態配置檔資源的布建狀態。
|
properties.subnet
|
Subnet
|
用來建立容器網路介面IP組態之子網資源的參考。
|
type
|
string
|
子資源類型。
|
IpTag
Object
包含與 對象相關聯的 IpTag。
名稱 |
類型 |
Description |
ipTagType
|
string
|
IP 標籤類型。 範例:FirstPartyUsage。
|
tag
|
string
|
與公用IP相關聯的IP標籤。 範例:SQL。
|
IPVersion
Enumeration
IP 位址版本。
LoadBalancer
Object
LoadBalancer 資源。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
extendedLocation
|
ExtendedLocation
|
負載平衡器的擴充位置。
|
id
|
string
|
資源標識碼。
|
location
|
string
|
資源位置。
|
name
|
string
|
資源名稱。
|
properties.backendAddressPools
|
BackendAddressPool[]
|
負載平衡器所使用的後端位址池集合。
|
properties.frontendIPConfigurations
|
FrontendIPConfiguration[]
|
物件,表示要用於負載平衡器的前端IP。
|
properties.inboundNatPools
|
InboundNatPool[]
|
在與負載平衡器相關聯的 NIC 上,定義輸入 NAT 到單一後埠的外部埠範圍。 輸入 NAT 規則會自動針對使用此範圍的外部埠,針對與 Load Balancer 相關聯的每個 NIC 建立。 在Load Balancer上定義輸入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
負載平衡器後端位址。
名稱 |
類型 |
Description |
name
|
string
|
後端位址的名稱。
|
properties.adminState
|
LoadBalancerBackendAddressAdminState
|
一旦設定后,系統管理狀態清單可以覆寫健康狀態探查,讓Load Balancer 一律會將新的連線轉送至後端,或拒絕新的連線並重設現有的連線。
|
properties.inboundNatRulesPortMapping
|
NatRulePortMapping[]
|
輸入 NAT 規則埠對應的集合。
|
properties.ipAddress
|
string
|
屬於參考虛擬網路的IP位址。
|
properties.loadBalancerFrontendIPConfiguration
|
SubResource
|
區域負載平衡器中定義的前端IP位址組態參考。
|
properties.networkInterfaceIPConfiguration
|
SubResource
|
網路介面中定義的IP位址參考。
|
properties.subnet
|
SubResource
|
現有子網的參考。
|
properties.virtualNetwork
|
SubResource
|
現有虛擬網路的參考。
|
LoadBalancerBackendAddressAdminState
Enumeration
一旦設定后,系統管理狀態清單可以覆寫健康狀態探查,讓Load Balancer 一律會將新的連線轉送至後端,或拒絕新的連線並重設現有的連線。
值 |
Description |
Down
|
|
None
|
|
Up
|
|
LoadBalancerOutboundRuleProtocol
Enumeration
負載平衡器中輸出規則的通訊協定。
值 |
Description |
All
|
|
Tcp
|
|
Udp
|
|
LoadBalancerSku
Object
負載平衡器的 SKU。
LoadBalancerSkuName
Enumeration
負載平衡器 SKU 的名稱。
值 |
Description |
Basic
|
|
Gateway
|
|
Standard
|
|
LoadBalancerSkuTier
Enumeration
負載平衡器 SKU 的階層。
值 |
Description |
Global
|
|
Regional
|
|
LoadBalancingRule
Object
負載平衡器的負載平衡規則。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
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
|
外部端點的埠。 每個規則的埠號碼在Load Balancer內必須是唯一的。 可接受的值介於 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
此規則的負載分配原則。
值 |
Description |
Default
|
|
SourceIP
|
|
SourceIPProtocol
|
|
ManagedServiceIdentity
Object
資源的身分識別。
名稱 |
類型 |
Description |
principalId
|
string
|
系統指派身分識別的主體標識碼。 此屬性只會針對系統指派的身分識別提供。
|
tenantId
|
string
|
系統指派身分識別的租用戶標識碼。 此屬性只會針對系統指派的身分識別提供。
|
type
|
ResourceIdentityType
|
用於資源的身分識別類型。 類型 'SystemAssigned, UserAssigned' 包含隱含建立的身分識別和一組使用者指派的身分識別。 類型 『None』 會從虛擬機中移除任何身分識別。
|
userAssignedIdentities
|
UserAssignedIdentities
|
與資源相關聯的使用者身分識別清單。 使用者身分識別字典索引鍵參考的格式為 ARM 資源標識符:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。
|
NatGateway
Object
Nat 閘道資源。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
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規則的個別埠對應。
名稱 |
類型 |
Description |
backendPort
|
integer
|
後埠。
|
frontendPort
|
integer
|
前埠。
|
inboundNatRuleName
|
string
|
輸入 NAT 規則的名稱。
|
NetworkInterface
Object
資源群組中的網路介面。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
extendedLocation
|
ExtendedLocation
|
網路介面的擴充位置。
|
id
|
string
|
資源標識碼。
|
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
網路介面資源的輔助模式。
值 |
Description |
AcceleratedConnections
|
|
Floating
|
|
MaxConnections
|
|
None
|
|
NetworkInterfaceAuxiliarySku
Enumeration
網路介面資源的輔助 SKU。
值 |
Description |
A1
|
|
A2
|
|
A4
|
|
A8
|
|
None
|
|
NetworkInterfaceDnsSettings
Object
網路介面的 DNS 設定。
名稱 |
類型 |
Description |
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 專案。 此 DNS 名稱可藉由串連 VM 名稱與 internalDomainNameSuffix 值來建構。
|
internalFqdn
|
string
|
支援相同虛擬網路中 VM 之間內部通訊的完整 DNS 名稱。
|
NetworkInterfaceIPConfiguration
Object
網路介面中的IPConfiguration。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
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 屬性。
名稱 |
類型 |
Description |
fqdns
|
string[]
|
目前私人連結連線的 FQDN 清單。
|
groupId
|
string
|
目前私人連結連線的群組標識碼。
|
requiredMemberName
|
string
|
目前私人連結連接的必要成員名稱。
|
NetworkInterfaceMigrationPhase
Enumeration
網路介面資源的移轉階段。
值 |
Description |
Abort
|
|
Commit
|
|
Committed
|
|
None
|
|
Prepare
|
|
NetworkInterfaceNicType
Enumeration
網路介面資源的類型。
值 |
Description |
Elastic
|
|
Standard
|
|
NetworkInterfaceTapConfiguration
Object
點選網路介面中的組態。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
name
|
string
|
資源群組內唯一的資源名稱。 此名稱可用來存取資源。
|
properties.provisioningState
|
ProvisioningState
|
網路介面點選設定資源的布建狀態。
|
properties.virtualNetworkTap
|
VirtualNetworkTap
|
虛擬網路點選資源的參考。
|
type
|
string
|
子資源類型。
|
NetworkSecurityGroup
Object
NetworkSecurityGroup 資源。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
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
負載平衡器的輸出規則。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
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 資源。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
name
|
string
|
資源群組內唯一的資源名稱。 此名稱可用來存取資源。
|
properties.linkIdentifier
|
string
|
取用者鏈接識別碼。
|
properties.privateEndpoint
|
PrivateEndpoint
|
私人端點的資源。
|
properties.privateEndpointLocation
|
string
|
私人端點的位置。
|
properties.privateLinkServiceConnectionState
|
PrivateLinkServiceConnectionState
|
服務取用者與提供者之間連線狀態的相關信息集合。
|
properties.provisioningState
|
ProvisioningState
|
私人端點聯機資源的布建狀態。
|
type
|
string
|
資源類型。
|
PrivateEndpointIPConfiguration
Object
私人端點的IP組態。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
name
|
string
|
資源群組內唯一的資源名稱。
|
properties.groupId
|
string
|
從此私人端點應該連線到之遠端資源的群組標識碼。
|
properties.memberName
|
string
|
從此私人端點應該連線到之遠端資源取得之群組的成員名稱。
|
properties.privateIPAddress
|
string
|
從私人端點子網取得的私人IP位址。
|
type
|
string
|
資源類型。
|
PrivateLinkService
Object
私人鏈接服務資源。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
extendedLocation
|
ExtendedLocation
|
負載平衡器的擴充位置。
|
id
|
string
|
資源標識碼。
|
location
|
string
|
資源位置。
|
name
|
string
|
資源名稱。
|
properties.alias
|
string
|
私人鏈接服務的別名。
|
properties.autoApproval
|
AutoApproval
|
私人連結服務的自動核准清單。
|
properties.destinationIPAddress
|
string
|
私人鏈接服務的目的地IP位址。
|
properties.enableProxyProtocol
|
boolean
|
是否啟用 Proxy 通訊協定的私人連結服務。
|
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 資源。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
name
|
string
|
資源群組內唯一的資源名稱。 此名稱可用來存取資源。
|
properties.groupIds
|
string[]
|
從這個私人端點應該連線到之遠端資源取得之群組的標識碼。。
|
properties.privateLinkServiceConnectionState
|
PrivateLinkServiceConnectionState
|
遠端資源連線狀態的唯讀資訊集合。
|
properties.privateLinkServiceId
|
string
|
私人鏈接服務的資源識別碼。
|
properties.provisioningState
|
ProvisioningState
|
私人鏈接服務連線資源的布建狀態。
|
properties.requestMessage
|
string
|
傳遞至具有此連線要求之遠端資源擁有者的訊息。 限制為140個字元。
|
type
|
string
|
資源類型。
|
PrivateLinkServiceConnectionState
Object
服務取用者與提供者之間連線狀態的相關信息集合。
名稱 |
類型 |
Description |
actionsRequired
|
string
|
訊息,指出服務提供者上的變更是否需要取用者的任何更新。
|
description
|
string
|
核准/拒絕連線的原因。
|
status
|
string
|
指出服務擁有者是否已核准/拒絕/移除連線。
|
PrivateLinkServiceIpConfiguration
Object
私人鏈接服務IP組態。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
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
負載平衡器探查。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
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 OK 回應,才能成功探查。
|
properties.provisioningState
|
ProvisioningState
|
探查資源的布建狀態。
|
properties.requestPath
|
string
|
用來向 VM 要求健康狀態的 URI。 如果通訊協定設定為 HTTP,則需要路徑。 否則,不允許它。 沒有預設值。
|
type
|
string
|
資源的類型。
|
ProbeNoHealthyBackendsBehavior
Enumeration
決定當所有後端實例被探查關閉時,負載平衡器如何處理新的連線。
值 |
Description |
AllProbedDown
|
不會將任何新的流程傳送至後端集區。
|
AllProbedUp
|
當所有後端實例都探查關閉時,傳入封包將會傳送至所有實例。
|
ProbeProtocol
Enumeration
端點的通訊協定。 如果指定了 『Tcp』,則需要接收的 ACK,才能成功探查。 如果指定了 'Http' 或 'Https',則需要來自 指定 URI 的 200 OK 回應,才能成功探查。
值 |
Description |
Http
|
|
Https
|
|
Tcp
|
|
ProvisioningState
Enumeration
目前的布建狀態。
值 |
Description |
Deleting
|
|
Failed
|
|
Succeeded
|
|
Updating
|
|
PublicIPAddress
Object
公用IP位址資源。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
extendedLocation
|
ExtendedLocation
|
公用IP位址的擴充位置。
|
id
|
string
|
資源標識碼。
|
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。
名稱 |
類型 |
Description |
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 中的哈希值。
值 |
Description |
NoReuse
|
|
ResourceGroupReuse
|
|
SubscriptionReuse
|
|
TenantReuse
|
|
PublicIPAddressMigrationPhase
Enumeration
公用IP位址的移轉階段。
值 |
Description |
Abort
|
|
Commit
|
|
Committed
|
|
None
|
|
Prepare
|
|
PublicIPAddressSku
Object
公用IP位址的SKU。
PublicIPAddressSkuName
Enumeration
公用IP位址 SKU 的名稱。
值 |
Description |
Basic
|
|
Standard
|
|
PublicIPAddressSkuTier
Enumeration
公用IP位址SKU的階層。
值 |
Description |
Global
|
|
Regional
|
|
ResourceIdentityType
Enumeration
用於資源的身分識別類型。 類型 'SystemAssigned, UserAssigned' 包含隱含建立的身分識別和一組使用者指派的身分識別。 類型 『None』 會從虛擬機中移除任何身分識別。
值 |
Description |
None
|
|
SystemAssigned
|
|
SystemAssigned, UserAssigned
|
|
UserAssigned
|
|
ResourceNavigationLink
Object
ResourceNavigationLink 資源。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源瀏覽連結標識碼。
|
name
|
string
|
資源群組內唯一的資源名稱。 此名稱可用來存取資源。
|
properties.link
|
string
|
連結至外部資源。
|
properties.linkedResourceType
|
string
|
鏈接資源的資源類型。
|
properties.provisioningState
|
ProvisioningState
|
資源導覽鏈接資源的布建狀態。
|
type
|
string
|
資源類型。
|
RetentionPolicyParameters
Object
定義流量記錄保留原則的參數。
名稱 |
類型 |
預設值 |
Description |
days
|
integer
|
0
|
保留流量記錄檔記錄的天數。
|
enabled
|
boolean
|
False
|
啟用/停用保留的旗標。
|
Route
Object
路由資源。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
name
|
string
|
資源群組內唯一的資源名稱。 此名稱可用來存取資源。
|
properties.addressPrefix
|
string
|
路由套用目的地 CIDR。
|
properties.hasBgpOverride
|
boolean
|
值,指出無論 LPM 為何,此路由是否覆寫重疊的 BGP 路由。
|
properties.nextHopIpAddress
|
string
|
IP 位址封包應該轉送至 。 下一個躍點值只能在下一個躍點類型為 VirtualAppliance 的路由中允許。
|
properties.nextHopType
|
RouteNextHopType
|
封包應傳送至的 Azure 躍點類型。
|
properties.provisioningState
|
ProvisioningState
|
路由資源的布建狀態。
|
type
|
string
|
資源的型別。
|
RouteNextHopType
Enumeration
封包應傳送至的 Azure 躍點類型。
值 |
Description |
Internet
|
|
None
|
|
VirtualAppliance
|
|
VirtualNetworkGateway
|
|
VnetLocal
|
|
RouteTable
Object
路由表資源。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
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
網路安全性規則。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
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
規則的方向。 方向會指定規則是否會在傳入或傳出流量上進行評估。
值 |
Description |
Inbound
|
|
Outbound
|
|
SecurityRuleProtocol
Enumeration
此規則適用的網路協定。
值 |
Description |
*
|
|
Ah
|
|
Esp
|
|
Icmp
|
|
Tcp
|
|
Udp
|
|
ServiceAssociationLink
Object
ServiceAssociationLink 資源。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
name
|
string
|
資源群組內唯一的資源名稱。 此名稱可用來存取資源。
|
properties.allowDelete
|
boolean
|
如果為 true,則可以刪除資源。
|
properties.link
|
string
|
連結至外部資源。
|
properties.linkedResourceType
|
string
|
鏈接資源的資源類型。
|
properties.locations
|
string[]
|
位置清單。
|
properties.provisioningState
|
ProvisioningState
|
服務關聯鏈接資源的布建狀態。
|
type
|
string
|
資源類型。
|
ServiceEndpointPolicy
Object
服務端點原則資源。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
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
服務端點原則定義。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
name
|
string
|
資源群組內唯一的資源名稱。 此名稱可用來存取資源。
|
properties.description
|
string
|
此規則的描述。 限制為140個字元。
|
properties.provisioningState
|
ProvisioningState
|
服務端點原則定義資源的布建狀態。
|
properties.service
|
string
|
服務端點名稱。
|
properties.serviceResources
|
string[]
|
服務資源清單。
|
type
|
string
|
資源的型別。
|
Object
服務端點屬性。
名稱 |
類型 |
Description |
locations
|
string[]
|
位置清單。
|
networkIdentifier
|
SubResource
|
SubResource 作為網路標識符。
|
provisioningState
|
ProvisioningState
|
服務端點資源的布建狀態。
|
service
|
string
|
端點服務的型別。
|
SharingScope
Enumeration
將此屬性設定為 Tenant,以允許與 AAD 租使用者中的其他訂用帳戶共用子網。 只有當 defaultOutboundAccess 設定為 false 時,才能設定此屬性,只有在子網是空的時,才能設定這兩個屬性。
值 |
Description |
DelegatedServices
|
|
Tenant
|
|
Subnet
Object
虛擬網路資源中的子網。
SubResource
Object
另一個子資源的參考。
名稱 |
類型 |
Description |
id
|
string
|
資源標識碼。
|
SyncMode
Enumeration
後端集區的後端位址同步模式
值 |
Description |
Automatic
|
|
Manual
|
|
TrafficAnalyticsConfigurationProperties
Object
定義使用分析組態的參數。
名稱 |
類型 |
Description |
enabled
|
boolean
|
啟用/停用使用分析的旗標。
|
trafficAnalyticsInterval
|
integer
|
以分鐘為單位的間隔,決定TA服務應該執行流程分析的頻率。
|
workspaceId
|
string
|
附加工作區的資源 GUID。
|
workspaceRegion
|
string
|
附加工作區的位置。
|
workspaceResourceId
|
string
|
附加工作區的資源標識碼。
|
TrafficAnalyticsProperties
Object
定義使用分析組態的參數。
TransportProtocol
Enumeration
端點的傳輸通訊協定。
值 |
Description |
All
|
|
Tcp
|
|
Udp
|
|
UserAssignedIdentities
Object
與資源相關聯的使用者身分識別清單。 使用者身分識別字典索引鍵參考的格式為 ARM 資源標識符:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。
VirtualNetworkPrivateEndpointNetworkPolicies
Enumeration
在子網的私人端點上啟用或停用套用網路原則。
值 |
Description |
Disabled
|
|
Enabled
|
|
NetworkSecurityGroupEnabled
|
|
RouteTableEnabled
|
|
VirtualNetworkPrivateLinkServiceNetworkPolicies
Enumeration
在子網中的私人連結服務上啟用或停用套用網路原則。
值 |
Description |
Disabled
|
|
Enabled
|
|
VirtualNetworkTap
Object
虛擬網路點選資源。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
location
|
string
|
資源位置。
|
name
|
string
|
資源名稱。
|
properties.destinationLoadBalancerFrontEndIPConfiguration
|
FrontendIPConfiguration
|
將接收點選的內部 Load Balancer 上私人 IP 位址的參考。
|
properties.destinationNetworkInterfaceIPConfiguration
|
NetworkInterfaceIPConfiguration
|
將接收點選之收集器 nic 之私人 IP 位址的參考。
|
properties.destinationPort
|
integer
|
將接收點選流量的 VXLAN 目的地埠。
|
properties.networkInterfaceTapConfigurations
|
NetworkInterfaceTapConfiguration[]
|
指定需要點選之網路介面IP組態的資源標識碼清單。
|
properties.provisioningState
|
ProvisioningState
|
虛擬網路點選資源的布建狀態。
|
properties.resourceGuid
|
string
|
虛擬網路點選資源的資源 GUID 屬性。
|
tags
|
object
|
資源標籤。
|
type
|
string
|
資源類型。
|
Visibility
Object
私人連結服務的可見度清單。
名稱 |
類型 |
Description |
subscriptions
|
string[]
|
訂用帳戶清單。
|