Private Endpoint
Private endpoint resource. Azure REST API version: 2023-02-01. Prior API version in Azure Native 1.x: 2020-11-01. Other available API versions: 2021-02-01, 2023-04-01, 2023-05-01.
Example Usage
Create private endpoint
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var privateEndpoint = new AzureNative.Network.PrivateEndpoint("privateEndpoint", new()
{
CustomNetworkInterfaceName = "testPeNic",
IpConfigurations = new[]
{
new AzureNative.Network.Inputs.PrivateEndpointIPConfigurationArgs
{
GroupId = "file",
MemberName = "file",
Name = "pestaticconfig",
PrivateIPAddress = "192.168.0.6",
},
},
Location = "eastus2euap",
PrivateEndpointName = "testPe",
PrivateLinkServiceConnections = new[]
{
new AzureNative.Network.Inputs.PrivateLinkServiceConnectionArgs
{
GroupIds = new[]
{
"groupIdFromResource",
},
PrivateLinkServiceId = "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
RequestMessage = "Please approve my connection.",
},
},
ResourceGroupName = "rg1",
Subnet = new AzureNative.Network.Inputs.SubnetArgs
{
Id = "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet",
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-azure-native-sdk/network/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := network.NewPrivateEndpoint(ctx, "privateEndpoint", &network.PrivateEndpointArgs{
CustomNetworkInterfaceName: pulumi.String("testPeNic"),
IpConfigurations: []network.PrivateEndpointIPConfigurationArgs{
{
GroupId: pulumi.String("file"),
MemberName: pulumi.String("file"),
Name: pulumi.String("pestaticconfig"),
PrivateIPAddress: pulumi.String("192.168.0.6"),
},
},
Location: pulumi.String("eastus2euap"),
PrivateEndpointName: pulumi.String("testPe"),
PrivateLinkServiceConnections: []network.PrivateLinkServiceConnectionArgs{
{
GroupIds: pulumi.StringArray{
pulumi.String("groupIdFromResource"),
},
PrivateLinkServiceId: pulumi.String("/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls"),
RequestMessage: pulumi.String("Please approve my connection."),
},
},
ResourceGroupName: pulumi.String("rg1"),
Subnet: &network.SubnetTypeArgs{
Id: pulumi.String("/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"),
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.PrivateEndpoint;
import com.pulumi.azurenative.network.PrivateEndpointArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var privateEndpoint = new PrivateEndpoint("privateEndpoint", PrivateEndpointArgs.builder()
.customNetworkInterfaceName("testPeNic")
.ipConfigurations(Map.ofEntries(
Map.entry("groupId", "file"),
Map.entry("memberName", "file"),
Map.entry("name", "pestaticconfig"),
Map.entry("privateIPAddress", "192.168.0.6")
))
.location("eastus2euap")
.privateEndpointName("testPe")
.privateLinkServiceConnections(Map.ofEntries(
Map.entry("groupIds", "groupIdFromResource"),
Map.entry("privateLinkServiceId", "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls"),
Map.entry("requestMessage", "Please approve my connection.")
))
.resourceGroupName("rg1")
.subnet(Map.of("id", "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"))
.build());
}
}
Content copied to clipboard
Create private endpoint with application security groups
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var privateEndpoint = new AzureNative.Network.PrivateEndpoint("privateEndpoint", new()
{
ApplicationSecurityGroups = new[]
{
new AzureNative.Network.Inputs.ApplicationSecurityGroupArgs
{
Id = "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/applicationSecurityGroup/asg1",
},
},
Location = "eastus2euap",
PrivateEndpointName = "testPe",
PrivateLinkServiceConnections = new[]
{
new AzureNative.Network.Inputs.PrivateLinkServiceConnectionArgs
{
GroupIds = new[]
{
"groupIdFromResource",
},
PrivateLinkServiceId = "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
RequestMessage = "Please approve my connection.",
},
},
ResourceGroupName = "rg1",
Subnet = new AzureNative.Network.Inputs.SubnetArgs
{
Id = "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet",
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-azure-native-sdk/network/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := network.NewPrivateEndpoint(ctx, "privateEndpoint", &network.PrivateEndpointArgs{
ApplicationSecurityGroups: []network.ApplicationSecurityGroupTypeArgs{
{
Id: pulumi.String("/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/applicationSecurityGroup/asg1"),
},
},
Location: pulumi.String("eastus2euap"),
PrivateEndpointName: pulumi.String("testPe"),
PrivateLinkServiceConnections: []network.PrivateLinkServiceConnectionArgs{
{
GroupIds: pulumi.StringArray{
pulumi.String("groupIdFromResource"),
},
PrivateLinkServiceId: pulumi.String("/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls"),
RequestMessage: pulumi.String("Please approve my connection."),
},
},
ResourceGroupName: pulumi.String("rg1"),
Subnet: &network.SubnetTypeArgs{
Id: pulumi.String("/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"),
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.PrivateEndpoint;
import com.pulumi.azurenative.network.PrivateEndpointArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var privateEndpoint = new PrivateEndpoint("privateEndpoint", PrivateEndpointArgs.builder()
.applicationSecurityGroups(Map.of("id", "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/applicationSecurityGroup/asg1"))
.location("eastus2euap")
.privateEndpointName("testPe")
.privateLinkServiceConnections(Map.ofEntries(
Map.entry("groupIds", "groupIdFromResource"),
Map.entry("privateLinkServiceId", "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls"),
Map.entry("requestMessage", "Please approve my connection.")
))
.resourceGroupName("rg1")
.subnet(Map.of("id", "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"))
.build());
}
}
Content copied to clipboard
Create private endpoint with manual approval connection
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var privateEndpoint = new AzureNative.Network.PrivateEndpoint("privateEndpoint", new()
{
CustomNetworkInterfaceName = "testPeNic",
IpConfigurations = new[]
{
new AzureNative.Network.Inputs.PrivateEndpointIPConfigurationArgs
{
GroupId = "file",
MemberName = "file",
Name = "pestaticconfig",
PrivateIPAddress = "192.168.0.5",
},
},
Location = "eastus",
ManualPrivateLinkServiceConnections = new[]
{
new AzureNative.Network.Inputs.PrivateLinkServiceConnectionArgs
{
GroupIds = new[]
{
"groupIdFromResource",
},
PrivateLinkServiceId = "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls",
RequestMessage = "Please manually approve my connection.",
},
},
PrivateEndpointName = "testPe",
ResourceGroupName = "rg1",
Subnet = new AzureNative.Network.Inputs.SubnetArgs
{
Id = "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet",
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-azure-native-sdk/network/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := network.NewPrivateEndpoint(ctx, "privateEndpoint", &network.PrivateEndpointArgs{
CustomNetworkInterfaceName: pulumi.String("testPeNic"),
IpConfigurations: []network.PrivateEndpointIPConfigurationArgs{
{
GroupId: pulumi.String("file"),
MemberName: pulumi.String("file"),
Name: pulumi.String("pestaticconfig"),
PrivateIPAddress: pulumi.String("192.168.0.5"),
},
},
Location: pulumi.String("eastus"),
ManualPrivateLinkServiceConnections: []network.PrivateLinkServiceConnectionArgs{
{
GroupIds: pulumi.StringArray{
pulumi.String("groupIdFromResource"),
},
PrivateLinkServiceId: pulumi.String("/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls"),
RequestMessage: pulumi.String("Please manually approve my connection."),
},
},
PrivateEndpointName: pulumi.String("testPe"),
ResourceGroupName: pulumi.String("rg1"),
Subnet: &network.SubnetTypeArgs{
Id: pulumi.String("/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"),
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.PrivateEndpoint;
import com.pulumi.azurenative.network.PrivateEndpointArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var privateEndpoint = new PrivateEndpoint("privateEndpoint", PrivateEndpointArgs.builder()
.customNetworkInterfaceName("testPeNic")
.ipConfigurations(Map.ofEntries(
Map.entry("groupId", "file"),
Map.entry("memberName", "file"),
Map.entry("name", "pestaticconfig"),
Map.entry("privateIPAddress", "192.168.0.5")
))
.location("eastus")
.manualPrivateLinkServiceConnections(Map.ofEntries(
Map.entry("groupIds", "groupIdFromResource"),
Map.entry("privateLinkServiceId", "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls"),
Map.entry("requestMessage", "Please manually approve my connection.")
))
.privateEndpointName("testPe")
.resourceGroupName("rg1")
.subnet(Map.of("id", "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"))
.build());
}
}
Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:network:PrivateEndpoint testPe /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}
Content copied to clipboard
Properties
Link copied to clipboard
Link copied to clipboard