ApplicationSecurityGroupAssociationArgs

data class ApplicationSecurityGroupAssociationArgs(val applicationSecurityGroupId: Output<String>? = null, val privateEndpointId: Output<String>? = null) : ConvertibleToJava<ApplicationSecurityGroupAssociationArgs>

Manages an association between Private Endpoint and Application Security Group.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.CoreFunctions;
import com.pulumi.azure.core.inputs.GetSubscriptionArgs;
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 com.pulumi.azure.privatelink.Endpoint;
import com.pulumi.azure.privatelink.EndpointArgs;
import com.pulumi.azure.privatelink.inputs.EndpointPrivateServiceConnectionArgs;
import com.pulumi.azure.network.ApplicationSecurityGroup;
import com.pulumi.azure.network.ApplicationSecurityGroupArgs;
import com.pulumi.azure.privatelink.ApplicationSecurityGroupAssociation;
import com.pulumi.azure.privatelink.ApplicationSecurityGroupAssociationArgs;
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) {
final var current = CoreFunctions.getSubscription();
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 service = new Subnet("service", SubnetArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.5.1.0/24")
.enforcePrivateLinkServiceNetworkPolicies(true)
.build());
var endpoint = new Subnet("endpoint", SubnetArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.5.2.0/24")
.enforcePrivateLinkEndpointNetworkPolicies(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()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.autoApprovalSubscriptionIds(current.applyValue(getSubscriptionResult -> getSubscriptionResult.subscriptionId()))
.visibilitySubscriptionIds(current.applyValue(getSubscriptionResult -> getSubscriptionResult.subscriptionId()))
.natIpConfigurations(LinkServiceNatIpConfigurationArgs.builder()
.name("primaryIpConfiguration")
.primary(true)
.subnetId(service.id())
.build())
.loadBalancerFrontendIpConfigurationIds(exampleLoadBalancer.frontendIpConfigurations().applyValue(frontendIpConfigurations -> frontendIpConfigurations[0].id()))
.build());
var exampleEndpoint = new Endpoint("exampleEndpoint", EndpointArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.subnetId(endpoint.id())
.privateServiceConnection(EndpointPrivateServiceConnectionArgs.builder()
.name(exampleLinkService.name())
.isManualConnection(false)
.privateConnectionResourceId(exampleLinkService.id())
.build())
.build());
var exampleApplicationSecurityGroup = new ApplicationSecurityGroup("exampleApplicationSecurityGroup", ApplicationSecurityGroupArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.build());
var exampleApplicationSecurityGroupAssociation = new ApplicationSecurityGroupAssociation("exampleApplicationSecurityGroupAssociation", ApplicationSecurityGroupAssociationArgs.builder()
.privateEndpointId(exampleEndpoint.id())
.applicationSecurityGroupId(exampleApplicationSecurityGroup.id())
.build());
}
}

Import

Associations between Private Endpoint and Application Security Group can be imported using the resource id, e.g.

$ pulumi import azure:privatelink/applicationSecurityGroupAssociation:ApplicationSecurityGroupAssociation association1 "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/privateEndpoints/endpoints1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/applicationSecurityGroups/securityGroup1",

Constructors

Link copied to clipboard
fun ApplicationSecurityGroupAssociationArgs(applicationSecurityGroupId: Output<String>? = null, privateEndpointId: Output<String>? = null)

Functions

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

Properties

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

The id of application security group to associate. Changing this forces a new resource to be created.

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

The id of private endpoint to associate. Changing this forces a new resource to be created.