LinkServiceArgs

data class LinkServiceArgs(val autoApprovalSubscriptionIds: Output<List<String>>? = null, val enableProxyProtocol: Output<Boolean>? = null, val fqdns: Output<List<String>>? = null, val loadBalancerFrontendIpConfigurationIds: Output<List<String>>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val natIpConfigurations: Output<List<LinkServiceNatIpConfigurationArgs>>? = null, val resourceGroupName: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val visibilitySubscriptionIds: Output<List<String>>? = null) : ConvertibleToJava<LinkServiceArgs>

Manages a Private Link Service.

NOTE Private Link is now in GA.

Example Usage

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 exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.addressSpaces("10.5.0.0/16")
.build());
var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.5.1.0/24")
.enforcePrivateLinkServiceNetworkPolicies(true)
.build());
var examplePublicIp = new PublicIp("examplePublicIp", PublicIpArgs.builder()
.sku("Standard")
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.allocationMethod("Static")
.build());
var exampleLoadBalancer = new LoadBalancer("exampleLoadBalancer", LoadBalancerArgs.builder()
.sku("Standard")
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()
.name(examplePublicIp.name())
.publicIpAddressId(examplePublicIp.id())
.build())
.build());
var exampleLinkService = new LinkService("exampleLinkService", LinkServiceArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.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());
}
}

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

Constructors

Link copied to clipboard
fun LinkServiceArgs(autoApprovalSubscriptionIds: Output<List<String>>? = null, enableProxyProtocol: Output<Boolean>? = null, fqdns: Output<List<String>>? = null, loadBalancerFrontendIpConfigurationIds: Output<List<String>>? = null, location: Output<String>? = null, name: Output<String>? = null, natIpConfigurations: Output<List<LinkServiceNatIpConfigurationArgs>>? = null, resourceGroupName: Output<String>? = null, tags: Output<Map<String, String>>? = null, visibilitySubscriptionIds: Output<List<String>>? = null)

Functions

Link copied to clipboard
open override fun toJava(): LinkServiceArgs

Properties

Link copied to clipboard

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

Link copied to clipboard
val enableProxyProtocol: Output<Boolean>? = null

Should the Private Link Service support the Proxy Protocol?

Link copied to clipboard
val fqdns: Output<List<String>>? = null

List of FQDNs allowed for the Private Link Service.

Link copied to clipboard

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.

Link copied to clipboard
val location: Output<String>? = null

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

Link copied to clipboard
val name: Output<String>? = null

Specifies the name of this Private Link Service. Changing this forces a new resource to be created.

Link copied to clipboard

One or more (up to 8) nat_ip_configuration block as defined below.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the Resource Group where the Private Link Service should exist. Changing this forces a new resource to be created.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A mapping of tags to assign to the resource.

Link copied to clipboard
val visibilitySubscriptionIds: Output<List<String>>? = null

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