Module privatelink

This page documents the language specification for the azure package. If you're looking for help working with the inputs, outputs, or functions of azure resources in a Pulumi program, please see the resource documentation for examples and API reference.

Resources

Functions

Others

Resources

Resource Endpoint

class Endpoint extends CustomResource

Manages a Private Endpoint.

NOTE Private Endpoint is currently in Public Preview.

Azure Private Endpoint is a network interface that connects you privately and securely to a service powered by Azure Private Link. Private Endpoint uses a private IP address from your VNet, effectively bringing the service into your VNet. The service could be an Azure service such as Azure Storage, SQL, etc. or your own Private Link Service.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
    addressSpaces: ["10.0.0.0/16"],
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
});
const service = new azure.network.Subnet("service", {
    resourceGroupName: exampleResourceGroup.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefix: "10.0.1.0/24",
    enforcePrivateLinkServiceNetworkPolicies: true,
});
const endpoint = new azure.network.Subnet("endpoint", {
    resourceGroupName: exampleResourceGroup.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefix: "10.0.2.0/24",
    enforcePrivateLinkEndpointNetworkPolicies: true,
});
const examplePublicIp = new azure.network.PublicIp("examplePublicIp", {
    sku: "Standard",
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    allocationMethod: "Static",
});
const exampleLoadBalancer = new azure.lb.LoadBalancer("exampleLoadBalancer", {
    sku: "Standard",
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    frontend_ip_configuration: [{
        name: examplePublicIp.name,
        publicIpAddressId: examplePublicIp.id,
    }],
});
const exampleLinkService = new azure.privatedns.LinkService("exampleLinkService", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    nat_ip_configuration: [{
        name: examplePublicIp.name,
        primary: true,
        subnetId: service.id,
    }],
    loadBalancerFrontendIpConfigurationIds: [exampleLoadBalancer.frontendIpConfigurations.apply(frontendIpConfigurations => frontendIpConfigurations[0].id)],
});
const exampleEndpoint = new azure.privatelink.Endpoint("exampleEndpoint", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    subnetId: endpoint.id,
    private_service_connection: {
        name: "example-privateserviceconnection",
        privateConnectionResourceId: exampleLinkService.id,
        isManualConnection: false,
    },
});

constructor

new Endpoint(name: string, args: EndpointArgs, opts?: pulumi.CustomResourceOptions)

Create a Endpoint resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: EndpointState, opts?: pulumi.CustomResourceOptions): Endpoint

Get an existing Endpoint resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Endpoint

Returns true if the given object is an instance of Endpoint. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property location

public location: pulumi.Output<string>;

The supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

public name: pulumi.Output<string>;

Specifies the Name of the Private Endpoint. Changing this forces a new resource to be created.

property privateServiceConnection

public privateServiceConnection: pulumi.Output<EndpointPrivateServiceConnection>;

A privateServiceConnection block as defined below.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

Specifies the Name of the Resource Group within which the Private Endpoint should exist. Changing this forces a new resource to be created.

property subnetId

public subnetId: pulumi.Output<string>;

The ID of the Subnet from which Private IP Addresses will be allocated for this Private Endpoint. Changing this forces a new resource to be created.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Functions

Function getEndpointConnection

getEndpointConnection(args: GetEndpointConnectionArgs, opts?: pulumi.InvokeOptions): Promise<GetEndpointConnectionResult>

Use this data source to access the connection status information about an existing Private Endpoint Connection.

NOTE Private Endpoint is currently in Public Preview.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = azure.privatelink.getEndpointConnection({
    name: "example-private-endpoint",
    resourceGroupName: "example-rg",
});
export const privateEndpointStatus = example.then(example => example.privateServiceConnections[0].status);

Function getService

getService(args: GetServiceArgs, opts?: pulumi.InvokeOptions): Promise<GetServiceResult>

Use this data source to access information about an existing Private Link Service.

NOTE Private Link is currently in Public Preview.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = azure.privatelink.getService({
    name: "myPrivateLinkService",
    resourceGroupName: "PrivateLinkServiceRG",
});
export const privateLinkServiceId = example.then(example => example.id);

Function getServiceEndpointConnections

getServiceEndpointConnections(args: GetServiceEndpointConnectionsArgs, opts?: pulumi.InvokeOptions): Promise<GetServiceEndpointConnectionsResult>

Use this data source to access endpoint connection information about an existing Private Link Service.

NOTE Private Link is currently in Public Preview.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = azure.privatelink.getServiceEndpointConnections({
    serviceId: azurerm_private_link_service.example.id,
    resourceGroupName: azurerm_resource_group.example.name,
});
export const privateEndpointStatus = example.then(example => example.privateEndpointConnections[0].status);

