Network Acl
Manages the Network ACL for a Web Pubsub.
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.webpubsub.Service;
import com.pulumi.azure.webpubsub.ServiceArgs;
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.privatelink.Endpoint;
import com.pulumi.azure.privatelink.EndpointArgs;
import com.pulumi.azure.privatelink.inputs.EndpointPrivateServiceConnectionArgs;
import com.pulumi.azure.webpubsub.NetworkAcl;
import com.pulumi.azure.webpubsub.NetworkAclArgs;
import com.pulumi.azure.webpubsub.inputs.NetworkAclPublicNetworkArgs;
import com.pulumi.azure.webpubsub.inputs.NetworkAclPrivateEndpointArgs;
import com.pulumi.resources.CustomResourceOptions;
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("east us")
.build());
var exampleService = new Service("exampleService", ServiceArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.sku("Standard_S1")
.capacity(1)
.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.2.0/24")
.enforcePrivateLinkEndpointNetworkPolicies(true)
.build());
var exampleEndpoint = new Endpoint("exampleEndpoint", EndpointArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.subnetId(exampleSubnet.id())
.privateServiceConnection(EndpointPrivateServiceConnectionArgs.builder()
.name("psc-sig-test")
.isManualConnection(false)
.privateConnectionResourceId(exampleService.id())
.subresourceNames("webpubsub")
.build())
.build());
var exampleNetworkAcl = new NetworkAcl("exampleNetworkAcl", NetworkAclArgs.builder()
.webPubsubId(exampleService.id())
.defaultAction("Allow")
.publicNetwork(NetworkAclPublicNetworkArgs.builder()
.deniedRequestTypes("ClientConnection")
.build())
.privateEndpoints(NetworkAclPrivateEndpointArgs.builder()
.id(exampleEndpoint.id())
.deniedRequestTypes(
"RESTAPI",
"ClientConnection")
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(exampleEndpoint)
.build());
}
}
Content copied to clipboard
Import
Network ACLs for a Web Pubsub service can be imported using the resource id
, e.g.
$ pulumi import azure:webpubsub/networkAcl:NetworkAcl example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.SignalRService/webPubSub/webpubsub1
Content copied to clipboard