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
- EndpointArgs
- EndpointState
- GetEndpointConnectionArgs
- GetEndpointConnectionResult
- GetServiceArgs
- GetServiceEndpointConnectionsArgs
- GetServiceEndpointConnectionsResult
- GetServiceResult
Resources
Resource Endpoint
class Endpoint extends CustomResourceManages 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): EndpointGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is EndpointReturns 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 EndpointArgsThe 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 EndpointStateInput 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 GetEndpointConnectionArgsA 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 GetEndpointConnectionResultA 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 GetServiceArgsA 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 GetServiceEndpointConnectionsArgsA 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 GetServiceEndpointConnectionsResultA 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 GetServiceResultA 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.