Network Security Group
NetworkSecurityGroup resource. Uses Azure REST API version 2024-05-01. In version 2.x of the Azure Native provider, it used API version 2023-02-01. Other available API versions: 2018-06-01, 2018-07-01, 2018-08-01, 2018-10-01, 2018-11-01, 2018-12-01, 2019-02-01, 2019-04-01, 2019-06-01, 2019-07-01, 2019-08-01, 2019-09-01, 2019-11-01, 2019-12-01, 2020-03-01, 2020-04-01, 2020-05-01, 2020-06-01, 2020-07-01, 2020-08-01, 2020-11-01, 2021-02-01, 2021-03-01, 2021-05-01, 2021-08-01, 2022-01-01, 2022-05-01, 2022-07-01, 2022-09-01, 2022-11-01, 2023-02-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01, 2023-11-01, 2024-01-01, 2024-03-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native network [ApiVersion]
. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.
Example Usage
Create network security group
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var networkSecurityGroup = new AzureNative.Network.NetworkSecurityGroup("networkSecurityGroup", new()
{
Location = "eastus",
NetworkSecurityGroupName = "testnsg",
ResourceGroupName = "rg1",
});
});
package main
import (
network "github.com/pulumi/pulumi-azure-native-sdk/network/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := network.NewNetworkSecurityGroup(ctx, "networkSecurityGroup", &network.NetworkSecurityGroupArgs{
Location: pulumi.String("eastus"),
NetworkSecurityGroupName: pulumi.String("testnsg"),
ResourceGroupName: pulumi.String("rg1"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.NetworkSecurityGroup;
import com.pulumi.azurenative.network.NetworkSecurityGroupArgs;
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 networkSecurityGroup = new NetworkSecurityGroup("networkSecurityGroup", NetworkSecurityGroupArgs.builder()
.location("eastus")
.networkSecurityGroupName("testnsg")
.resourceGroupName("rg1")
.build());
}
}
Create network security group with rule
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var networkSecurityGroup = new AzureNative.Network.NetworkSecurityGroup("networkSecurityGroup", new()
{
Location = "eastus",
NetworkSecurityGroupName = "testnsg",
ResourceGroupName = "rg1",
SecurityRules = new[]
{
new AzureNative.Network.Inputs.SecurityRuleArgs
{
Access = AzureNative.Network.SecurityRuleAccess.Allow,
DestinationAddressPrefix = "*",
DestinationPortRange = "80",
Direction = AzureNative.Network.SecurityRuleDirection.Inbound,
Name = "rule1",
Priority = 130,
Protocol = AzureNative.Network.SecurityRuleProtocol.Asterisk,
SourceAddressPrefix = "*",
SourcePortRange = "*",
},
},
});
});
package main
import (
network "github.com/pulumi/pulumi-azure-native-sdk/network/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := network.NewNetworkSecurityGroup(ctx, "networkSecurityGroup", &network.NetworkSecurityGroupArgs{
Location: pulumi.String("eastus"),
NetworkSecurityGroupName: pulumi.String("testnsg"),
ResourceGroupName: pulumi.String("rg1"),
SecurityRules: network.SecurityRuleTypeArray{
&network.SecurityRuleTypeArgs{
Access: pulumi.String(network.SecurityRuleAccessAllow),
DestinationAddressPrefix: pulumi.String("*"),
DestinationPortRange: pulumi.String("80"),
Direction: pulumi.String(network.SecurityRuleDirectionInbound),
Name: pulumi.String("rule1"),
Priority: pulumi.Int(130),
Protocol: pulumi.String(network.SecurityRuleProtocolAsterisk),
SourceAddressPrefix: pulumi.String("*"),
SourcePortRange: pulumi.String("*"),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.NetworkSecurityGroup;
import com.pulumi.azurenative.network.NetworkSecurityGroupArgs;
import com.pulumi.azurenative.network.inputs.SecurityRuleArgs;
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 networkSecurityGroup = new NetworkSecurityGroup("networkSecurityGroup", NetworkSecurityGroupArgs.builder()
.location("eastus")
.networkSecurityGroupName("testnsg")
.resourceGroupName("rg1")
.securityRules(SecurityRuleArgs.builder()
.access("Allow")
.destinationAddressPrefix("*")
.destinationPortRange("80")
.direction("Inbound")
.name("rule1")
.priority(130)
.protocol("*")
.sourceAddressPrefix("*")
.sourcePortRange("*")
.build())
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:network:NetworkSecurityGroup testnsg /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}
Properties
The Azure API version of the resource.
The default security rules of network security group.
A collection of references to flow log resources.
When enabled, flows created from Network Security Group connections will be re-evaluated when rules are updates. Initial enablement will trigger re-evaluation.
A collection of references to network interfaces.
The provisioning state of the network security group resource.
The resource GUID property of the network security group resource.
A collection of security rules of the network security group.
A collection of references to subnets.