Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ stages:
removeDeployment: '${{ parameters.removeDeployment }}'
deploymentBlocks:
- path: $(modulePath)/.parameters/parameters.json
- path: $(modulePath)/.parameters/min.parameters.json

- stage: Publishing
displayName: Publish module
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ms.network.loadbalancers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ jobs:
strategy:
fail-fast: false
matrix:
parameterFilePaths: ['parameters.json']
parameterFilePaths: ['min.parameters.json', 'parameters.json']
steps:
- name: 'Checkout'
uses: actions/checkout@v2
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"value": "sxx-az-lb-min-001"
},
"frontendIPConfigurations": {
"value": [
{
"name": "publicIPConfig1",
"publicIPAddressId": "/subscriptions/<<subscriptionId>>/resourceGroups/validation-rg/providers/Microsoft.Network/publicIPAddresses/adp-sxx-az-pip-x-lb",
"subnetId": "",
"privateIPAddress": ""
}
]
}
}
}
99 changes: 70 additions & 29 deletions arm/Microsoft.Network/loadBalancers/.parameters/parameters.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,53 +8,94 @@
"frontendIPConfigurations": {
"value": [
{
"name": "publicIPConfig",
"properties": {
"publicIPAddressId": "/subscriptions/<<subscriptionId>>/resourceGroups/validation-rg/providers/Microsoft.Network/publicIPAddresses/adp-sxx-az-pip-x-lb",
"subnetId": "",
"privateIPAddress": ""
}
"name": "publicIPConfig1",
"publicIPAddressId": "/subscriptions/<<subscriptionId>>/resourceGroups/validation-rg/providers/Microsoft.Network/publicIPAddresses/adp-sxx-az-pip-x-lb",
"subnetId": "",
"privateIPAddress": ""
}
]
},
"backendAddressPools": {
"value": [
{
"name": "backendAddressPool"
"name": "backendAddressPool1"
},
{
"name": "backendAddressPool2"
}
]
},
"loadBalancingRules": {
"value": [
{
"name": "publicIPLBRule",
"properties": {
"frontendIPConfigurationName": "publicIPConfig",
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": false,
"idleTimeoutInMinutes": 5,
"protocol": "TCP",
"enableTcpReset": false,
"loadDistribution": "Default",
"disableOutboundSnat": false,
"probeName": "probe",
"backendAddressPoolName": "backendAddressPool"
}
"name": "publicIPLBRule1",
"frontendIPConfigurationName": "publicIPConfig1",
"frontendPort": 80,
"backendPort": 80,
"enableFloatingIP": false,
"idleTimeoutInMinutes": 5,
"protocol": "Tcp",
"enableTcpReset": false,
"loadDistribution": "Default",
"disableOutboundSnat": true,
"probeName": "probe1",
"backendAddressPoolName": "backendAddressPool1"
},
{
"name": "publicIPLBRule2",
"frontendIPConfigurationName": "publicIPConfig1",
"frontendPort": 8080,
"backendPort": 8080,
"loadDistribution": "Default",
"probeName": "probe2",
"backendAddressPoolName": "backendAddressPool2"
}
]
},
"inboundNatRules": {
"value": [
{
"name": "inboundNatRule1",
"frontendIPConfigurationName": "publicIPConfig1",
"frontendPort": 443,
"backendPort": 443,
"enableFloatingIP": false,
"idleTimeoutInMinutes": 4,
"protocol": "Tcp",
"enableTcpReset": false
},
{
"name": "inboundNatRule2",
"frontendIPConfigurationName": "publicIPConfig1",
"frontendPort": 3389,
"backendPort": 3389
}
]
},
"outboundRules": {
"value": [
{
"name": "outboundRule1",
"frontendIPConfigurationName": "publicIPConfig1",
"backendAddressPoolName": "backendAddressPool1",
"allocatedOutboundPorts": 63984
}
]
},
"probes": {
"value": [
{
"name": "probe",
"properties": {
"protocol": "TCP",
"port": 80,
"requestPath": "/",
"intervalInSeconds": 10,
"numberOfProbes": 5
}
"name": "probe1",
"protocol": "Tcp",
"port": 80,
"intervalInSeconds": 10,
"numberOfProbes": 5
},
{
"name": "probe2",
"protocol": "Https",
"port": 443,
"requestPath": "/"
}
]
},
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
@description('Required. The name of the parent load balancer')
param loadBalancerName string

@description('Required. The name of the backend address pool')
param name string

@description('Optional. An array of backend addresses.')
param loadBalancerBackendAddresses array = []

@description('Optional. An array of gateway load balancer tunnel interfaces.')
param tunnelInterfaces array = []

@description('Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered')
param cuaId string = ''

module pid_cuaId '.bicep/nested_cuaId.bicep' = if (!empty(cuaId)) {
name: 'pid-${cuaId}'
params: {}
}

resource loadBalancer 'Microsoft.Network/loadBalancers@2021-02-01' existing = {
name: loadBalancerName
}

resource backendAddressPool 'Microsoft.Network/loadBalancers/backendAddressPools@2021-05-01' = {
name: name
properties: {
loadBalancerBackendAddresses: loadBalancerBackendAddresses
tunnelInterfaces: tunnelInterfaces
}
parent: loadBalancer
}

@description('The name of the backend address pool')
output inboundNatRuleName string = backendAddressPool.name

@description('The resource ID of the backend address pool')
output inboundNatRuleResourceId string = backendAddressPool.id

@description('The resource group the backend address pool was deployed into')
output inboundNatRuleResourceGroupName string = resourceGroup().name
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Load Balancers Backend Address Pools `[Microsoft.Network/loadBalancers/backendAddressPools]`

This module deploys load balancer backend address pools.

## Resource Types

| Resource Type | API Version |
| :-- | :-- |
| `Microsoft.Network/loadBalancers/backendAddressPools` | 2021-05-01 |

## Parameters

| Parameter Name | Type | Default Value | Possible Values | Description |
| :-- | :-- | :-- | :-- | :-- |
| `cuaId` | string | | | Optional. Customer Usage Attribution ID (GUID). This GUID must be previously registered |
| `loadBalancerBackendAddresses` | array | `[]` | | Optional. An array of backend addresses. |
| `loadBalancerName` | string | | | Required. The name of the parent load balancer |
| `name` | string | | | Required. The name of the backend address pool |
| `tunnelInterfaces` | array | `[]` | | Optional. An array of gateway load balancer tunnel interfaces. |

## Outputs

| Output Name | Type | Description |
| :-- | :-- | :-- |
| `inboundNatRuleName` | string | The name of the backend address pool |
| `inboundNatRuleResourceGroupName` | string | The resource group the backend address pool was deployed into |
| `inboundNatRuleResourceId` | string | The resource ID of the backend address pool |

## Template references

- [Loadbalancers/Backendaddresspools](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Network/loadBalancers/backendAddressPools)
Loading