1. Packages
  2. Azure Classic
  3. API Docs
  4. privatedns
  5. LinkService

We recommend using Azure Native.

Azure Classic v5.72.0 published on Monday, Apr 15, 2024 by Pulumi

azure.privatedns.LinkService

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v5.72.0 published on Monday, Apr 15, 2024 by Pulumi

    Manages a Private Link Service.

    NOTE Private Link is now in GA.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const example = new azure.core.ResourceGroup("example", {
        name: "example-resources",
        location: "West Europe",
    });
    const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", {
        name: "example-network",
        resourceGroupName: example.name,
        location: example.location,
        addressSpaces: ["10.5.0.0/16"],
    });
    const exampleSubnet = new azure.network.Subnet("example", {
        name: "example-subnet",
        resourceGroupName: example.name,
        virtualNetworkName: exampleVirtualNetwork.name,
        addressPrefixes: ["10.5.1.0/24"],
        enforcePrivateLinkServiceNetworkPolicies: true,
    });
    const examplePublicIp = new azure.network.PublicIp("example", {
        name: "example-api",
        sku: "Standard",
        location: example.location,
        resourceGroupName: example.name,
        allocationMethod: "Static",
    });
    const exampleLoadBalancer = new azure.lb.LoadBalancer("example", {
        name: "example-lb",
        sku: "Standard",
        location: example.location,
        resourceGroupName: example.name,
        frontendIpConfigurations: [{
            name: examplePublicIp.name,
            publicIpAddressId: examplePublicIp.id,
        }],
    });
    const exampleLinkService = new azure.privatedns.LinkService("example", {
        name: "example-privatelink",
        resourceGroupName: example.name,
        location: example.location,
        autoApprovalSubscriptionIds: ["00000000-0000-0000-0000-000000000000"],
        visibilitySubscriptionIds: ["00000000-0000-0000-0000-000000000000"],
        loadBalancerFrontendIpConfigurationIds: [exampleLoadBalancer.frontendIpConfigurations.apply(frontendIpConfigurations => frontendIpConfigurations?.[0]?.id)],
        natIpConfigurations: [
            {
                name: "primary",
                privateIpAddress: "10.5.1.17",
                privateIpAddressVersion: "IPv4",
                subnetId: exampleSubnet.id,
                primary: true,
            },
            {
                name: "secondary",
                privateIpAddress: "10.5.1.18",
                privateIpAddressVersion: "IPv4",
                subnetId: exampleSubnet.id,
                primary: false,
            },
        ],
    });
    
    import pulumi
    import pulumi_azure as azure
    
    example = azure.core.ResourceGroup("example",
        name="example-resources",
        location="West Europe")
    example_virtual_network = azure.network.VirtualNetwork("example",
        name="example-network",
        resource_group_name=example.name,
        location=example.location,
        address_spaces=["10.5.0.0/16"])
    example_subnet = azure.network.Subnet("example",
        name="example-subnet",
        resource_group_name=example.name,
        virtual_network_name=example_virtual_network.name,
        address_prefixes=["10.5.1.0/24"],
        enforce_private_link_service_network_policies=True)
    example_public_ip = azure.network.PublicIp("example",
        name="example-api",
        sku="Standard",
        location=example.location,
        resource_group_name=example.name,
        allocation_method="Static")
    example_load_balancer = azure.lb.LoadBalancer("example",
        name="example-lb",
        sku="Standard",
        location=example.location,
        resource_group_name=example.name,
        frontend_ip_configurations=[azure.lb.LoadBalancerFrontendIpConfigurationArgs(
            name=example_public_ip.name,
            public_ip_address_id=example_public_ip.id,
        )])
    example_link_service = azure.privatedns.LinkService("example",
        name="example-privatelink",
        resource_group_name=example.name,
        location=example.location,
        auto_approval_subscription_ids=["00000000-0000-0000-0000-000000000000"],
        visibility_subscription_ids=["00000000-0000-0000-0000-000000000000"],
        load_balancer_frontend_ip_configuration_ids=[example_load_balancer.frontend_ip_configurations[0].id],
        nat_ip_configurations=[
            azure.privatedns.LinkServiceNatIpConfigurationArgs(
                name="primary",
                private_ip_address="10.5.1.17",
                private_ip_address_version="IPv4",
                subnet_id=example_subnet.id,
                primary=True,
            ),
            azure.privatedns.LinkServiceNatIpConfigurationArgs(
                name="secondary",
                private_ip_address="10.5.1.18",
                private_ip_address_version="IPv4",
                subnet_id=example_subnet.id,
                primary=False,
            ),
        ])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/lb"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/privatedns"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
    			Name:     pulumi.String("example-resources"),
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
    			Name:              pulumi.String("example-network"),
    			ResourceGroupName: example.Name,
    			Location:          example.Location,
    			AddressSpaces: pulumi.StringArray{
    				pulumi.String("10.5.0.0/16"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
    			Name:               pulumi.String("example-subnet"),
    			ResourceGroupName:  example.Name,
    			VirtualNetworkName: exampleVirtualNetwork.Name,
    			AddressPrefixes: pulumi.StringArray{
    				pulumi.String("10.5.1.0/24"),
    			},
    			EnforcePrivateLinkServiceNetworkPolicies: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		examplePublicIp, err := network.NewPublicIp(ctx, "example", &network.PublicIpArgs{
    			Name:              pulumi.String("example-api"),
    			Sku:               pulumi.String("Standard"),
    			Location:          example.Location,
    			ResourceGroupName: example.Name,
    			AllocationMethod:  pulumi.String("Static"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleLoadBalancer, err := lb.NewLoadBalancer(ctx, "example", &lb.LoadBalancerArgs{
    			Name:              pulumi.String("example-lb"),
    			Sku:               pulumi.String("Standard"),
    			Location:          example.Location,
    			ResourceGroupName: example.Name,
    			FrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{
    				&lb.LoadBalancerFrontendIpConfigurationArgs{
    					Name:              examplePublicIp.Name,
    					PublicIpAddressId: examplePublicIp.ID(),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = privatedns.NewLinkService(ctx, "example", &privatedns.LinkServiceArgs{
    			Name:              pulumi.String("example-privatelink"),
    			ResourceGroupName: example.Name,
    			Location:          example.Location,
    			AutoApprovalSubscriptionIds: pulumi.StringArray{
    				pulumi.String("00000000-0000-0000-0000-000000000000"),
    			},
    			VisibilitySubscriptionIds: pulumi.StringArray{
    				pulumi.String("00000000-0000-0000-0000-000000000000"),
    			},
    			LoadBalancerFrontendIpConfigurationIds: pulumi.StringArray{
    				exampleLoadBalancer.FrontendIpConfigurations.ApplyT(func(frontendIpConfigurations []lb.LoadBalancerFrontendIpConfiguration) (*string, error) {
    					return &frontendIpConfigurations[0].Id, nil
    				}).(pulumi.StringPtrOutput),
    			},
    			NatIpConfigurations: privatedns.LinkServiceNatIpConfigurationArray{
    				&privatedns.LinkServiceNatIpConfigurationArgs{
    					Name:                    pulumi.String("primary"),
    					PrivateIpAddress:        pulumi.String("10.5.1.17"),
    					PrivateIpAddressVersion: pulumi.String("IPv4"),
    					SubnetId:                exampleSubnet.ID(),
    					Primary:                 pulumi.Bool(true),
    				},
    				&privatedns.LinkServiceNatIpConfigurationArgs{
    					Name:                    pulumi.String("secondary"),
    					PrivateIpAddress:        pulumi.String("10.5.1.18"),
    					PrivateIpAddressVersion: pulumi.String("IPv4"),
    					SubnetId:                exampleSubnet.ID(),
    					Primary:                 pulumi.Bool(false),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Azure.Core.ResourceGroup("example", new()
        {
            Name = "example-resources",
            Location = "West Europe",
        });
    
        var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new()
        {
            Name = "example-network",
            ResourceGroupName = example.Name,
            Location = example.Location,
            AddressSpaces = new[]
            {
                "10.5.0.0/16",
            },
        });
    
        var exampleSubnet = new Azure.Network.Subnet("example", new()
        {
            Name = "example-subnet",
            ResourceGroupName = example.Name,
            VirtualNetworkName = exampleVirtualNetwork.Name,
            AddressPrefixes = new[]
            {
                "10.5.1.0/24",
            },
            EnforcePrivateLinkServiceNetworkPolicies = true,
        });
    
        var examplePublicIp = new Azure.Network.PublicIp("example", new()
        {
            Name = "example-api",
            Sku = "Standard",
            Location = example.Location,
            ResourceGroupName = example.Name,
            AllocationMethod = "Static",
        });
    
        var exampleLoadBalancer = new Azure.Lb.LoadBalancer("example", new()
        {
            Name = "example-lb",
            Sku = "Standard",
            Location = example.Location,
            ResourceGroupName = example.Name,
            FrontendIpConfigurations = new[]
            {
                new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs
                {
                    Name = examplePublicIp.Name,
                    PublicIpAddressId = examplePublicIp.Id,
                },
            },
        });
    
        var exampleLinkService = new Azure.PrivateDns.LinkService("example", new()
        {
            Name = "example-privatelink",
            ResourceGroupName = example.Name,
            Location = example.Location,
            AutoApprovalSubscriptionIds = new[]
            {
                "00000000-0000-0000-0000-000000000000",
            },
            VisibilitySubscriptionIds = new[]
            {
                "00000000-0000-0000-0000-000000000000",
            },
            LoadBalancerFrontendIpConfigurationIds = new[]
            {
                exampleLoadBalancer.FrontendIpConfigurations.Apply(frontendIpConfigurations => frontendIpConfigurations[0]?.Id),
            },
            NatIpConfigurations = new[]
            {
                new Azure.PrivateDns.Inputs.LinkServiceNatIpConfigurationArgs
                {
                    Name = "primary",
                    PrivateIpAddress = "10.5.1.17",
                    PrivateIpAddressVersion = "IPv4",
                    SubnetId = exampleSubnet.Id,
                    Primary = true,
                },
                new Azure.PrivateDns.Inputs.LinkServiceNatIpConfigurationArgs
                {
                    Name = "secondary",
                    PrivateIpAddress = "10.5.1.18",
                    PrivateIpAddressVersion = "IPv4",
                    SubnetId = exampleSubnet.Id,
                    Primary = false,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.network.VirtualNetwork;
    import com.pulumi.azure.network.VirtualNetworkArgs;
    import com.pulumi.azure.network.Subnet;
    import com.pulumi.azure.network.SubnetArgs;
    import com.pulumi.azure.network.PublicIp;
    import com.pulumi.azure.network.PublicIpArgs;
    import com.pulumi.azure.lb.LoadBalancer;
    import com.pulumi.azure.lb.LoadBalancerArgs;
    import com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;
    import com.pulumi.azure.privatedns.LinkService;
    import com.pulumi.azure.privatedns.LinkServiceArgs;
    import com.pulumi.azure.privatedns.inputs.LinkServiceNatIpConfigurationArgs;
    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 example = new ResourceGroup("example", ResourceGroupArgs.builder()        
                .name("example-resources")
                .location("West Europe")
                .build());
    
            var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()        
                .name("example-network")
                .resourceGroupName(example.name())
                .location(example.location())
                .addressSpaces("10.5.0.0/16")
                .build());
    
            var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()        
                .name("example-subnet")
                .resourceGroupName(example.name())
                .virtualNetworkName(exampleVirtualNetwork.name())
                .addressPrefixes("10.5.1.0/24")
                .enforcePrivateLinkServiceNetworkPolicies(true)
                .build());
    
            var examplePublicIp = new PublicIp("examplePublicIp", PublicIpArgs.builder()        
                .name("example-api")
                .sku("Standard")
                .location(example.location())
                .resourceGroupName(example.name())
                .allocationMethod("Static")
                .build());
    
            var exampleLoadBalancer = new LoadBalancer("exampleLoadBalancer", LoadBalancerArgs.builder()        
                .name("example-lb")
                .sku("Standard")
                .location(example.location())
                .resourceGroupName(example.name())
                .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()
                    .name(examplePublicIp.name())
                    .publicIpAddressId(examplePublicIp.id())
                    .build())
                .build());
    
            var exampleLinkService = new LinkService("exampleLinkService", LinkServiceArgs.builder()        
                .name("example-privatelink")
                .resourceGroupName(example.name())
                .location(example.location())
                .autoApprovalSubscriptionIds("00000000-0000-0000-0000-000000000000")
                .visibilitySubscriptionIds("00000000-0000-0000-0000-000000000000")
                .loadBalancerFrontendIpConfigurationIds(exampleLoadBalancer.frontendIpConfigurations().applyValue(frontendIpConfigurations -> frontendIpConfigurations[0].id()))
                .natIpConfigurations(            
                    LinkServiceNatIpConfigurationArgs.builder()
                        .name("primary")
                        .privateIpAddress("10.5.1.17")
                        .privateIpAddressVersion("IPv4")
                        .subnetId(exampleSubnet.id())
                        .primary(true)
                        .build(),
                    LinkServiceNatIpConfigurationArgs.builder()
                        .name("secondary")
                        .privateIpAddress("10.5.1.18")
                        .privateIpAddressVersion("IPv4")
                        .subnetId(exampleSubnet.id())
                        .primary(false)
                        .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: azure:core:ResourceGroup
        properties:
          name: example-resources
          location: West Europe
      exampleVirtualNetwork:
        type: azure:network:VirtualNetwork
        name: example
        properties:
          name: example-network
          resourceGroupName: ${example.name}
          location: ${example.location}
          addressSpaces:
            - 10.5.0.0/16
      exampleSubnet:
        type: azure:network:Subnet
        name: example
        properties:
          name: example-subnet
          resourceGroupName: ${example.name}
          virtualNetworkName: ${exampleVirtualNetwork.name}
          addressPrefixes:
            - 10.5.1.0/24
          enforcePrivateLinkServiceNetworkPolicies: true
      examplePublicIp:
        type: azure:network:PublicIp
        name: example
        properties:
          name: example-api
          sku: Standard
          location: ${example.location}
          resourceGroupName: ${example.name}
          allocationMethod: Static
      exampleLoadBalancer:
        type: azure:lb:LoadBalancer
        name: example
        properties:
          name: example-lb
          sku: Standard
          location: ${example.location}
          resourceGroupName: ${example.name}
          frontendIpConfigurations:
            - name: ${examplePublicIp.name}
              publicIpAddressId: ${examplePublicIp.id}
      exampleLinkService:
        type: azure:privatedns:LinkService
        name: example
        properties:
          name: example-privatelink
          resourceGroupName: ${example.name}
          location: ${example.location}
          autoApprovalSubscriptionIds:
            - 00000000-0000-0000-0000-000000000000
          visibilitySubscriptionIds:
            - 00000000-0000-0000-0000-000000000000
          loadBalancerFrontendIpConfigurationIds:
            - ${exampleLoadBalancer.frontendIpConfigurations[0].id}
          natIpConfigurations:
            - name: primary
              privateIpAddress: 10.5.1.17
              privateIpAddressVersion: IPv4
              subnetId: ${exampleSubnet.id}
              primary: true
            - name: secondary
              privateIpAddress: 10.5.1.18
              privateIpAddressVersion: IPv4
              subnetId: ${exampleSubnet.id}
              primary: false
    

    Create LinkService Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new LinkService(name: string, args: LinkServiceArgs, opts?: CustomResourceOptions);
    @overload
    def LinkService(resource_name: str,
                    args: LinkServiceArgs,
                    opts: Optional[ResourceOptions] = None)
    
    @overload
    def LinkService(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    load_balancer_frontend_ip_configuration_ids: Optional[Sequence[str]] = None,
                    nat_ip_configurations: Optional[Sequence[LinkServiceNatIpConfigurationArgs]] = None,
                    resource_group_name: Optional[str] = None,
                    auto_approval_subscription_ids: Optional[Sequence[str]] = None,
                    enable_proxy_protocol: Optional[bool] = None,
                    fqdns: Optional[Sequence[str]] = None,
                    location: Optional[str] = None,
                    name: Optional[str] = None,
                    tags: Optional[Mapping[str, str]] = None,
                    visibility_subscription_ids: Optional[Sequence[str]] = None)
    func NewLinkService(ctx *Context, name string, args LinkServiceArgs, opts ...ResourceOption) (*LinkService, error)
    public LinkService(string name, LinkServiceArgs args, CustomResourceOptions? opts = null)
    public LinkService(String name, LinkServiceArgs args)
    public LinkService(String name, LinkServiceArgs args, CustomResourceOptions options)
    
    type: azure:privatedns:LinkService
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args LinkServiceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args LinkServiceArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args LinkServiceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args LinkServiceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args LinkServiceArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var linkServiceResource = new Azure.PrivateDns.LinkService("linkServiceResource", new()
    {
        LoadBalancerFrontendIpConfigurationIds = new[]
        {
            "string",
        },
        NatIpConfigurations = new[]
        {
            new Azure.PrivateDns.Inputs.LinkServiceNatIpConfigurationArgs
            {
                Name = "string",
                Primary = false,
                SubnetId = "string",
                PrivateIpAddress = "string",
                PrivateIpAddressVersion = "string",
            },
        },
        ResourceGroupName = "string",
        AutoApprovalSubscriptionIds = new[]
        {
            "string",
        },
        EnableProxyProtocol = false,
        Fqdns = new[]
        {
            "string",
        },
        Location = "string",
        Name = "string",
        Tags = 
        {
            { "string", "string" },
        },
        VisibilitySubscriptionIds = new[]
        {
            "string",
        },
    });
    
    example, err := privatedns.NewLinkService(ctx, "linkServiceResource", &privatedns.LinkServiceArgs{
    	LoadBalancerFrontendIpConfigurationIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	NatIpConfigurations: privatedns.LinkServiceNatIpConfigurationArray{
    		&privatedns.LinkServiceNatIpConfigurationArgs{
    			Name:                    pulumi.String("string"),
    			Primary:                 pulumi.Bool(false),
    			SubnetId:                pulumi.String("string"),
    			PrivateIpAddress:        pulumi.String("string"),
    			PrivateIpAddressVersion: pulumi.String("string"),
    		},
    	},
    	ResourceGroupName: pulumi.String("string"),
    	AutoApprovalSubscriptionIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	EnableProxyProtocol: pulumi.Bool(false),
    	Fqdns: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Location: pulumi.String("string"),
    	Name:     pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	VisibilitySubscriptionIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var linkServiceResource = new LinkService("linkServiceResource", LinkServiceArgs.builder()        
        .loadBalancerFrontendIpConfigurationIds("string")
        .natIpConfigurations(LinkServiceNatIpConfigurationArgs.builder()
            .name("string")
            .primary(false)
            .subnetId("string")
            .privateIpAddress("string")
            .privateIpAddressVersion("string")
            .build())
        .resourceGroupName("string")
        .autoApprovalSubscriptionIds("string")
        .enableProxyProtocol(false)
        .fqdns("string")
        .location("string")
        .name("string")
        .tags(Map.of("string", "string"))
        .visibilitySubscriptionIds("string")
        .build());
    
    link_service_resource = azure.privatedns.LinkService("linkServiceResource",
        load_balancer_frontend_ip_configuration_ids=["string"],
        nat_ip_configurations=[azure.privatedns.LinkServiceNatIpConfigurationArgs(
            name="string",
            primary=False,
            subnet_id="string",
            private_ip_address="string",
            private_ip_address_version="string",
        )],
        resource_group_name="string",
        auto_approval_subscription_ids=["string"],
        enable_proxy_protocol=False,
        fqdns=["string"],
        location="string",
        name="string",
        tags={
            "string": "string",
        },
        visibility_subscription_ids=["string"])
    
    const linkServiceResource = new azure.privatedns.LinkService("linkServiceResource", {
        loadBalancerFrontendIpConfigurationIds: ["string"],
        natIpConfigurations: [{
            name: "string",
            primary: false,
            subnetId: "string",
            privateIpAddress: "string",
            privateIpAddressVersion: "string",
        }],
        resourceGroupName: "string",
        autoApprovalSubscriptionIds: ["string"],
        enableProxyProtocol: false,
        fqdns: ["string"],
        location: "string",
        name: "string",
        tags: {
            string: "string",
        },
        visibilitySubscriptionIds: ["string"],
    });
    
    type: azure:privatedns:LinkService
    properties:
        autoApprovalSubscriptionIds:
            - string
        enableProxyProtocol: false
        fqdns:
            - string
        loadBalancerFrontendIpConfigurationIds:
            - string
        location: string
        name: string
        natIpConfigurations:
            - name: string
              primary: false
              privateIpAddress: string
              privateIpAddressVersion: string
              subnetId: string
        resourceGroupName: string
        tags:
            string: string
        visibilitySubscriptionIds:
            - string
    

    LinkService Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The LinkService resource accepts the following input properties:

    LoadBalancerFrontendIpConfigurationIds List<string>
    A list of Frontend IP Configuration IDs from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running. Changing this forces a new resource to be created.
    NatIpConfigurations List<LinkServiceNatIpConfiguration>
    One or more (up to 8) nat_ip_configuration block as defined below.
    ResourceGroupName string
    The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.
    AutoApprovalSubscriptionIds List<string>
    A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.
    EnableProxyProtocol bool
    Should the Private Link Service support the Proxy Protocol?
    Fqdns List<string>
    List of FQDNs allowed for the Private Link Service.
    Location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    Name string
    Specifies the name of this Private Link Service. Changing this forces a new resource to be created.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    VisibilitySubscriptionIds List<string>

    A list of Subscription UUID/GUID's that will be able to see this Private Link Service.

    NOTE: If no Subscription IDs are specified then Azure allows every Subscription to see this Private Link Service.

    LoadBalancerFrontendIpConfigurationIds []string
    A list of Frontend IP Configuration IDs from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running. Changing this forces a new resource to be created.
    NatIpConfigurations []LinkServiceNatIpConfigurationArgs
    One or more (up to 8) nat_ip_configuration block as defined below.
    ResourceGroupName string
    The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.
    AutoApprovalSubscriptionIds []string
    A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.
    EnableProxyProtocol bool
    Should the Private Link Service support the Proxy Protocol?
    Fqdns []string
    List of FQDNs allowed for the Private Link Service.
    Location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    Name string
    Specifies the name of this Private Link Service. Changing this forces a new resource to be created.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    VisibilitySubscriptionIds []string

    A list of Subscription UUID/GUID's that will be able to see this Private Link Service.

    NOTE: If no Subscription IDs are specified then Azure allows every Subscription to see this Private Link Service.

    loadBalancerFrontendIpConfigurationIds List<String>
    A list of Frontend IP Configuration IDs from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running. Changing this forces a new resource to be created.
    natIpConfigurations List<LinkServiceNatIpConfiguration>
    One or more (up to 8) nat_ip_configuration block as defined below.
    resourceGroupName String
    The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.
    autoApprovalSubscriptionIds List<String>
    A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.
    enableProxyProtocol Boolean
    Should the Private Link Service support the Proxy Protocol?
    fqdns List<String>
    List of FQDNs allowed for the Private Link Service.
    location String
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name String
    Specifies the name of this Private Link Service. Changing this forces a new resource to be created.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    visibilitySubscriptionIds List<String>

    A list of Subscription UUID/GUID's that will be able to see this Private Link Service.

    NOTE: If no Subscription IDs are specified then Azure allows every Subscription to see this Private Link Service.

    loadBalancerFrontendIpConfigurationIds string[]
    A list of Frontend IP Configuration IDs from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running. Changing this forces a new resource to be created.
    natIpConfigurations LinkServiceNatIpConfiguration[]
    One or more (up to 8) nat_ip_configuration block as defined below.
    resourceGroupName string
    The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.
    autoApprovalSubscriptionIds string[]
    A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.
    enableProxyProtocol boolean
    Should the Private Link Service support the Proxy Protocol?
    fqdns string[]
    List of FQDNs allowed for the Private Link Service.
    location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name string
    Specifies the name of this Private Link Service. Changing this forces a new resource to be created.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    visibilitySubscriptionIds string[]

    A list of Subscription UUID/GUID's that will be able to see this Private Link Service.

    NOTE: If no Subscription IDs are specified then Azure allows every Subscription to see this Private Link Service.

    load_balancer_frontend_ip_configuration_ids Sequence[str]
    A list of Frontend IP Configuration IDs from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running. Changing this forces a new resource to be created.
    nat_ip_configurations Sequence[LinkServiceNatIpConfigurationArgs]
    One or more (up to 8) nat_ip_configuration block as defined below.
    resource_group_name str
    The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.
    auto_approval_subscription_ids Sequence[str]
    A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.
    enable_proxy_protocol bool
    Should the Private Link Service support the Proxy Protocol?
    fqdns Sequence[str]
    List of FQDNs allowed for the Private Link Service.
    location str
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name str
    Specifies the name of this Private Link Service. Changing this forces a new resource to be created.
    tags Mapping[str, str]
    A mapping of tags to assign to the resource.
    visibility_subscription_ids Sequence[str]

    A list of Subscription UUID/GUID's that will be able to see this Private Link Service.

    NOTE: If no Subscription IDs are specified then Azure allows every Subscription to see this Private Link Service.

    loadBalancerFrontendIpConfigurationIds List<String>
    A list of Frontend IP Configuration IDs from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running. Changing this forces a new resource to be created.
    natIpConfigurations List<Property Map>
    One or more (up to 8) nat_ip_configuration block as defined below.
    resourceGroupName String
    The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.
    autoApprovalSubscriptionIds List<String>
    A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.
    enableProxyProtocol Boolean
    Should the Private Link Service support the Proxy Protocol?
    fqdns List<String>
    List of FQDNs allowed for the Private Link Service.
    location String
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name String
    Specifies the name of this Private Link Service. Changing this forces a new resource to be created.
    tags Map<String>
    A mapping of tags to assign to the resource.
    visibilitySubscriptionIds List<String>

    A list of Subscription UUID/GUID's that will be able to see this Private Link Service.

    NOTE: If no Subscription IDs are specified then Azure allows every Subscription to see this Private Link Service.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the LinkService resource produces the following output properties:

    Alias string
    A globally unique DNS Name for your Private Link Service. You can use this alias to request a connection to your Private Link Service.
    Id string
    The provider-assigned unique ID for this managed resource.
    Alias string
    A globally unique DNS Name for your Private Link Service. You can use this alias to request a connection to your Private Link Service.
    Id string
    The provider-assigned unique ID for this managed resource.
    alias String
    A globally unique DNS Name for your Private Link Service. You can use this alias to request a connection to your Private Link Service.
    id String
    The provider-assigned unique ID for this managed resource.
    alias string
    A globally unique DNS Name for your Private Link Service. You can use this alias to request a connection to your Private Link Service.
    id string
    The provider-assigned unique ID for this managed resource.
    alias str
    A globally unique DNS Name for your Private Link Service. You can use this alias to request a connection to your Private Link Service.
    id str
    The provider-assigned unique ID for this managed resource.
    alias String
    A globally unique DNS Name for your Private Link Service. You can use this alias to request a connection to your Private Link Service.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing LinkService Resource

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

    public static get(name: string, id: Input<ID>, state?: LinkServiceState, opts?: CustomResourceOptions): LinkService
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            alias: Optional[str] = None,
            auto_approval_subscription_ids: Optional[Sequence[str]] = None,
            enable_proxy_protocol: Optional[bool] = None,
            fqdns: Optional[Sequence[str]] = None,
            load_balancer_frontend_ip_configuration_ids: Optional[Sequence[str]] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            nat_ip_configurations: Optional[Sequence[LinkServiceNatIpConfigurationArgs]] = None,
            resource_group_name: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            visibility_subscription_ids: Optional[Sequence[str]] = None) -> LinkService
    func GetLinkService(ctx *Context, name string, id IDInput, state *LinkServiceState, opts ...ResourceOption) (*LinkService, error)
    public static LinkService Get(string name, Input<string> id, LinkServiceState? state, CustomResourceOptions? opts = null)
    public static LinkService get(String name, Output<String> id, LinkServiceState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Alias string
    A globally unique DNS Name for your Private Link Service. You can use this alias to request a connection to your Private Link Service.
    AutoApprovalSubscriptionIds List<string>
    A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.
    EnableProxyProtocol bool
    Should the Private Link Service support the Proxy Protocol?
    Fqdns List<string>
    List of FQDNs allowed for the Private Link Service.
    LoadBalancerFrontendIpConfigurationIds List<string>
    A list of Frontend IP Configuration IDs from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running. Changing this forces a new resource to be created.
    Location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    Name string
    Specifies the name of this Private Link Service. Changing this forces a new resource to be created.
    NatIpConfigurations List<LinkServiceNatIpConfiguration>
    One or more (up to 8) nat_ip_configuration block as defined below.
    ResourceGroupName string
    The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    VisibilitySubscriptionIds List<string>

    A list of Subscription UUID/GUID's that will be able to see this Private Link Service.

    NOTE: If no Subscription IDs are specified then Azure allows every Subscription to see this Private Link Service.

    Alias string
    A globally unique DNS Name for your Private Link Service. You can use this alias to request a connection to your Private Link Service.
    AutoApprovalSubscriptionIds []string
    A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.
    EnableProxyProtocol bool
    Should the Private Link Service support the Proxy Protocol?
    Fqdns []string
    List of FQDNs allowed for the Private Link Service.
    LoadBalancerFrontendIpConfigurationIds []string
    A list of Frontend IP Configuration IDs from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running. Changing this forces a new resource to be created.
    Location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    Name string
    Specifies the name of this Private Link Service. Changing this forces a new resource to be created.
    NatIpConfigurations []LinkServiceNatIpConfigurationArgs
    One or more (up to 8) nat_ip_configuration block as defined below.
    ResourceGroupName string
    The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    VisibilitySubscriptionIds []string

    A list of Subscription UUID/GUID's that will be able to see this Private Link Service.

    NOTE: If no Subscription IDs are specified then Azure allows every Subscription to see this Private Link Service.

    alias String
    A globally unique DNS Name for your Private Link Service. You can use this alias to request a connection to your Private Link Service.
    autoApprovalSubscriptionIds List<String>
    A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.
    enableProxyProtocol Boolean
    Should the Private Link Service support the Proxy Protocol?
    fqdns List<String>
    List of FQDNs allowed for the Private Link Service.
    loadBalancerFrontendIpConfigurationIds List<String>
    A list of Frontend IP Configuration IDs from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running. Changing this forces a new resource to be created.
    location String
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name String
    Specifies the name of this Private Link Service. Changing this forces a new resource to be created.
    natIpConfigurations List<LinkServiceNatIpConfiguration>
    One or more (up to 8) nat_ip_configuration block as defined below.
    resourceGroupName String
    The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    visibilitySubscriptionIds List<String>

    A list of Subscription UUID/GUID's that will be able to see this Private Link Service.

    NOTE: If no Subscription IDs are specified then Azure allows every Subscription to see this Private Link Service.

    alias string
    A globally unique DNS Name for your Private Link Service. You can use this alias to request a connection to your Private Link Service.
    autoApprovalSubscriptionIds string[]
    A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.
    enableProxyProtocol boolean
    Should the Private Link Service support the Proxy Protocol?
    fqdns string[]
    List of FQDNs allowed for the Private Link Service.
    loadBalancerFrontendIpConfigurationIds string[]
    A list of Frontend IP Configuration IDs from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running. Changing this forces a new resource to be created.
    location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name string
    Specifies the name of this Private Link Service. Changing this forces a new resource to be created.
    natIpConfigurations LinkServiceNatIpConfiguration[]
    One or more (up to 8) nat_ip_configuration block as defined below.
    resourceGroupName string
    The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    visibilitySubscriptionIds string[]

    A list of Subscription UUID/GUID's that will be able to see this Private Link Service.

    NOTE: If no Subscription IDs are specified then Azure allows every Subscription to see this Private Link Service.

    alias str
    A globally unique DNS Name for your Private Link Service. You can use this alias to request a connection to your Private Link Service.
    auto_approval_subscription_ids Sequence[str]
    A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.
    enable_proxy_protocol bool
    Should the Private Link Service support the Proxy Protocol?
    fqdns Sequence[str]
    List of FQDNs allowed for the Private Link Service.
    load_balancer_frontend_ip_configuration_ids Sequence[str]
    A list of Frontend IP Configuration IDs from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running. Changing this forces a new resource to be created.
    location str
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name str
    Specifies the name of this Private Link Service. Changing this forces a new resource to be created.
    nat_ip_configurations Sequence[LinkServiceNatIpConfigurationArgs]
    One or more (up to 8) nat_ip_configuration block as defined below.
    resource_group_name str
    The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.
    tags Mapping[str, str]
    A mapping of tags to assign to the resource.
    visibility_subscription_ids Sequence[str]

    A list of Subscription UUID/GUID's that will be able to see this Private Link Service.

    NOTE: If no Subscription IDs are specified then Azure allows every Subscription to see this Private Link Service.

    alias String
    A globally unique DNS Name for your Private Link Service. You can use this alias to request a connection to your Private Link Service.
    autoApprovalSubscriptionIds List<String>
    A list of Subscription UUID/GUID's that will be automatically be able to use this Private Link Service.
    enableProxyProtocol Boolean
    Should the Private Link Service support the Proxy Protocol?
    fqdns List<String>
    List of FQDNs allowed for the Private Link Service.
    loadBalancerFrontendIpConfigurationIds List<String>
    A list of Frontend IP Configuration IDs from a Standard Load Balancer, where traffic from the Private Link Service should be routed. You can use Load Balancer Rules to direct this traffic to appropriate backend pools where your applications are running. Changing this forces a new resource to be created.
    location String
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name String
    Specifies the name of this Private Link Service. Changing this forces a new resource to be created.
    natIpConfigurations List<Property Map>
    One or more (up to 8) nat_ip_configuration block as defined below.
    resourceGroupName String
    The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.
    tags Map<String>
    A mapping of tags to assign to the resource.
    visibilitySubscriptionIds List<String>

    A list of Subscription UUID/GUID's that will be able to see this Private Link Service.

    NOTE: If no Subscription IDs are specified then Azure allows every Subscription to see this Private Link Service.

    Supporting Types

    LinkServiceNatIpConfiguration, LinkServiceNatIpConfigurationArgs

    Name string
    Specifies the name which should be used for the NAT IP Configuration. Changing this forces a new resource to be created.
    Primary bool
    Is this is the Primary IP Configuration? Changing this forces a new resource to be created.
    SubnetId string

    Specifies the ID of the Subnet which should be used for the Private Link Service.

    NOTE: Verify that the Subnet's enforce_private_link_service_network_policies attribute is set to true.

    PrivateIpAddress string
    Specifies a Private Static IP Address for this IP Configuration.
    PrivateIpAddressVersion string
    The version of the IP Protocol which should be used. At this time the only supported value is IPv4. Defaults to IPv4.
    Name string
    Specifies the name which should be used for the NAT IP Configuration. Changing this forces a new resource to be created.
    Primary bool
    Is this is the Primary IP Configuration? Changing this forces a new resource to be created.
    SubnetId string

    Specifies the ID of the Subnet which should be used for the Private Link Service.

    NOTE: Verify that the Subnet's enforce_private_link_service_network_policies attribute is set to true.

    PrivateIpAddress string
    Specifies a Private Static IP Address for this IP Configuration.
    PrivateIpAddressVersion string
    The version of the IP Protocol which should be used. At this time the only supported value is IPv4. Defaults to IPv4.
    name String
    Specifies the name which should be used for the NAT IP Configuration. Changing this forces a new resource to be created.
    primary Boolean
    Is this is the Primary IP Configuration? Changing this forces a new resource to be created.
    subnetId String

    Specifies the ID of the Subnet which should be used for the Private Link Service.

    NOTE: Verify that the Subnet's enforce_private_link_service_network_policies attribute is set to true.

    privateIpAddress String
    Specifies a Private Static IP Address for this IP Configuration.
    privateIpAddressVersion String
    The version of the IP Protocol which should be used. At this time the only supported value is IPv4. Defaults to IPv4.
    name string
    Specifies the name which should be used for the NAT IP Configuration. Changing this forces a new resource to be created.
    primary boolean
    Is this is the Primary IP Configuration? Changing this forces a new resource to be created.
    subnetId string

    Specifies the ID of the Subnet which should be used for the Private Link Service.

    NOTE: Verify that the Subnet's enforce_private_link_service_network_policies attribute is set to true.

    privateIpAddress string
    Specifies a Private Static IP Address for this IP Configuration.
    privateIpAddressVersion string
    The version of the IP Protocol which should be used. At this time the only supported value is IPv4. Defaults to IPv4.
    name str
    Specifies the name which should be used for the NAT IP Configuration. Changing this forces a new resource to be created.
    primary bool
    Is this is the Primary IP Configuration? Changing this forces a new resource to be created.
    subnet_id str

    Specifies the ID of the Subnet which should be used for the Private Link Service.

    NOTE: Verify that the Subnet's enforce_private_link_service_network_policies attribute is set to true.

    private_ip_address str
    Specifies a Private Static IP Address for this IP Configuration.
    private_ip_address_version str
    The version of the IP Protocol which should be used. At this time the only supported value is IPv4. Defaults to IPv4.
    name String
    Specifies the name which should be used for the NAT IP Configuration. Changing this forces a new resource to be created.
    primary Boolean
    Is this is the Primary IP Configuration? Changing this forces a new resource to be created.
    subnetId String

    Specifies the ID of the Subnet which should be used for the Private Link Service.

    NOTE: Verify that the Subnet's enforce_private_link_service_network_policies attribute is set to true.

    privateIpAddress String
    Specifies a Private Static IP Address for this IP Configuration.
    privateIpAddressVersion String
    The version of the IP Protocol which should be used. At this time the only supported value is IPv4. Defaults to IPv4.

    Import

    Private Link Services can be imported using the resource id, e.g.

    $ pulumi import azure:privatedns/linkService:LinkService example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/privateLinkServices/service1
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Azure Classic v5.72.0 published on Monday, Apr 15, 2024 by Pulumi