Bicep Module Documentation
| Property | Value | Description |
|---|---|---|
| general (required) | general | |
| addressPrefixes (required) | string[] | AddressPrefixes of the virtual network [array of CIDR notations] |
| dnsServers | string[] | DNS Servers of the virtual network (default: Azure DNS) [array of CIDR notations] |
| subnets | subnet[] | Subnets contained in the virtual network [Array of subnet objects] |
| ddosProtectionPlanId | string | DDoS protection plan associated with this virtual network [ResourceId] |
| bgpCommunity | string | BGP Community associated with this virtual network [xxxxx:xxxxx] |
| routeTableNaming | naming | Override the name of the route table associated to the subnets in the virtual network |
| routes | route[] | The default routes to be associated to all subnets which do not have a specific route table |
| disableBgpRoutePropagation | bool | Whether to disable the routes learned by BGP on the VNet route table |
| peerings | peerings[] | List of peerings, |
| Property | Value | Description |
|---|---|---|
| remoteVirtualNetworkId (required) | string | Resource id of the remote virtual network ID |
| remoteFullName | string | Override the name of the peering from the local to the remote virtual network |
| remoteAllowVirtualNetworkAccess | bool | Allow VMs in the remote virtual network to access VMs in the local virtual network (default: true) |
| remoteAllowForwardedTraffic | bool | Allow forwarded traffic from VMs in the local virtual network into the remote virtual network (default: false) |
| remoteAllowGatewayTransit | bool | Allow the local virtual network to use the VPN gateway in the remote virtual network (default: false) |
| remoteUseRemoteGateways | bool | Allow the remote virtual network to use the VPN gateway in the local virtual network (default: false) |
| remoteBGPCommunity | string | BGP Community associated with the virtual network [xxxxx:xxxxx] |
| localFullName | string | Override the name of the peering from the remote to the local virtual network |
| localAllowVirtualNetworkAccess | bool | Allow VMs in the local virtual network to access VMs in the remote virtual network (default: true) |
| localAllowForwardedTraffic | bool | Allow forwarded traffic from VMs in the remote virtual network into the local virtual network (default: true) |
| localAllowGatewayTransit | bool | Allow the remote virtual network to use the VPN gateway in the local network (default: false) |
| localUseRemoteGateways | bool | Allow the local virtual network to use the VPN gateway in the remote virtual network (default: false) |
| localBGPCommunity | string | BGP Community associated with the virtual network [xxxxx:xxxxx] |
| Property | Value | Description |
|---|---|---|
| naming (required) | naming | |
| disableNetworkSecurityGroupDefaultRules | bool | Disable the default networking rules (default: false) |
| networkSecurityGroupNaming | naming | Override the name of the network security group associated to this subnet |
| disableNetworkSecurityGroup | bool | Disable network security group deployment |
| securityRules | securityRule[] | The network security group rules to be associated with this subnet which overrides the default setting |
| bastionSubnetPrefix | string | Enable the bastion networking rules and allow traffic from bastion subnet (default: false) |
| enableApplicationGatewayIngressRules | bool | Enable the application gateway networking rules and allow traffic from external on 443 and 80 (default: false) |
| routeTableNaming | naming | Override the name of the route table associated to this subnet |
| routes | route[] | The routes to be associated with this subnet which overrides the default setting |
| addressPrefix (required) | string | AddressPrefix of the subnet [CIDR notation] |
| delegation | string | Delegation to enable for the subnet (for example: "Microsoft.Sql/managedInstances") [Namespace & resource type] |
| serviceEndpoints | serviceEndpoint[] | Service endpoints to enable for the subnet [Array of service endpoint objects] |
| serviceEndpointPolicyIds | string[] | Service endpoints policies to assign to the subnet [Array of ResourceIds] |
| networkSecurityGroupId | string | Network Security Group to assign to subnet [ResourceId] |
| natGatewayId | string | NAT Gateway to assign to subnet [ResourceId] |
| routeTableId | string | Route table to assign to subnet [ResourceId] |
| privateEndpointNetworkPolicies | bool | Apply network policies on private endpoint for the subnet (default: Enabled) |
| privateLinkServiceNetworkPolicies | bool | Apply network polcies on private link service for the subnet (default: Enabled) |
| disableBgpRoutePropagation | bool | Whether to disable the routes learned by BGP on that route table |
| defaultOutboundAccess | bool | Whether to disable subnet default outbound access or not (disabled = private subnet) |
| Property | Value | Description |
|---|---|---|
| namespace (required) | string | Namespace where for which to enable a service endpoint (for example: "Microsoft.Storage") [Namespace] |
| location | string[] | Location where the service endpoint is active (default: *) [Array of locations] |
| Property | Value | Description |
|---|---|---|
| sharedNaming (required) | naming | The shared naming |
| hubFullName | string | Override the name of the peering from the local to the remote virtual network |
| hubVirtualNetworkId (required) | string | ResourceId of the hub virtual network |
| hubAllowVirtualNetworkAccess | bool | Allow VMs in the hub virtual network to access VMs in the spoke virtual network (default: true) |
| hubAllowForwardedTraffic | bool | Allow forwarded traffic from VMs in the spoke virtual network into the hub virtual network (default: false) |
| hubAllowGatewayTransit | bool | Allow the spoke virtual network to use the VPN gateway in the hub virtual network (default: false) |
| hubUseRemoteGateways | bool | Allow the hub virtual network to use the VPN gateway in the spoke virtual network (default: false) |
| hubBGPCommunity | string | BGP Community associated with the virtual network [xxxxx:xxxxx] |
| spokeFullName | string | Override the name of the peering from the remote to the local virtual network |
| spokeVirtualNetworkId (required) | string | ResourceId of the spoke virtual network |
| spokeAllowVirtualNetworkAccess | bool | Allow VMs in the spoke virtual network to access VMs in the hub virtual network (default: true) |
| spokeAllowForwardedTraffic | bool | Allow forwarded traffic from VMs in the hub virtual network into the spoke virtual network (default: true) |
| spokeAllowGatewayTransit | bool | Allow the hub virtual network to use the VPN gateway in the spoke network (default: false) |
| spokeUseRemoteGateways | bool | Allow the spoke virtual network to use the VPN gateway in the hub virtual network (default: false) |
| spokeBGPCommunity | string | BGP Community associated with the virtual network [xxxxx:xxxxx] |
| Property | Value | Description |
|---|---|---|
| name | string | Character limit: 1-90. Valid characters: Alphanumerics, periods, underscores, hyphens, and parenthesis. Can't end in period. |
| level (required) | 'CanNotDelete' 'ReadOnly' |
The level of the lock. Possible values are: CanNotDelete and ReadOnly. CanNotDelete means authorized users are able to read and modify the resources, but not delete. ReadOnly means authorized users can only read from a resource, but they can't modify or delete it. Read-Only locks must be commented to be able to deploy again |
| notes | string | Notes about the lock. Maximum of 512 characters. |
| owners | resourceLockOwner[] | The owners of the lock |
| Property | Value | Description |
|---|---|---|
| applicationId (required) | string | The application ID of the lock owner. |
| Property | Value | Description |
|---|---|---|
| principalId (required) | string | The principal ID |
| roleDefinitionId (required) | string | The role definition ID, data file can be used for this |
| condition | string | Condition on the role assignment |
| conditionVersion | string | Version of the condition. Currently the only accepted value is "2.0" |
| delegatedManagedIdentityResourceId | string | Id of the delegated managed identity resource |
| description | string | Description of role assignment |
| Property | Value | Description |
|---|---|---|
| tags | object | Tags of the resource [hashtable] |
| location (required) | string | Location of the resource |
| naming (required) | naming | Naming module of the resource |
| resourceGroupName (required) | string | Name of the resource group where the resource should be located |
| sharedNaming (required) | naming | Reference to the default naming |
| roleAssignments | roleAssignment[] | Role assignments on the resource |
| resourceLocks | resourceLock[] | Resource Locks on the resource |
| Property | Value | Description |
|---|---|---|
| forceFunctionAsFullName | bool | Use the function value as the full name of the resource |
| abbreviation | string | Override the abbreviation of this resource with this parameter |
| environment | string | The resource environment (for example: dev, tst, acc, prd) |
| location | string | The resource location (for example: weu, we, westeurope) |
| customer | string | The name of the customer |
| delimiter | string | The delimiter between resources (default: -) |
| nameFormat | Array containing any of: 'abbreviation' 'customer' 'environment' 'function' 'location' 'param1' 'param2' 'param3' 'useCaseName' |
The order of the array defines the order of elements in the naming scheme |
| param1 | string | Extra parameter self defined |
| param2 | string | Extra parameter self defined |
| param3 | string | Extra parameter self defined |
| function (required) | string | Function of the resource [can be app, db, security,...] |
| useCaseName | string | Name of the use case [can be hub, spoke,...] |
| suffix | string | Suffix for the resource, if empty non will be appended, otherwise will be added to the end [can be index, ...] |
| forceDefaultNaming | bool | Force the CAF naming instead of default company naming |
| Property | Value | Description |
|---|---|---|
| naming (required) | naming | |
| addressPrefix (required) | string | AddressPrefix of the route table, [CIDR notation |
| nextHopType (required) | 'Internet' 'None' 'VirtualAppliance' 'VirtualNetworkGateway' 'VnetLocal' |
The next hop type of the route table |
| nextHopIpAddress | string | The next hop IP of the route table only allowed when using "VirtualAppliance" as next hop type |
| Property | Value | Description |
|---|---|---|
| naming (required) | naming | |
| priority | int | The priority of the rule, the priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule (default: 1000+index of rule) [integer 100-4096] |
| direction (required) | 'Inbound' 'Outbound' |
The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic |
| access | 'Allow' 'Deny' |
The network traffic is allowed or denied (default: Allow) |
| protocol | '*' 'Ah' 'Esp' 'Icmp' 'Tcp' 'Udp' |
Network protocol this rule applies to (default: *) |
| sourceAddressPrefix | string | The source IP range (default: Any) [CIDR notation |
| sourceAddressPrefixes | string[] | The source IP ranges [Array of CIDR notations] |
| sourceApplicationSecurityGroups | string[] | The array of application security groups specified as source [Array of ResourceIds] |
| sourcePortRange | string | The source port range (default: Any) [string 0-65535] |
| sourcePortRanges | string[] | The source port ranges [array of strings 0-65535] |
| destinationAddressPrefix | string | The destination IP range (default: Any) [CIDR notation |
| destinationAddressPrefixes | string[] | The destination IP ranges [Array of CIDR notations or ServiceTags] |
| destinationApplicationSecurityGroups | string[] | The array of application security groups specified as destination [Array of ResourceIds] |
| destinationPortRange | string | The destination port range (default: Any) [string 0-65535] |
| destinationPortRanges | string[] | The destination port ranges [array of strings 0-65535] |