Others

interface EndpointArgs

interface EndpointArgs

The set of arguments for constructing a Endpoint resource.

property location

location?: pulumi.Input<string>;

The supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the Name of the Private Endpoint. Changing this forces a new resource to be created.

property privateServiceConnection

privateServiceConnection: pulumi.Input<EndpointPrivateServiceConnection>;

A privateServiceConnection block as defined below.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

Specifies the Name of the Resource Group within which the Private Endpoint should exist. Changing this forces a new resource to be created.

property subnetId

subnetId: pulumi.Input<string>;

The ID of the Subnet from which Private IP Addresses will be allocated for this Private Endpoint. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

interface EndpointState

interface EndpointState

Input properties used for looking up and filtering Endpoint resources.

property location

location?: pulumi.Input<string>;

The supported Azure location where the resource exists. Changing this forces a new resource to be created.

property name

name?: pulumi.Input<string>;

Specifies the Name of the Private Endpoint. Changing this forces a new resource to be created.

property privateServiceConnection

privateServiceConnection?: pulumi.Input<EndpointPrivateServiceConnection>;

A privateServiceConnection block as defined below.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

Specifies the Name of the Resource Group within which the Private Endpoint should exist. Changing this forces a new resource to be created.

property subnetId

subnetId?: pulumi.Input<string>;

The ID of the Subnet from which Private IP Addresses will be allocated for this Private Endpoint. Changing this forces a new resource to be created.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

interface GetEndpointConnectionArgs

interface GetEndpointConnectionArgs

A collection of arguments for invoking getEndpointConnection.

property name

name: string;

Specifies the Name of the private endpoint.

property resourceGroupName

resourceGroupName: string;

Specifies the Name of the Resource Group within which the private endpoint exists.

interface GetEndpointConnectionResult

interface GetEndpointConnectionResult

A collection of values returned by getEndpointConnection.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property location

location: string;

The supported Azure location where the resource exists.

property name

name: string;

The name of the private endpoint.

property privateServiceConnections

privateServiceConnections: GetEndpointConnectionPrivateServiceConnection[];

property resourceGroupName

resourceGroupName: string;

interface GetServiceArgs

interface GetServiceArgs

A collection of arguments for invoking getService.

property name

name: string;

The name of the private link service.

property resourceGroupName

resourceGroupName: string;

The name of the resource group in which the private link service resides.

interface GetServiceEndpointConnectionsArgs

interface GetServiceEndpointConnectionsArgs

A collection of arguments for invoking getServiceEndpointConnections.

property resourceGroupName

resourceGroupName: string;

The name of the resource group in which the private link service resides.

property serviceId

serviceId: string;

The resource ID of the private link service.

interface GetServiceEndpointConnectionsResult

interface GetServiceEndpointConnectionsResult

A collection of values returned by getServiceEndpointConnections.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property location

location: string;

property privateEndpointConnections

privateEndpointConnections: GetServiceEndpointConnectionsPrivateEndpointConnection[];

property resourceGroupName

resourceGroupName: string;

property serviceId

serviceId: string;

property serviceName

serviceName: string;

The name of the private link service.

interface GetServiceResult

interface GetServiceResult

A collection of values returned by getService.

property alias

alias: string;

The alias is a globally unique name for your private link service which Azure generates for you. Your can use this alias to request a connection to your private link service.

property autoApprovalSubscriptionIds

autoApprovalSubscriptionIds: string[];

The list of subscription(s) globally unique identifiers that will be auto approved to use the private link service.

property enableProxyProtocol

enableProxyProtocol: boolean;

Does the Private Link Service support the Proxy Protocol?

property id

id: string;

The provider-assigned unique ID for this managed resource.

property loadBalancerFrontendIpConfigurationIds

loadBalancerFrontendIpConfigurationIds: string[];

The list of Standard Load Balancer(SLB) resource IDs. The Private Link service is tied to the frontend IP address of a SLB. All traffic destined for the private link service will reach the frontend of the SLB. You can configure SLB rules to direct this traffic to appropriate backend pools where your applications are running.

property location

location: string;

The supported Azure location where the resource exists.

property name

name: string;

The name of private link service NAT IP configuration.

property natIpConfigurations

natIpConfigurations: GetServiceNatIpConfiguration[];

The natIpConfiguration block as defined below.

property resourceGroupName

resourceGroupName: string;

property tags

tags: {[key: string]: string};

A mapping of tags to assign to the resource.

property visibilitySubscriptionIds

visibilitySubscriptionIds: string[];

The list of subscription(s) globally unique identifiers(GUID) that will be able to see the private link service.