Microsoft.Network privateLinkServices
- Latest
- 2024-03-01
- 2024-01-01
- 2023-11-01
- 2023-09-01
- 2023-06-01
- 2023-05-01
- 2023-04-01
- 2023-02-01
- 2022-11-01
- 2022-09-01
- 2022-07-01
- 2022-05-01
- 2022-01-01
- 2021-08-01
- 2021-05-01
- 2021-03-01
- 2021-02-01
- 2020-11-01
- 2020-08-01
- 2020-07-01
- 2020-06-01
- 2020-05-01
- 2020-04-01
- 2020-03-01
- 2019-12-01
- 2019-11-01
- 2019-09-01
- 2019-08-01
- 2019-07-01
- 2019-06-01
- 2019-04-01
Bicep resource definition
The privateLinkServices resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Network/privateLinkServices resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.Network/privateLinkServices@2024-03-01' = {
extendedLocation: {
name: 'string'
type: 'string'
}
location: 'string'
name: 'string'
properties: {
autoApproval: {
subscriptions: [
'string'
]
}
destinationIPAddress: 'string'
enableProxyProtocol: bool
fqdns: [
'string'
]
ipConfigurations: [
{
id: 'string'
name: 'string'
properties: {
primary: bool
privateIPAddress: 'string'
privateIPAddressVersion: 'string'
privateIPAllocationMethod: 'string'
subnet: {
id: 'string'
name: 'string'
properties: {
addressPrefix: 'string'
addressPrefixes: [
'string'
]
applicationGatewayIPConfigurations: [
{
id: 'string'
name: 'string'
properties: {
subnet: {
id: 'string'
}
}
}
]
defaultOutboundAccess: bool
delegations: [
{
id: 'string'
name: 'string'
properties: {
serviceName: 'string'
}
type: 'string'
}
]
ipAllocations: [
{
id: 'string'
}
]
natGateway: {
id: 'string'
}
networkSecurityGroup: {
id: 'string'
location: 'string'
properties: {
flushConnection: bool
securityRules: [
{
id: 'string'
name: 'string'
properties: {
access: 'string'
description: 'string'
destinationAddressPrefix: 'string'
destinationAddressPrefixes: [
'string'
]
destinationApplicationSecurityGroups: [
{
id: 'string'
location: 'string'
properties: {}
tags: {
{customized property}: 'string'
}
}
]
destinationPortRange: 'string'
destinationPortRanges: [
'string'
]
direction: 'string'
priority: int
protocol: 'string'
sourceAddressPrefix: 'string'
sourceAddressPrefixes: [
'string'
]
sourceApplicationSecurityGroups: [
{
id: 'string'
location: 'string'
properties: {}
tags: {
{customized property}: 'string'
}
}
]
sourcePortRange: 'string'
sourcePortRanges: [
'string'
]
}
type: 'string'
}
]
}
tags: {
{customized property}: 'string'
}
}
privateEndpointNetworkPolicies: 'string'
privateLinkServiceNetworkPolicies: 'string'
routeTable: {
id: 'string'
location: 'string'
properties: {
disableBgpRoutePropagation: bool
routes: [
{
id: 'string'
name: 'string'
properties: {
addressPrefix: 'string'
nextHopIpAddress: 'string'
nextHopType: 'string'
}
type: 'string'
}
]
}
tags: {
{customized property}: 'string'
}
}
serviceEndpointPolicies: [
{
id: 'string'
location: 'string'
properties: {
contextualServiceEndpointPolicies: [
'string'
]
serviceAlias: 'string'
serviceEndpointPolicyDefinitions: [
{
id: 'string'
name: 'string'
properties: {
description: 'string'
service: 'string'
serviceResources: [
'string'
]
}
type: 'string'
}
]
}
tags: {
{customized property}: 'string'
}
}
]
serviceEndpoints: [
{
locations: [
'string'
]
networkIdentifier: {
id: 'string'
}
service: 'string'
}
]
sharingScope: 'string'
}
type: 'string'
}
}
}
]
loadBalancerFrontendIpConfigurations: [
{
id: 'string'
name: 'string'
properties: {
gatewayLoadBalancer: {
id: 'string'
}
privateIPAddress: 'string'
privateIPAddressVersion: 'string'
privateIPAllocationMethod: 'string'
publicIPAddress: {
extendedLocation: {
name: 'string'
type: 'string'
}
id: 'string'
location: 'string'
properties: {
ddosSettings: {
ddosProtectionPlan: {
id: 'string'
}
protectionMode: 'string'
}
deleteOption: 'string'
dnsSettings: {
domainNameLabel: 'string'
domainNameLabelScope: 'string'
fqdn: 'string'
reverseFqdn: 'string'
}
idleTimeoutInMinutes: int
ipAddress: 'string'
ipTags: [
{
ipTagType: 'string'
tag: 'string'
}
]
linkedPublicIPAddress: ...
migrationPhase: 'string'
natGateway: {
id: 'string'
location: 'string'
properties: {
idleTimeoutInMinutes: int
publicIpAddresses: [
{
id: 'string'
}
]
publicIpPrefixes: [
{
id: 'string'
}
]
}
sku: {
name: 'string'
}
tags: {
{customized property}: 'string'
}
zones: [
'string'
]
}
publicIPAddressVersion: 'string'
publicIPAllocationMethod: 'string'
publicIPPrefix: {
id: 'string'
}
servicePublicIPAddress: ...
}
sku: {
name: 'string'
tier: 'string'
}
tags: {
{customized property}: 'string'
}
zones: [
'string'
]
}
publicIPPrefix: {
id: 'string'
}
subnet: {
id: 'string'
name: 'string'
properties: {
addressPrefix: 'string'
addressPrefixes: [
'string'
]
applicationGatewayIPConfigurations: [
{
id: 'string'
name: 'string'
properties: {
subnet: {
id: 'string'
}
}
}
]
defaultOutboundAccess: bool
delegations: [
{
id: 'string'
name: 'string'
properties: {
serviceName: 'string'
}
type: 'string'
}
]
ipAllocations: [
{
id: 'string'
}
]
natGateway: {
id: 'string'
}
networkSecurityGroup: {
id: 'string'
location: 'string'
properties: {
flushConnection: bool
securityRules: [
{
id: 'string'
name: 'string'
properties: {
access: 'string'
description: 'string'
destinationAddressPrefix: 'string'
destinationAddressPrefixes: [
'string'
]
destinationApplicationSecurityGroups: [
{
id: 'string'
location: 'string'
properties: {}
tags: {
{customized property}: 'string'
}
}
]
destinationPortRange: 'string'
destinationPortRanges: [
'string'
]
direction: 'string'
priority: int
protocol: 'string'
sourceAddressPrefix: 'string'
sourceAddressPrefixes: [
'string'
]
sourceApplicationSecurityGroups: [
{
id: 'string'
location: 'string'
properties: {}
tags: {
{customized property}: 'string'
}
}
]
sourcePortRange: 'string'
sourcePortRanges: [
'string'
]
}
type: 'string'
}
]
}
tags: {
{customized property}: 'string'
}
}
privateEndpointNetworkPolicies: 'string'
privateLinkServiceNetworkPolicies: 'string'
routeTable: {
id: 'string'
location: 'string'
properties: {
disableBgpRoutePropagation: bool
routes: [
{
id: 'string'
name: 'string'
properties: {
addressPrefix: 'string'
nextHopIpAddress: 'string'
nextHopType: 'string'
}
type: 'string'
}
]
}
tags: {
{customized property}: 'string'
}
}
serviceEndpointPolicies: [
{
id: 'string'
location: 'string'
properties: {
contextualServiceEndpointPolicies: [
'string'
]
serviceAlias: 'string'
serviceEndpointPolicyDefinitions: [
{
id: 'string'
name: 'string'
properties: {
description: 'string'
service: 'string'
serviceResources: [
'string'
]
}
type: 'string'
}
]
}
tags: {
{customized property}: 'string'
}
}
]
serviceEndpoints: [
{
locations: [
'string'
]
networkIdentifier: {
id: 'string'
}
service: 'string'
}
]
sharingScope: 'string'
}
type: 'string'
}
}
zones: [
'string'
]
}
]
visibility: {
subscriptions: [
'string'
]
}
}
tags: {
{customized property}: 'string'
}
}
Property values
ApplicationGatewayIPConfiguration
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | Name of the IP configuration that is unique within an Application Gateway. | string |
properties | Properties of the application gateway IP configuration. | ApplicationGatewayIPConfigurationPropertiesFormat |
ApplicationGatewayIPConfigurationPropertiesFormat
Name | Description | Value |
---|---|---|
subnet | Reference to the subnet resource. A subnet from where application gateway gets its private address. | SubResource |
ApplicationSecurityGroup
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
location | Resource location. | string |
properties | Properties of the application security group. | ApplicationSecurityGroupPropertiesFormat |
tags | Resource tags. | ResourceTags |
ApplicationSecurityGroupPropertiesFormat
Name | Description | Value |
---|
DdosSettings
Name | Description | Value |
---|---|---|
ddosProtectionPlan | The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled | SubResource |
protectionMode | The DDoS protection mode of the public IP | 'Disabled' 'Enabled' 'VirtualNetworkInherited' |
Delegation
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within a subnet. This name can be used to access the resource. | string |
properties | Properties of the subnet. | ServiceDelegationPropertiesFormat |
type | Resource type. | string |
ExtendedLocation
Name | Description | Value |
---|---|---|
name | The name of the extended location. | string |
type | The type of the extended location. | 'EdgeZone' |
FrontendIPConfiguration
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource. | string |
properties | Properties of the load balancer probe. | FrontendIPConfigurationPropertiesFormat |
zones | A list of availability zones denoting the IP allocated for the resource needs to come from. | string[] |
FrontendIPConfigurationPropertiesFormat
Name | Description | Value |
---|---|---|
gatewayLoadBalancer | The reference to gateway load balancer frontend IP. | SubResource |
privateIPAddress | The private IP address of the IP configuration. | string |
privateIPAddressVersion | Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. | 'IPv4' 'IPv6' |
privateIPAllocationMethod | The Private IP allocation method. | 'Dynamic' 'Static' |
publicIPAddress | The reference to the Public IP resource. | PublicIPAddress |
publicIPPrefix | The reference to the Public IP Prefix resource. | SubResource |
subnet | The reference to the subnet resource. | Subnet |
IpTag
Name | Description | Value |
---|---|---|
ipTagType | The IP tag type. Example: FirstPartyUsage. | string |
tag | The value of the IP tag associated with the public IP. Example: SQL. | string |
Microsoft.Network/privateLinkServices
Name | Description | Value |
---|---|---|
extendedLocation | The extended location of the load balancer. | ExtendedLocation |
location | Resource location. | string |
name | The resource name | string (required) |
properties | Properties of the private link service. | PrivateLinkServiceProperties |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
NatGateway
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
location | Resource location. | string |
properties | Nat Gateway properties. | NatGatewayPropertiesFormat |
sku | The nat gateway SKU. | NatGatewaySku |
tags | Resource tags. | ResourceTags |
zones | A list of availability zones denoting the zone in which Nat Gateway should be deployed. | string[] |
NatGatewayPropertiesFormat
Name | Description | Value |
---|---|---|
idleTimeoutInMinutes | The idle timeout of the nat gateway. | int |
publicIpAddresses | An array of public ip addresses associated with the nat gateway resource. | SubResource[] |
publicIpPrefixes | An array of public ip prefixes associated with the nat gateway resource. | SubResource[] |
NatGatewaySku
Name | Description | Value |
---|---|---|
name | Name of Nat Gateway SKU. | 'Standard' |
NetworkSecurityGroup
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
location | Resource location. | string |
properties | Properties of the network security group. | NetworkSecurityGroupPropertiesFormat |
tags | Resource tags. | ResourceTags |
NetworkSecurityGroupPropertiesFormat
Name | Description | Value |
---|---|---|
flushConnection | When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. | bool |
securityRules | A collection of security rules of the network security group. | SecurityRule[] |
PrivateLinkServiceIpConfiguration
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of private link service ip configuration. | string |
properties | Properties of the private link service ip configuration. | PrivateLinkServiceIpConfigurationProperties |
PrivateLinkServiceIpConfigurationProperties
Name | Description | Value |
---|---|---|
primary | Whether the ip configuration is primary or not. | bool |
privateIPAddress | The private IP address of the IP configuration. | string |
privateIPAddressVersion | Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. | 'IPv4' 'IPv6' |
privateIPAllocationMethod | The private IP address allocation method. | 'Dynamic' 'Static' |
subnet | The reference to the subnet resource. | Subnet |
PrivateLinkServiceProperties
Name | Description | Value |
---|---|---|
autoApproval | The auto-approval list of the private link service. | PrivateLinkServicePropertiesAutoApproval |
destinationIPAddress | The destination IP address of the private link service. | string |
enableProxyProtocol | Whether the private link service is enabled for proxy protocol or not. | bool |
fqdns | The list of Fqdn. | string[] |
ipConfigurations | An array of private link service IP configurations. | PrivateLinkServiceIpConfiguration[] |
loadBalancerFrontendIpConfigurations | An array of references to the load balancer IP configurations. | FrontendIPConfiguration[] |
visibility | The visibility list of the private link service. | PrivateLinkServicePropertiesVisibility |
PrivateLinkServicePropertiesAutoApproval
Name | Description | Value |
---|---|---|
subscriptions | The list of subscriptions. | string[] |
PrivateLinkServicePropertiesVisibility
Name | Description | Value |
---|---|---|
subscriptions | The list of subscriptions. | string[] |
PublicIPAddress
Name | Description | Value |
---|---|---|
extendedLocation | The extended location of the public ip address. | ExtendedLocation |
id | Resource ID. | string |
location | Resource location. | string |
properties | Public IP address properties. | PublicIPAddressPropertiesFormat |
sku | The public IP address SKU. | PublicIPAddressSku |
tags | Resource tags. | ResourceTags |
zones | A list of availability zones denoting the IP allocated for the resource needs to come from. | string[] |
PublicIPAddressDnsSettings
Name | Description | Value |
---|---|---|
domainNameLabel | The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. | string |
domainNameLabelScope | The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. | 'NoReuse' 'ResourceGroupReuse' 'SubscriptionReuse' 'TenantReuse' |
fqdn | The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. | string |
reverseFqdn | The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. | string |
PublicIPAddressPropertiesFormat
Name | Description | Value |
---|---|---|
ddosSettings | The DDoS protection custom policy associated with the public IP address. | DdosSettings |
deleteOption | Specify what happens to the public IP address when the VM using it is deleted | 'Delete' 'Detach' |
dnsSettings | The FQDN of the DNS record associated with the public IP address. | PublicIPAddressDnsSettings |
idleTimeoutInMinutes | The idle timeout of the public IP address. | int |
ipAddress | The IP address associated with the public IP address resource. | string |
ipTags | The list of tags associated with the public IP address. | IpTag[] |
linkedPublicIPAddress | The linked public IP address of the public IP address resource. | PublicIPAddress |
migrationPhase | Migration phase of Public IP Address. | 'Abort' 'Commit' 'Committed' 'None' 'Prepare' |
natGateway | The NatGateway for the Public IP address. | NatGateway |
publicIPAddressVersion | The public IP address version. | 'IPv4' 'IPv6' |
publicIPAllocationMethod | The public IP address allocation method. | 'Dynamic' 'Static' |
publicIPPrefix | The Public IP Prefix this Public IP Address should be allocated from. | SubResource |
servicePublicIPAddress | The service public IP address of the public IP address resource. | PublicIPAddress |
PublicIPAddressSku
Name | Description | Value |
---|---|---|
name | Name of a public IP address SKU. | 'Basic' 'Standard' |
tier | Tier of a public IP address SKU. | 'Global' 'Regional' |
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
Route
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within a resource group. This name can be used to access the resource. | string |
properties | Properties of the route. | RoutePropertiesFormat |
type | The type of the resource. | string |
RoutePropertiesFormat
Name | Description | Value |
---|---|---|
addressPrefix | The destination CIDR to which the route applies. | string |
nextHopIpAddress | The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. | string |
nextHopType | The type of Azure hop the packet should be sent to. | 'Internet' 'None' 'VirtualAppliance' 'VirtualNetworkGateway' 'VnetLocal' (required) |
RouteTable
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
location | Resource location. | string |
properties | Properties of the route table. | RouteTablePropertiesFormat |
tags | Resource tags. | ResourceTags |
RouteTablePropertiesFormat
Name | Description | Value |
---|---|---|
disableBgpRoutePropagation | Whether to disable the routes learned by BGP on that route table. True means disable. | bool |
routes | Collection of routes contained within a route table. | Route[] |
SecurityRule
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within a resource group. This name can be used to access the resource. | string |
properties | Properties of the security rule. | SecurityRulePropertiesFormat |
type | The type of the resource. | string |
SecurityRulePropertiesFormat
Name | Description | Value |
---|---|---|
access | The network traffic is allowed or denied. | 'Allow' 'Deny' (required) |
description | A description for this rule. Restricted to 140 chars. | string |
destinationAddressPrefix | The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. | string |
destinationAddressPrefixes | The destination address prefixes. CIDR or destination IP ranges. | string[] |
destinationApplicationSecurityGroups | The application security group specified as destination. | ApplicationSecurityGroup[] |
destinationPortRange | The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. | string |
destinationPortRanges | The destination port ranges. | string[] |
direction | The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. | 'Inbound' 'Outbound' (required) |
priority | The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. | int (required) |
protocol | Network protocol this rule applies to. | '*' 'Ah' 'Esp' 'Icmp' 'Tcp' 'Udp' (required) |
sourceAddressPrefix | The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. | string |
sourceAddressPrefixes | The CIDR or source IP ranges. | string[] |
sourceApplicationSecurityGroups | The application security group specified as source. | ApplicationSecurityGroup[] |
sourcePortRange | The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. | string |
sourcePortRanges | The source port ranges. | string[] |
ServiceDelegationPropertiesFormat
Name | Description | Value |
---|---|---|
serviceName | The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers). | string |
ServiceEndpointPolicy
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
location | Resource location. | string |
properties | Properties of the service end point policy. | ServiceEndpointPolicyPropertiesFormat |
tags | Resource tags. | ResourceTags |
ServiceEndpointPolicyDefinition
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within a resource group. This name can be used to access the resource. | string |
properties | Properties of the service endpoint policy definition. | ServiceEndpointPolicyDefinitionPropertiesFormat |
type | The type of the resource. | string |
ServiceEndpointPolicyDefinitionPropertiesFormat
Name | Description | Value |
---|---|---|
description | A description for this rule. Restricted to 140 chars. | string |
service | Service endpoint name. | string |
serviceResources | A list of service resources. | string[] |
ServiceEndpointPolicyPropertiesFormat
Name | Description | Value |
---|---|---|
contextualServiceEndpointPolicies | A collection of contextual service endpoint policy. | string[] |
serviceAlias | The alias indicating if the policy belongs to a service | string |
serviceEndpointPolicyDefinitions | A collection of service endpoint policy definitions of the service endpoint policy. | ServiceEndpointPolicyDefinition[] |
ServiceEndpointPropertiesFormat
Name | Description | Value |
---|---|---|
locations | A list of locations. | string[] |
networkIdentifier | SubResource as network identifier. | SubResource |
service | The type of the endpoint service. | string |
Subnet
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within a resource group. This name can be used to access the resource. | string |
properties | Properties of the subnet. | SubnetPropertiesFormat |
type | Resource type. | string |
SubnetPropertiesFormat
Name | Description | Value |
---|---|---|
addressPrefix | The address prefix for the subnet. | string |
addressPrefixes | List of address prefixes for the subnet. | string[] |
applicationGatewayIPConfigurations | Application gateway IP configurations of virtual network resource. | ApplicationGatewayIPConfiguration[] |
defaultOutboundAccess | Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. | bool |
delegations | An array of references to the delegations on the subnet. | Delegation[] |
ipAllocations | Array of IpAllocation which reference this subnet. | SubResource[] |
natGateway | Nat gateway associated with this subnet. | SubResource |
networkSecurityGroup | The reference to the NetworkSecurityGroup resource. | NetworkSecurityGroup |
privateEndpointNetworkPolicies | Enable or Disable apply network policies on private end point in the subnet. | 'Disabled' 'Enabled' 'NetworkSecurityGroupEnabled' 'RouteTableEnabled' |
privateLinkServiceNetworkPolicies | Enable or Disable apply network policies on private link service in the subnet. | 'Disabled' 'Enabled' |
routeTable | The reference to the RouteTable resource. | RouteTable |
serviceEndpointPolicies | An array of service endpoint policies. | ServiceEndpointPolicy[] |
serviceEndpoints | An array of service endpoints. | ServiceEndpointPropertiesFormat[] |
sharingScope | Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. | 'DelegatedServices' 'Tenant' |
SubResource
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
Quickstart samples
The following quickstart samples deploy this resource type.
Bicep File | Description |
---|---|
Front Door Premium with VM and Private Link service | This template creates a Front Door Premium and a virtual machine configured as a web server. Front Door uses a private endpoint with Private Link service to send traffic to the VM. |
Private Link service example | This template shows how to create a private link service |
ARM template resource definition
The privateLinkServices resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Network/privateLinkServices resource, add the following JSON to your template.
{
"type": "Microsoft.Network/privateLinkServices",
"apiVersion": "2024-03-01",
"name": "string",
"extendedLocation": {
"name": "string",
"type": "string"
},
"location": "string",
"properties": {
"autoApproval": {
"subscriptions": [ "string" ]
},
"destinationIPAddress": "string",
"enableProxyProtocol": "bool",
"fqdns": [ "string" ],
"ipConfigurations": [
{
"id": "string",
"name": "string",
"properties": {
"primary": "bool",
"privateIPAddress": "string",
"privateIPAddressVersion": "string",
"privateIPAllocationMethod": "string",
"subnet": {
"id": "string",
"name": "string",
"properties": {
"addressPrefix": "string",
"addressPrefixes": [ "string" ],
"applicationGatewayIPConfigurations": [
{
"id": "string",
"name": "string",
"properties": {
"subnet": {
"id": "string"
}
}
}
],
"defaultOutboundAccess": "bool",
"delegations": [
{
"id": "string",
"name": "string",
"properties": {
"serviceName": "string"
},
"type": "string"
}
],
"ipAllocations": [
{
"id": "string"
}
],
"natGateway": {
"id": "string"
},
"networkSecurityGroup": {
"id": "string",
"location": "string",
"properties": {
"flushConnection": "bool",
"securityRules": [
{
"id": "string",
"name": "string",
"properties": {
"access": "string",
"description": "string",
"destinationAddressPrefix": "string",
"destinationAddressPrefixes": [ "string" ],
"destinationApplicationSecurityGroups": [
{
"id": "string",
"location": "string",
"properties": {
},
"tags": {
"{customized property}": "string"
}
}
],
"destinationPortRange": "string",
"destinationPortRanges": [ "string" ],
"direction": "string",
"priority": "int",
"protocol": "string",
"sourceAddressPrefix": "string",
"sourceAddressPrefixes": [ "string" ],
"sourceApplicationSecurityGroups": [
{
"id": "string",
"location": "string",
"properties": {
},
"tags": {
"{customized property}": "string"
}
}
],
"sourcePortRange": "string",
"sourcePortRanges": [ "string" ]
},
"type": "string"
}
]
},
"tags": {
"{customized property}": "string"
}
},
"privateEndpointNetworkPolicies": "string",
"privateLinkServiceNetworkPolicies": "string",
"routeTable": {
"id": "string",
"location": "string",
"properties": {
"disableBgpRoutePropagation": "bool",
"routes": [
{
"id": "string",
"name": "string",
"properties": {
"addressPrefix": "string",
"nextHopIpAddress": "string",
"nextHopType": "string"
},
"type": "string"
}
]
},
"tags": {
"{customized property}": "string"
}
},
"serviceEndpointPolicies": [
{
"id": "string",
"location": "string",
"properties": {
"contextualServiceEndpointPolicies": [ "string" ],
"serviceAlias": "string",
"serviceEndpointPolicyDefinitions": [
{
"id": "string",
"name": "string",
"properties": {
"description": "string",
"service": "string",
"serviceResources": [ "string" ]
},
"type": "string"
}
]
},
"tags": {
"{customized property}": "string"
}
}
],
"serviceEndpoints": [
{
"locations": [ "string" ],
"networkIdentifier": {
"id": "string"
},
"service": "string"
}
],
"sharingScope": "string"
},
"type": "string"
}
}
}
],
"loadBalancerFrontendIpConfigurations": [
{
"id": "string",
"name": "string",
"properties": {
"gatewayLoadBalancer": {
"id": "string"
},
"privateIPAddress": "string",
"privateIPAddressVersion": "string",
"privateIPAllocationMethod": "string",
"publicIPAddress": {
"extendedLocation": {
"name": "string",
"type": "string"
},
"id": "string",
"location": "string",
"properties": {
"ddosSettings": {
"ddosProtectionPlan": {
"id": "string"
},
"protectionMode": "string"
},
"deleteOption": "string",
"dnsSettings": {
"domainNameLabel": "string",
"domainNameLabelScope": "string",
"fqdn": "string",
"reverseFqdn": "string"
},
"idleTimeoutInMinutes": "int",
"ipAddress": "string",
"ipTags": [
{
"ipTagType": "string",
"tag": "string"
}
],
"linkedPublicIPAddress": ...,
"migrationPhase": "string",
"natGateway": {
"id": "string",
"location": "string",
"properties": {
"idleTimeoutInMinutes": "int",
"publicIpAddresses": [
{
"id": "string"
}
],
"publicIpPrefixes": [
{
"id": "string"
}
]
},
"sku": {
"name": "string"
},
"tags": {
"{customized property}": "string"
},
"zones": [ "string" ]
},
"publicIPAddressVersion": "string",
"publicIPAllocationMethod": "string",
"publicIPPrefix": {
"id": "string"
},
"servicePublicIPAddress": ...
},
"sku": {
"name": "string",
"tier": "string"
},
"tags": {
"{customized property}": "string"
},
"zones": [ "string" ]
},
"publicIPPrefix": {
"id": "string"
},
"subnet": {
"id": "string",
"name": "string",
"properties": {
"addressPrefix": "string",
"addressPrefixes": [ "string" ],
"applicationGatewayIPConfigurations": [
{
"id": "string",
"name": "string",
"properties": {
"subnet": {
"id": "string"
}
}
}
],
"defaultOutboundAccess": "bool",
"delegations": [
{
"id": "string",
"name": "string",
"properties": {
"serviceName": "string"
},
"type": "string"
}
],
"ipAllocations": [
{
"id": "string"
}
],
"natGateway": {
"id": "string"
},
"networkSecurityGroup": {
"id": "string",
"location": "string",
"properties": {
"flushConnection": "bool",
"securityRules": [
{
"id": "string",
"name": "string",
"properties": {
"access": "string",
"description": "string",
"destinationAddressPrefix": "string",
"destinationAddressPrefixes": [ "string" ],
"destinationApplicationSecurityGroups": [
{
"id": "string",
"location": "string",
"properties": {
},
"tags": {
"{customized property}": "string"
}
}
],
"destinationPortRange": "string",
"destinationPortRanges": [ "string" ],
"direction": "string",
"priority": "int",
"protocol": "string",
"sourceAddressPrefix": "string",
"sourceAddressPrefixes": [ "string" ],
"sourceApplicationSecurityGroups": [
{
"id": "string",
"location": "string",
"properties": {
},
"tags": {
"{customized property}": "string"
}
}
],
"sourcePortRange": "string",
"sourcePortRanges": [ "string" ]
},
"type": "string"
}
]
},
"tags": {
"{customized property}": "string"
}
},
"privateEndpointNetworkPolicies": "string",
"privateLinkServiceNetworkPolicies": "string",
"routeTable": {
"id": "string",
"location": "string",
"properties": {
"disableBgpRoutePropagation": "bool",
"routes": [
{
"id": "string",
"name": "string",
"properties": {
"addressPrefix": "string",
"nextHopIpAddress": "string",
"nextHopType": "string"
},
"type": "string"
}
]
},
"tags": {
"{customized property}": "string"
}
},
"serviceEndpointPolicies": [
{
"id": "string",
"location": "string",
"properties": {
"contextualServiceEndpointPolicies": [ "string" ],
"serviceAlias": "string",
"serviceEndpointPolicyDefinitions": [
{
"id": "string",
"name": "string",
"properties": {
"description": "string",
"service": "string",
"serviceResources": [ "string" ]
},
"type": "string"
}
]
},
"tags": {
"{customized property}": "string"
}
}
],
"serviceEndpoints": [
{
"locations": [ "string" ],
"networkIdentifier": {
"id": "string"
},
"service": "string"
}
],
"sharingScope": "string"
},
"type": "string"
}
},
"zones": [ "string" ]
}
],
"visibility": {
"subscriptions": [ "string" ]
}
},
"tags": {
"{customized property}": "string"
}
}
Property values
ApplicationGatewayIPConfiguration
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | Name of the IP configuration that is unique within an Application Gateway. | string |
properties | Properties of the application gateway IP configuration. | ApplicationGatewayIPConfigurationPropertiesFormat |
ApplicationGatewayIPConfigurationPropertiesFormat
Name | Description | Value |
---|---|---|
subnet | Reference to the subnet resource. A subnet from where application gateway gets its private address. | SubResource |
ApplicationSecurityGroup
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
location | Resource location. | string |
properties | Properties of the application security group. | ApplicationSecurityGroupPropertiesFormat |
tags | Resource tags. | ResourceTags |
ApplicationSecurityGroupPropertiesFormat
Name | Description | Value |
---|
DdosSettings
Name | Description | Value |
---|---|---|
ddosProtectionPlan | The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled | SubResource |
protectionMode | The DDoS protection mode of the public IP | 'Disabled' 'Enabled' 'VirtualNetworkInherited' |
Delegation
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within a subnet. This name can be used to access the resource. | string |
properties | Properties of the subnet. | ServiceDelegationPropertiesFormat |
type | Resource type. | string |
ExtendedLocation
Name | Description | Value |
---|---|---|
name | The name of the extended location. | string |
type | The type of the extended location. | 'EdgeZone' |
FrontendIPConfiguration
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource. | string |
properties | Properties of the load balancer probe. | FrontendIPConfigurationPropertiesFormat |
zones | A list of availability zones denoting the IP allocated for the resource needs to come from. | string[] |
FrontendIPConfigurationPropertiesFormat
Name | Description | Value |
---|---|---|
gatewayLoadBalancer | The reference to gateway load balancer frontend IP. | SubResource |
privateIPAddress | The private IP address of the IP configuration. | string |
privateIPAddressVersion | Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. | 'IPv4' 'IPv6' |
privateIPAllocationMethod | The Private IP allocation method. | 'Dynamic' 'Static' |
publicIPAddress | The reference to the Public IP resource. | PublicIPAddress |
publicIPPrefix | The reference to the Public IP Prefix resource. | SubResource |
subnet | The reference to the subnet resource. | Subnet |
IpTag
Name | Description | Value |
---|---|---|
ipTagType | The IP tag type. Example: FirstPartyUsage. | string |
tag | The value of the IP tag associated with the public IP. Example: SQL. | string |
Microsoft.Network/privateLinkServices
Name | Description | Value |
---|---|---|
apiVersion | The api version | '2024-03-01' |
extendedLocation | The extended location of the load balancer. | ExtendedLocation |
location | Resource location. | string |
name | The resource name | string (required) |
properties | Properties of the private link service. | PrivateLinkServiceProperties |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
type | The resource type | 'Microsoft.Network/privateLinkServices' |
NatGateway
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
location | Resource location. | string |
properties | Nat Gateway properties. | NatGatewayPropertiesFormat |
sku | The nat gateway SKU. | NatGatewaySku |
tags | Resource tags. | ResourceTags |
zones | A list of availability zones denoting the zone in which Nat Gateway should be deployed. | string[] |
NatGatewayPropertiesFormat
Name | Description | Value |
---|---|---|
idleTimeoutInMinutes | The idle timeout of the nat gateway. | int |
publicIpAddresses | An array of public ip addresses associated with the nat gateway resource. | SubResource[] |
publicIpPrefixes | An array of public ip prefixes associated with the nat gateway resource. | SubResource[] |
NatGatewaySku
Name | Description | Value |
---|---|---|
name | Name of Nat Gateway SKU. | 'Standard' |
NetworkSecurityGroup
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
location | Resource location. | string |
properties | Properties of the network security group. | NetworkSecurityGroupPropertiesFormat |
tags | Resource tags. | ResourceTags |
NetworkSecurityGroupPropertiesFormat
Name | Description | Value |
---|---|---|
flushConnection | When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. | bool |
securityRules | A collection of security rules of the network security group. | SecurityRule[] |
PrivateLinkServiceIpConfiguration
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of private link service ip configuration. | string |
properties | Properties of the private link service ip configuration. | PrivateLinkServiceIpConfigurationProperties |
PrivateLinkServiceIpConfigurationProperties
Name | Description | Value |
---|---|---|
primary | Whether the ip configuration is primary or not. | bool |
privateIPAddress | The private IP address of the IP configuration. | string |
privateIPAddressVersion | Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. | 'IPv4' 'IPv6' |
privateIPAllocationMethod | The private IP address allocation method. | 'Dynamic' 'Static' |
subnet | The reference to the subnet resource. | Subnet |
PrivateLinkServiceProperties
Name | Description | Value |
---|---|---|
autoApproval | The auto-approval list of the private link service. | PrivateLinkServicePropertiesAutoApproval |
destinationIPAddress | The destination IP address of the private link service. | string |
enableProxyProtocol | Whether the private link service is enabled for proxy protocol or not. | bool |
fqdns | The list of Fqdn. | string[] |
ipConfigurations | An array of private link service IP configurations. | PrivateLinkServiceIpConfiguration[] |
loadBalancerFrontendIpConfigurations | An array of references to the load balancer IP configurations. | FrontendIPConfiguration[] |
visibility | The visibility list of the private link service. | PrivateLinkServicePropertiesVisibility |
PrivateLinkServicePropertiesAutoApproval
Name | Description | Value |
---|---|---|
subscriptions | The list of subscriptions. | string[] |
PrivateLinkServicePropertiesVisibility
Name | Description | Value |
---|---|---|
subscriptions | The list of subscriptions. | string[] |
PublicIPAddress
Name | Description | Value |
---|---|---|
extendedLocation | The extended location of the public ip address. | ExtendedLocation |
id | Resource ID. | string |
location | Resource location. | string |
properties | Public IP address properties. | PublicIPAddressPropertiesFormat |
sku | The public IP address SKU. | PublicIPAddressSku |
tags | Resource tags. | ResourceTags |
zones | A list of availability zones denoting the IP allocated for the resource needs to come from. | string[] |
PublicIPAddressDnsSettings
Name | Description | Value |
---|---|---|
domainNameLabel | The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. | string |
domainNameLabelScope | The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. | 'NoReuse' 'ResourceGroupReuse' 'SubscriptionReuse' 'TenantReuse' |
fqdn | The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. | string |
reverseFqdn | The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. | string |
PublicIPAddressPropertiesFormat
Name | Description | Value |
---|---|---|
ddosSettings | The DDoS protection custom policy associated with the public IP address. | DdosSettings |
deleteOption | Specify what happens to the public IP address when the VM using it is deleted | 'Delete' 'Detach' |
dnsSettings | The FQDN of the DNS record associated with the public IP address. | PublicIPAddressDnsSettings |
idleTimeoutInMinutes | The idle timeout of the public IP address. | int |
ipAddress | The IP address associated with the public IP address resource. | string |
ipTags | The list of tags associated with the public IP address. | IpTag[] |
linkedPublicIPAddress | The linked public IP address of the public IP address resource. | PublicIPAddress |
migrationPhase | Migration phase of Public IP Address. | 'Abort' 'Commit' 'Committed' 'None' 'Prepare' |
natGateway | The NatGateway for the Public IP address. | NatGateway |
publicIPAddressVersion | The public IP address version. | 'IPv4' 'IPv6' |
publicIPAllocationMethod | The public IP address allocation method. | 'Dynamic' 'Static' |
publicIPPrefix | The Public IP Prefix this Public IP Address should be allocated from. | SubResource |
servicePublicIPAddress | The service public IP address of the public IP address resource. | PublicIPAddress |
PublicIPAddressSku
Name | Description | Value |
---|---|---|
name | Name of a public IP address SKU. | 'Basic' 'Standard' |
tier | Tier of a public IP address SKU. | 'Global' 'Regional' |
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
Route
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within a resource group. This name can be used to access the resource. | string |
properties | Properties of the route. | RoutePropertiesFormat |
type | The type of the resource. | string |
RoutePropertiesFormat
Name | Description | Value |
---|---|---|
addressPrefix | The destination CIDR to which the route applies. | string |
nextHopIpAddress | The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. | string |
nextHopType | The type of Azure hop the packet should be sent to. | 'Internet' 'None' 'VirtualAppliance' 'VirtualNetworkGateway' 'VnetLocal' (required) |
RouteTable
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
location | Resource location. | string |
properties | Properties of the route table. | RouteTablePropertiesFormat |
tags | Resource tags. | ResourceTags |
RouteTablePropertiesFormat
Name | Description | Value |
---|---|---|
disableBgpRoutePropagation | Whether to disable the routes learned by BGP on that route table. True means disable. | bool |
routes | Collection of routes contained within a route table. | Route[] |
SecurityRule
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within a resource group. This name can be used to access the resource. | string |
properties | Properties of the security rule. | SecurityRulePropertiesFormat |
type | The type of the resource. | string |
SecurityRulePropertiesFormat
Name | Description | Value |
---|---|---|
access | The network traffic is allowed or denied. | 'Allow' 'Deny' (required) |
description | A description for this rule. Restricted to 140 chars. | string |
destinationAddressPrefix | The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. | string |
destinationAddressPrefixes | The destination address prefixes. CIDR or destination IP ranges. | string[] |
destinationApplicationSecurityGroups | The application security group specified as destination. | ApplicationSecurityGroup[] |
destinationPortRange | The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. | string |
destinationPortRanges | The destination port ranges. | string[] |
direction | The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. | 'Inbound' 'Outbound' (required) |
priority | The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. | int (required) |
protocol | Network protocol this rule applies to. | '*' 'Ah' 'Esp' 'Icmp' 'Tcp' 'Udp' (required) |
sourceAddressPrefix | The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. | string |
sourceAddressPrefixes | The CIDR or source IP ranges. | string[] |
sourceApplicationSecurityGroups | The application security group specified as source. | ApplicationSecurityGroup[] |
sourcePortRange | The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. | string |
sourcePortRanges | The source port ranges. | string[] |
ServiceDelegationPropertiesFormat
Name | Description | Value |
---|---|---|
serviceName | The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers). | string |
ServiceEndpointPolicy
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
location | Resource location. | string |
properties | Properties of the service end point policy. | ServiceEndpointPolicyPropertiesFormat |
tags | Resource tags. | ResourceTags |
ServiceEndpointPolicyDefinition
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within a resource group. This name can be used to access the resource. | string |
properties | Properties of the service endpoint policy definition. | ServiceEndpointPolicyDefinitionPropertiesFormat |
type | The type of the resource. | string |
ServiceEndpointPolicyDefinitionPropertiesFormat
Name | Description | Value |
---|---|---|
description | A description for this rule. Restricted to 140 chars. | string |
service | Service endpoint name. | string |
serviceResources | A list of service resources. | string[] |
ServiceEndpointPolicyPropertiesFormat
Name | Description | Value |
---|---|---|
contextualServiceEndpointPolicies | A collection of contextual service endpoint policy. | string[] |
serviceAlias | The alias indicating if the policy belongs to a service | string |
serviceEndpointPolicyDefinitions | A collection of service endpoint policy definitions of the service endpoint policy. | ServiceEndpointPolicyDefinition[] |
ServiceEndpointPropertiesFormat
Name | Description | Value |
---|---|---|
locations | A list of locations. | string[] |
networkIdentifier | SubResource as network identifier. | SubResource |
service | The type of the endpoint service. | string |
Subnet
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within a resource group. This name can be used to access the resource. | string |
properties | Properties of the subnet. | SubnetPropertiesFormat |
type | Resource type. | string |
SubnetPropertiesFormat
Name | Description | Value |
---|---|---|
addressPrefix | The address prefix for the subnet. | string |
addressPrefixes | List of address prefixes for the subnet. | string[] |
applicationGatewayIPConfigurations | Application gateway IP configurations of virtual network resource. | ApplicationGatewayIPConfiguration[] |
defaultOutboundAccess | Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. | bool |
delegations | An array of references to the delegations on the subnet. | Delegation[] |
ipAllocations | Array of IpAllocation which reference this subnet. | SubResource[] |
natGateway | Nat gateway associated with this subnet. | SubResource |
networkSecurityGroup | The reference to the NetworkSecurityGroup resource. | NetworkSecurityGroup |
privateEndpointNetworkPolicies | Enable or Disable apply network policies on private end point in the subnet. | 'Disabled' 'Enabled' 'NetworkSecurityGroupEnabled' 'RouteTableEnabled' |
privateLinkServiceNetworkPolicies | Enable or Disable apply network policies on private link service in the subnet. | 'Disabled' 'Enabled' |
routeTable | The reference to the RouteTable resource. | RouteTable |
serviceEndpointPolicies | An array of service endpoint policies. | ServiceEndpointPolicy[] |
serviceEndpoints | An array of service endpoints. | ServiceEndpointPropertiesFormat[] |
sharingScope | Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. | 'DelegatedServices' 'Tenant' |
SubResource
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
Deploy Darktrace Autoscaling vSensors |
This template allows you to deploy an automatically autoscaling deployment of Darktrace vSensors |
Front Door Premium with VM and Private Link service |
This template creates a Front Door Premium and a virtual machine configured as a web server. Front Door uses a private endpoint with Private Link service to send traffic to the VM. |
Private Link service example |
This template shows how to create a private link service |
Terraform (AzAPI provider) resource definition
The privateLinkServices resource type can be deployed with operations that target:
- Resource groups
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Network/privateLinkServices resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Network/privateLinkServices@2024-03-01"
name = "string"
extendedLocation = {
name = "string"
type = "string"
}
location = "string"
body = jsonencode({
properties = {
autoApproval = {
subscriptions = [
"string"
]
}
destinationIPAddress = "string"
enableProxyProtocol = bool
fqdns = [
"string"
]
ipConfigurations = [
{
id = "string"
name = "string"
properties = {
primary = bool
privateIPAddress = "string"
privateIPAddressVersion = "string"
privateIPAllocationMethod = "string"
subnet = {
id = "string"
name = "string"
properties = {
addressPrefix = "string"
addressPrefixes = [
"string"
]
applicationGatewayIPConfigurations = [
{
id = "string"
name = "string"
properties = {
subnet = {
id = "string"
}
}
}
]
defaultOutboundAccess = bool
delegations = [
{
id = "string"
name = "string"
properties = {
serviceName = "string"
}
type = "string"
}
]
ipAllocations = [
{
id = "string"
}
]
natGateway = {
id = "string"
}
networkSecurityGroup = {
id = "string"
location = "string"
properties = {
flushConnection = bool
securityRules = [
{
id = "string"
name = "string"
properties = {
access = "string"
description = "string"
destinationAddressPrefix = "string"
destinationAddressPrefixes = [
"string"
]
destinationApplicationSecurityGroups = [
{
id = "string"
location = "string"
properties = {
}
tags = {
{customized property} = "string"
}
}
]
destinationPortRange = "string"
destinationPortRanges = [
"string"
]
direction = "string"
priority = int
protocol = "string"
sourceAddressPrefix = "string"
sourceAddressPrefixes = [
"string"
]
sourceApplicationSecurityGroups = [
{
id = "string"
location = "string"
properties = {
}
tags = {
{customized property} = "string"
}
}
]
sourcePortRange = "string"
sourcePortRanges = [
"string"
]
}
type = "string"
}
]
}
tags = {
{customized property} = "string"
}
}
privateEndpointNetworkPolicies = "string"
privateLinkServiceNetworkPolicies = "string"
routeTable = {
id = "string"
location = "string"
properties = {
disableBgpRoutePropagation = bool
routes = [
{
id = "string"
name = "string"
properties = {
addressPrefix = "string"
nextHopIpAddress = "string"
nextHopType = "string"
}
type = "string"
}
]
}
tags = {
{customized property} = "string"
}
}
serviceEndpointPolicies = [
{
id = "string"
location = "string"
properties = {
contextualServiceEndpointPolicies = [
"string"
]
serviceAlias = "string"
serviceEndpointPolicyDefinitions = [
{
id = "string"
name = "string"
properties = {
description = "string"
service = "string"
serviceResources = [
"string"
]
}
type = "string"
}
]
}
tags = {
{customized property} = "string"
}
}
]
serviceEndpoints = [
{
locations = [
"string"
]
networkIdentifier = {
id = "string"
}
service = "string"
}
]
sharingScope = "string"
}
type = "string"
}
}
}
]
loadBalancerFrontendIpConfigurations = [
{
id = "string"
name = "string"
properties = {
gatewayLoadBalancer = {
id = "string"
}
privateIPAddress = "string"
privateIPAddressVersion = "string"
privateIPAllocationMethod = "string"
publicIPAddress = {
extendedLocation = {
name = "string"
type = "string"
}
id = "string"
location = "string"
properties = {
ddosSettings = {
ddosProtectionPlan = {
id = "string"
}
protectionMode = "string"
}
deleteOption = "string"
dnsSettings = {
domainNameLabel = "string"
domainNameLabelScope = "string"
fqdn = "string"
reverseFqdn = "string"
}
idleTimeoutInMinutes = int
ipAddress = "string"
ipTags = [
{
ipTagType = "string"
tag = "string"
}
]
linkedPublicIPAddress = ...
migrationPhase = "string"
natGateway = {
id = "string"
location = "string"
properties = {
idleTimeoutInMinutes = int
publicIpAddresses = [
{
id = "string"
}
]
publicIpPrefixes = [
{
id = "string"
}
]
}
sku = {
name = "string"
}
tags = {
{customized property} = "string"
}
zones = [
"string"
]
}
publicIPAddressVersion = "string"
publicIPAllocationMethod = "string"
publicIPPrefix = {
id = "string"
}
servicePublicIPAddress = ...
}
sku = {
name = "string"
tier = "string"
}
tags = {
{customized property} = "string"
}
zones = [
"string"
]
}
publicIPPrefix = {
id = "string"
}
subnet = {
id = "string"
name = "string"
properties = {
addressPrefix = "string"
addressPrefixes = [
"string"
]
applicationGatewayIPConfigurations = [
{
id = "string"
name = "string"
properties = {
subnet = {
id = "string"
}
}
}
]
defaultOutboundAccess = bool
delegations = [
{
id = "string"
name = "string"
properties = {
serviceName = "string"
}
type = "string"
}
]
ipAllocations = [
{
id = "string"
}
]
natGateway = {
id = "string"
}
networkSecurityGroup = {
id = "string"
location = "string"
properties = {
flushConnection = bool
securityRules = [
{
id = "string"
name = "string"
properties = {
access = "string"
description = "string"
destinationAddressPrefix = "string"
destinationAddressPrefixes = [
"string"
]
destinationApplicationSecurityGroups = [
{
id = "string"
location = "string"
properties = {
}
tags = {
{customized property} = "string"
}
}
]
destinationPortRange = "string"
destinationPortRanges = [
"string"
]
direction = "string"
priority = int
protocol = "string"
sourceAddressPrefix = "string"
sourceAddressPrefixes = [
"string"
]
sourceApplicationSecurityGroups = [
{
id = "string"
location = "string"
properties = {
}
tags = {
{customized property} = "string"
}
}
]
sourcePortRange = "string"
sourcePortRanges = [
"string"
]
}
type = "string"
}
]
}
tags = {
{customized property} = "string"
}
}
privateEndpointNetworkPolicies = "string"
privateLinkServiceNetworkPolicies = "string"
routeTable = {
id = "string"
location = "string"
properties = {
disableBgpRoutePropagation = bool
routes = [
{
id = "string"
name = "string"
properties = {
addressPrefix = "string"
nextHopIpAddress = "string"
nextHopType = "string"
}
type = "string"
}
]
}
tags = {
{customized property} = "string"
}
}
serviceEndpointPolicies = [
{
id = "string"
location = "string"
properties = {
contextualServiceEndpointPolicies = [
"string"
]
serviceAlias = "string"
serviceEndpointPolicyDefinitions = [
{
id = "string"
name = "string"
properties = {
description = "string"
service = "string"
serviceResources = [
"string"
]
}
type = "string"
}
]
}
tags = {
{customized property} = "string"
}
}
]
serviceEndpoints = [
{
locations = [
"string"
]
networkIdentifier = {
id = "string"
}
service = "string"
}
]
sharingScope = "string"
}
type = "string"
}
}
zones = [
"string"
]
}
]
visibility = {
subscriptions = [
"string"
]
}
}
})
tags = {
{customized property} = "string"
}
}
Property values
ApplicationGatewayIPConfiguration
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | Name of the IP configuration that is unique within an Application Gateway. | string |
properties | Properties of the application gateway IP configuration. | ApplicationGatewayIPConfigurationPropertiesFormat |
ApplicationGatewayIPConfigurationPropertiesFormat
Name | Description | Value |
---|---|---|
subnet | Reference to the subnet resource. A subnet from where application gateway gets its private address. | SubResource |
ApplicationSecurityGroup
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
location | Resource location. | string |
properties | Properties of the application security group. | ApplicationSecurityGroupPropertiesFormat |
tags | Resource tags. | ResourceTags |
ApplicationSecurityGroupPropertiesFormat
Name | Description | Value |
---|
DdosSettings
Name | Description | Value |
---|---|---|
ddosProtectionPlan | The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled | SubResource |
protectionMode | The DDoS protection mode of the public IP | 'Disabled' 'Enabled' 'VirtualNetworkInherited' |
Delegation
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within a subnet. This name can be used to access the resource. | string |
properties | Properties of the subnet. | ServiceDelegationPropertiesFormat |
type | Resource type. | string |
ExtendedLocation
Name | Description | Value |
---|---|---|
name | The name of the extended location. | string |
type | The type of the extended location. | 'EdgeZone' |
FrontendIPConfiguration
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource. | string |
properties | Properties of the load balancer probe. | FrontendIPConfigurationPropertiesFormat |
zones | A list of availability zones denoting the IP allocated for the resource needs to come from. | string[] |
FrontendIPConfigurationPropertiesFormat
Name | Description | Value |
---|---|---|
gatewayLoadBalancer | The reference to gateway load balancer frontend IP. | SubResource |
privateIPAddress | The private IP address of the IP configuration. | string |
privateIPAddressVersion | Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. | 'IPv4' 'IPv6' |
privateIPAllocationMethod | The Private IP allocation method. | 'Dynamic' 'Static' |
publicIPAddress | The reference to the Public IP resource. | PublicIPAddress |
publicIPPrefix | The reference to the Public IP Prefix resource. | SubResource |
subnet | The reference to the subnet resource. | Subnet |
IpTag
Name | Description | Value |
---|---|---|
ipTagType | The IP tag type. Example: FirstPartyUsage. | string |
tag | The value of the IP tag associated with the public IP. Example: SQL. | string |
Microsoft.Network/privateLinkServices
Name | Description | Value |
---|---|---|
extendedLocation | The extended location of the load balancer. | ExtendedLocation |
location | Resource location. | string |
name | The resource name | string (required) |
properties | Properties of the private link service. | PrivateLinkServiceProperties |
tags | Resource tags | Dictionary of tag names and values. |
type | The resource type | "Microsoft.Network/privateLinkServices@2024-03-01" |
NatGateway
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
location | Resource location. | string |
properties | Nat Gateway properties. | NatGatewayPropertiesFormat |
sku | The nat gateway SKU. | NatGatewaySku |
tags | Resource tags. | ResourceTags |
zones | A list of availability zones denoting the zone in which Nat Gateway should be deployed. | string[] |
NatGatewayPropertiesFormat
Name | Description | Value |
---|---|---|
idleTimeoutInMinutes | The idle timeout of the nat gateway. | int |
publicIpAddresses | An array of public ip addresses associated with the nat gateway resource. | SubResource[] |
publicIpPrefixes | An array of public ip prefixes associated with the nat gateway resource. | SubResource[] |
NatGatewaySku
Name | Description | Value |
---|---|---|
name | Name of Nat Gateway SKU. | 'Standard' |
NetworkSecurityGroup
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
location | Resource location. | string |
properties | Properties of the network security group. | NetworkSecurityGroupPropertiesFormat |
tags | Resource tags. | ResourceTags |
NetworkSecurityGroupPropertiesFormat
Name | Description | Value |
---|---|---|
flushConnection | When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation. | bool |
securityRules | A collection of security rules of the network security group. | SecurityRule[] |
PrivateLinkServiceIpConfiguration
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of private link service ip configuration. | string |
properties | Properties of the private link service ip configuration. | PrivateLinkServiceIpConfigurationProperties |
PrivateLinkServiceIpConfigurationProperties
Name | Description | Value |
---|---|---|
primary | Whether the ip configuration is primary or not. | bool |
privateIPAddress | The private IP address of the IP configuration. | string |
privateIPAddressVersion | Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. | 'IPv4' 'IPv6' |
privateIPAllocationMethod | The private IP address allocation method. | 'Dynamic' 'Static' |
subnet | The reference to the subnet resource. | Subnet |
PrivateLinkServiceProperties
Name | Description | Value |
---|---|---|
autoApproval | The auto-approval list of the private link service. | PrivateLinkServicePropertiesAutoApproval |
destinationIPAddress | The destination IP address of the private link service. | string |
enableProxyProtocol | Whether the private link service is enabled for proxy protocol or not. | bool |
fqdns | The list of Fqdn. | string[] |
ipConfigurations | An array of private link service IP configurations. | PrivateLinkServiceIpConfiguration[] |
loadBalancerFrontendIpConfigurations | An array of references to the load balancer IP configurations. | FrontendIPConfiguration[] |
visibility | The visibility list of the private link service. | PrivateLinkServicePropertiesVisibility |
PrivateLinkServicePropertiesAutoApproval
Name | Description | Value |
---|---|---|
subscriptions | The list of subscriptions. | string[] |
PrivateLinkServicePropertiesVisibility
Name | Description | Value |
---|---|---|
subscriptions | The list of subscriptions. | string[] |
PublicIPAddress
Name | Description | Value |
---|---|---|
extendedLocation | The extended location of the public ip address. | ExtendedLocation |
id | Resource ID. | string |
location | Resource location. | string |
properties | Public IP address properties. | PublicIPAddressPropertiesFormat |
sku | The public IP address SKU. | PublicIPAddressSku |
tags | Resource tags. | ResourceTags |
zones | A list of availability zones denoting the IP allocated for the resource needs to come from. | string[] |
PublicIPAddressDnsSettings
Name | Description | Value |
---|---|---|
domainNameLabel | The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. | string |
domainNameLabelScope | The domain name label scope. If a domain name label and a domain name label scope are specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. | 'NoReuse' 'ResourceGroupReuse' 'SubscriptionReuse' 'TenantReuse' |
fqdn | The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. | string |
reverseFqdn | The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. | string |
PublicIPAddressPropertiesFormat
Name | Description | Value |
---|---|---|
ddosSettings | The DDoS protection custom policy associated with the public IP address. | DdosSettings |
deleteOption | Specify what happens to the public IP address when the VM using it is deleted | 'Delete' 'Detach' |
dnsSettings | The FQDN of the DNS record associated with the public IP address. | PublicIPAddressDnsSettings |
idleTimeoutInMinutes | The idle timeout of the public IP address. | int |
ipAddress | The IP address associated with the public IP address resource. | string |
ipTags | The list of tags associated with the public IP address. | IpTag[] |
linkedPublicIPAddress | The linked public IP address of the public IP address resource. | PublicIPAddress |
migrationPhase | Migration phase of Public IP Address. | 'Abort' 'Commit' 'Committed' 'None' 'Prepare' |
natGateway | The NatGateway for the Public IP address. | NatGateway |
publicIPAddressVersion | The public IP address version. | 'IPv4' 'IPv6' |
publicIPAllocationMethod | The public IP address allocation method. | 'Dynamic' 'Static' |
publicIPPrefix | The Public IP Prefix this Public IP Address should be allocated from. | SubResource |
servicePublicIPAddress | The service public IP address of the public IP address resource. | PublicIPAddress |
PublicIPAddressSku
Name | Description | Value |
---|---|---|
name | Name of a public IP address SKU. | 'Basic' 'Standard' |
tier | Tier of a public IP address SKU. | 'Global' 'Regional' |
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
ResourceTags
Name | Description | Value |
---|
Route
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within a resource group. This name can be used to access the resource. | string |
properties | Properties of the route. | RoutePropertiesFormat |
type | The type of the resource. | string |
RoutePropertiesFormat
Name | Description | Value |
---|---|---|
addressPrefix | The destination CIDR to which the route applies. | string |
nextHopIpAddress | The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. | string |
nextHopType | The type of Azure hop the packet should be sent to. | 'Internet' 'None' 'VirtualAppliance' 'VirtualNetworkGateway' 'VnetLocal' (required) |
RouteTable
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
location | Resource location. | string |
properties | Properties of the route table. | RouteTablePropertiesFormat |
tags | Resource tags. | ResourceTags |
RouteTablePropertiesFormat
Name | Description | Value |
---|---|---|
disableBgpRoutePropagation | Whether to disable the routes learned by BGP on that route table. True means disable. | bool |
routes | Collection of routes contained within a route table. | Route[] |
SecurityRule
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within a resource group. This name can be used to access the resource. | string |
properties | Properties of the security rule. | SecurityRulePropertiesFormat |
type | The type of the resource. | string |
SecurityRulePropertiesFormat
Name | Description | Value |
---|---|---|
access | The network traffic is allowed or denied. | 'Allow' 'Deny' (required) |
description | A description for this rule. Restricted to 140 chars. | string |
destinationAddressPrefix | The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. | string |
destinationAddressPrefixes | The destination address prefixes. CIDR or destination IP ranges. | string[] |
destinationApplicationSecurityGroups | The application security group specified as destination. | ApplicationSecurityGroup[] |
destinationPortRange | The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. | string |
destinationPortRanges | The destination port ranges. | string[] |
direction | The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. | 'Inbound' 'Outbound' (required) |
priority | The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. | int (required) |
protocol | Network protocol this rule applies to. | '*' 'Ah' 'Esp' 'Icmp' 'Tcp' 'Udp' (required) |
sourceAddressPrefix | The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. | string |
sourceAddressPrefixes | The CIDR or source IP ranges. | string[] |
sourceApplicationSecurityGroups | The application security group specified as source. | ApplicationSecurityGroup[] |
sourcePortRange | The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. | string |
sourcePortRanges | The source port ranges. | string[] |
ServiceDelegationPropertiesFormat
Name | Description | Value |
---|---|---|
serviceName | The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers). | string |
ServiceEndpointPolicy
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
location | Resource location. | string |
properties | Properties of the service end point policy. | ServiceEndpointPolicyPropertiesFormat |
tags | Resource tags. | ResourceTags |
ServiceEndpointPolicyDefinition
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within a resource group. This name can be used to access the resource. | string |
properties | Properties of the service endpoint policy definition. | ServiceEndpointPolicyDefinitionPropertiesFormat |
type | The type of the resource. | string |
ServiceEndpointPolicyDefinitionPropertiesFormat
Name | Description | Value |
---|---|---|
description | A description for this rule. Restricted to 140 chars. | string |
service | Service endpoint name. | string |
serviceResources | A list of service resources. | string[] |
ServiceEndpointPolicyPropertiesFormat
Name | Description | Value |
---|---|---|
contextualServiceEndpointPolicies | A collection of contextual service endpoint policy. | string[] |
serviceAlias | The alias indicating if the policy belongs to a service | string |
serviceEndpointPolicyDefinitions | A collection of service endpoint policy definitions of the service endpoint policy. | ServiceEndpointPolicyDefinition[] |
ServiceEndpointPropertiesFormat
Name | Description | Value |
---|---|---|
locations | A list of locations. | string[] |
networkIdentifier | SubResource as network identifier. | SubResource |
service | The type of the endpoint service. | string |
Subnet
Name | Description | Value |
---|---|---|
id | Resource ID. | string |
name | The name of the resource that is unique within a resource group. This name can be used to access the resource. | string |
properties | Properties of the subnet. | SubnetPropertiesFormat |
type | Resource type. | string |
SubnetPropertiesFormat
Name | Description | Value |
---|---|---|
addressPrefix | The address prefix for the subnet. | string |
addressPrefixes | List of address prefixes for the subnet. | string[] |
applicationGatewayIPConfigurations | Application gateway IP configurations of virtual network resource. | ApplicationGatewayIPConfiguration[] |
defaultOutboundAccess | Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. | bool |
delegations | An array of references to the delegations on the subnet. | Delegation[] |
ipAllocations | Array of IpAllocation which reference this subnet. | SubResource[] |
natGateway | Nat gateway associated with this subnet. | SubResource |
networkSecurityGroup | The reference to the NetworkSecurityGroup resource. | NetworkSecurityGroup |
privateEndpointNetworkPolicies | Enable or Disable apply network policies on private end point in the subnet. | 'Disabled' 'Enabled' 'NetworkSecurityGroupEnabled' 'RouteTableEnabled' |
privateLinkServiceNetworkPolicies | Enable or Disable apply network policies on private link service in the subnet. | 'Disabled' 'Enabled' |
routeTable | The reference to the RouteTable resource. | RouteTable |
serviceEndpointPolicies | An array of service endpoint policies. | ServiceEndpointPolicy[] |
serviceEndpoints | An array of service endpoints. | ServiceEndpointPropertiesFormat[] |
sharingScope | Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty. | 'DelegatedServices' 'Tenant' |
SubResource
Name | Description | Value |
---|---|---|
id | Resource ID. | string |