azLoadBalancer

Use the resource azLoadBalancer to deploy an Azure Load Balancer to the relevant subscription.

Attributes

Attribute Type Mandatory Values Default Notes
Name String Yes
ResourceGroupName String Yes
Location String Yes
Sku String No Basic Basic
Standard
Gateway
Type String No Internal, Public Internal
Tier String No Regional, Global Regional
FrontEndIPConfig Object No
BackEndPool Object No
HealthProbe Object No
ConfigRule Object No
Tag Object No
Lock Object No

FrontEndIPConfig

Attribute Type Mandatory Values Default Notes
Name String Yes
PublicIP Object No

PublicIP

Attribute Type Mandatory Values Default Notes
Name String Yes
VNetName String No Defaults to RG of resource

BackEndPool

Attribute Type Mandatory Values Default Notes
Name String Yes

HealthProbe

Attribute Type Mandatory Values Default Notes
Name String Yes
Protocol String Yes tcp, http, https
Port Number Yes
IntervalInSeconds Number Yes
ProbeCount Number Yes
ProbeThreshold String No
RequestPath String No Mandatory for protocols http, https

Input by YAML

Object model for YAML deployment:

azLoadBalancer:
    # Mandatory
  - Name: 'string'
    ResourceGroupName: 'string'    
    Location: 'string'
    # Optional
    Sku: 'string'                                       # Basic (D), Standard, Gateway
    Type: 'string'                                      # Internal (D), Public
    Tier: 'string'                                      # Regional (D), Global
    Tag: 
      'keyvalue-pairs'
    Lock:
      - Name: 'string'
        Level: 'string'                                 # CanNotDelete, ReadOnly
        Notes: 'string'
    FrontEndIPConfig:
      - Name: 'string'
        PublicIp:
          Name: 'string'
          VNetName: 'string'
    BackEndPool:
      - Name: 'string'                                       
    HealthProbe:
        # Mandatory
      - Name: 'string'
        Protocol: 'string'
        Port: number
        IntervalInSeconds: number
        ProbeCount: number
        # Optional
        ProbeThreshold: number
        RequestPath: 'string'
      - Name: 'string'
        Protocol: 'string'
        Port: number
        IntervalInSeconds: number
        ProbeCount: number
        ProbeThreshold: number
        RequestPath: 'string'
    InboundNATRule:
      - Name: 'string'
        Protocol: 'string'
        FrontEndPort: number
        BackEndPort: number
        IdleTimeoutInMinutes: number
        FloatingIP: boolean                             # True, False
        EnableTcpReset: boolean                         # True, False
        FrontendIpConfiguration: 'string'
        FrontendPortRangeStart:
        FrontendPortRangeEnd:
        BackendAddressPool:
    ConfigRule:
      - Name: 'string'
        BackendAddressPool:
        Probe:
        Protocol:
        FrontEndPort: number
        BackEndPort: number
        IdleTimeoutInMinutes: number
        FloatingIP: boolean                             # True, False
        LoadDistribution:

Input by JSON

Object model for JSON deployment:

{
  "azLoadBalancer": [
    {
      "Name": "string",
      "ResourceGroupName": "string",
      "Location": "string",
      "Sku": "string",
      "SkuCapacity": number,
      "RetentionInDays": number,
      "Network": [
        {
          "PublicAccessIngestion": boolean,
          "PublicAccessQuery": boolean
        }
      ]
      "Tag": {
        "key": "string"
      },
      "Lock": [
        {
          "Name": "string",
          "Level": "string",
          "Notes": "string"
        }
      ]
    }
  ]
}