1. Packages
  2. Nutanix
  3. API Docs
  4. NetworkSecurityRule
Nutanix v0.5.0 published on Monday, Nov 4, 2024 by Piers Karsenbarg

nutanix.NetworkSecurityRule

Explore with Pulumi AI

nutanix logo
Nutanix v0.5.0 published on Monday, Nov 4, 2024 by Piers Karsenbarg

    Provides a Nutanix network security rule resource to Create a network security rule.

    NOTE: The use of network_security_rule is only applicable in AHV clusters and requires Microsegmentation to be enabled. This feature is a function of the Flow product and requires a Flow license. For more information on Flow and Microsegmentation please visit https://www.nutanix.com/products/flow

    Example Usage

    Isolation Rule Example

    import * as pulumi from "@pulumi/pulumi";
    import * as nutanix from "@pierskarsenbarg/nutanix";
    
    const isolation = new nutanix.NetworkSecurityRule("isolation", {
        description: "Isolation Rule Example",
        isolationRuleAction: "APPLY",
        isolationRuleFirstEntityFilterKindLists: ["vm"],
        isolationRuleFirstEntityFilterParams: [{
            name: "Environment",
            values: ["Dev"],
        }],
        isolationRuleFirstEntityFilterType: "CATEGORIES_MATCH_ALL",
        isolationRuleSecondEntityFilterKindLists: ["vm"],
        isolationRuleSecondEntityFilterParams: [{
            name: "Environment",
            values: ["Production"],
        }],
        isolationRuleSecondEntityFilterType: "CATEGORIES_MATCH_ALL",
    });
    
    import pulumi
    import pulumi_nutanix as nutanix
    
    isolation = nutanix.NetworkSecurityRule("isolation",
        description="Isolation Rule Example",
        isolation_rule_action="APPLY",
        isolation_rule_first_entity_filter_kind_lists=["vm"],
        isolation_rule_first_entity_filter_params=[{
            "name": "Environment",
            "values": ["Dev"],
        }],
        isolation_rule_first_entity_filter_type="CATEGORIES_MATCH_ALL",
        isolation_rule_second_entity_filter_kind_lists=["vm"],
        isolation_rule_second_entity_filter_params=[{
            "name": "Environment",
            "values": ["Production"],
        }],
        isolation_rule_second_entity_filter_type="CATEGORIES_MATCH_ALL")
    
    package main
    
    import (
    	"github.com/pierskarsenbarg/pulumi-nutanix/sdk/go/nutanix"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := nutanix.NewNetworkSecurityRule(ctx, "isolation", &nutanix.NetworkSecurityRuleArgs{
    			Description:         pulumi.String("Isolation Rule Example"),
    			IsolationRuleAction: pulumi.String("APPLY"),
    			IsolationRuleFirstEntityFilterKindLists: pulumi.StringArray{
    				pulumi.String("vm"),
    			},
    			IsolationRuleFirstEntityFilterParams: nutanix.NetworkSecurityRuleIsolationRuleFirstEntityFilterParamArray{
    				&nutanix.NetworkSecurityRuleIsolationRuleFirstEntityFilterParamArgs{
    					Name: pulumi.String("Environment"),
    					Values: pulumi.StringArray{
    						pulumi.String("Dev"),
    					},
    				},
    			},
    			IsolationRuleFirstEntityFilterType: pulumi.String("CATEGORIES_MATCH_ALL"),
    			IsolationRuleSecondEntityFilterKindLists: pulumi.StringArray{
    				pulumi.String("vm"),
    			},
    			IsolationRuleSecondEntityFilterParams: nutanix.NetworkSecurityRuleIsolationRuleSecondEntityFilterParamArray{
    				&nutanix.NetworkSecurityRuleIsolationRuleSecondEntityFilterParamArgs{
    					Name: pulumi.String("Environment"),
    					Values: pulumi.StringArray{
    						pulumi.String("Production"),
    					},
    				},
    			},
    			IsolationRuleSecondEntityFilterType: pulumi.String("CATEGORIES_MATCH_ALL"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Nutanix = PiersKarsenbarg.Nutanix;
    
    return await Deployment.RunAsync(() => 
    {
        var isolation = new Nutanix.NetworkSecurityRule("isolation", new()
        {
            Description = "Isolation Rule Example",
            IsolationRuleAction = "APPLY",
            IsolationRuleFirstEntityFilterKindLists = new[]
            {
                "vm",
            },
            IsolationRuleFirstEntityFilterParams = new[]
            {
                new Nutanix.Inputs.NetworkSecurityRuleIsolationRuleFirstEntityFilterParamArgs
                {
                    Name = "Environment",
                    Values = new[]
                    {
                        "Dev",
                    },
                },
            },
            IsolationRuleFirstEntityFilterType = "CATEGORIES_MATCH_ALL",
            IsolationRuleSecondEntityFilterKindLists = new[]
            {
                "vm",
            },
            IsolationRuleSecondEntityFilterParams = new[]
            {
                new Nutanix.Inputs.NetworkSecurityRuleIsolationRuleSecondEntityFilterParamArgs
                {
                    Name = "Environment",
                    Values = new[]
                    {
                        "Production",
                    },
                },
            },
            IsolationRuleSecondEntityFilterType = "CATEGORIES_MATCH_ALL",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.nutanix.NetworkSecurityRule;
    import com.pulumi.nutanix.NetworkSecurityRuleArgs;
    import com.pulumi.nutanix.inputs.NetworkSecurityRuleIsolationRuleFirstEntityFilterParamArgs;
    import com.pulumi.nutanix.inputs.NetworkSecurityRuleIsolationRuleSecondEntityFilterParamArgs;
    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 isolation = new NetworkSecurityRule("isolation", NetworkSecurityRuleArgs.builder()
                .description("Isolation Rule Example")
                .isolationRuleAction("APPLY")
                .isolationRuleFirstEntityFilterKindLists("vm")
                .isolationRuleFirstEntityFilterParams(NetworkSecurityRuleIsolationRuleFirstEntityFilterParamArgs.builder()
                    .name("Environment")
                    .values("Dev")
                    .build())
                .isolationRuleFirstEntityFilterType("CATEGORIES_MATCH_ALL")
                .isolationRuleSecondEntityFilterKindLists("vm")
                .isolationRuleSecondEntityFilterParams(NetworkSecurityRuleIsolationRuleSecondEntityFilterParamArgs.builder()
                    .name("Environment")
                    .values("Production")
                    .build())
                .isolationRuleSecondEntityFilterType("CATEGORIES_MATCH_ALL")
                .build());
    
        }
    }
    
    resources:
      isolation:
        type: nutanix:NetworkSecurityRule
        properties:
          description: Isolation Rule Example
          isolationRuleAction: APPLY
          isolationRuleFirstEntityFilterKindLists:
            - vm
          isolationRuleFirstEntityFilterParams:
            - name: Environment
              values:
                - Dev
          isolationRuleFirstEntityFilterType: CATEGORIES_MATCH_ALL
          isolationRuleSecondEntityFilterKindLists:
            - vm
          isolationRuleSecondEntityFilterParams:
            - name: Environment
              values:
                - Production
          isolationRuleSecondEntityFilterType: CATEGORIES_MATCH_ALL
    

    Usage with service and address groups

    import * as pulumi from "@pulumi/pulumi";
    import * as nutanix from "@pierskarsenbarg/nutanix";
    
    const service1 = new nutanix.ServiceGroup("service1", {
        description: "test",
        serviceLists: [{
            protocol: "TCP",
            tcpPortRangeLists: [
                {
                    startPort: 22,
                    endPort: 22,
                },
                {
                    startPort: 2222,
                    endPort: 2222,
                },
            ],
        }],
    });
    const address1 = new nutanix.AddressGroup("address1", {
        description: "test",
        ipAddressBlockLists: [{
            ip: "10.0.0.0",
            prefixLength: 24,
        }],
    });
    const ad_group_user_1 = new nutanix.CategoryValue("ad-group-user-1", {
        description: "group user category value",
        value: "AD",
    });
    const vDI = new nutanix.NetworkSecurityRule("vDI", {
        adRuleAction: "APPLY",
        description: "test",
        adRuleInboundAllowLists: [{
            ipSubnet: "10.0.0.0",
            ipSubnetPrefixLength: "8",
            peerSpecificationType: "IP_SUBNET",
            protocol: "ALL",
        }],
        adRuleTargetGroupDefaultInternalPolicy: "DENY_ALL",
        adRuleTargetGroupFilterKindLists: ["vm"],
        adRuleTargetGroupFilterParams: [{
            name: "AD",
            values: ["AD"],
        }],
        adRuleTargetGroupFilterType: "CATEGORIES_MATCH_ALL",
        adRuleTargetGroupPeerSpecificationType: "FILTER",
        adRuleOutboundAllowLists: [{
            peerSpecificationType: "ALL",
            serviceGroupLists: [{
                kind: "service_group",
                uuid: service1.id,
            }],
            addressGroupInclusionLists: [{
                kind: "address_group",
                uuid: address1.id,
            }],
        }],
    }, {
        dependsOn: [ad_group_user_1],
    });
    
    import pulumi
    import pulumi_nutanix as nutanix
    
    service1 = nutanix.ServiceGroup("service1",
        description="test",
        service_lists=[{
            "protocol": "TCP",
            "tcp_port_range_lists": [
                {
                    "start_port": 22,
                    "end_port": 22,
                },
                {
                    "start_port": 2222,
                    "end_port": 2222,
                },
            ],
        }])
    address1 = nutanix.AddressGroup("address1",
        description="test",
        ip_address_block_lists=[{
            "ip": "10.0.0.0",
            "prefix_length": 24,
        }])
    ad_group_user_1 = nutanix.CategoryValue("ad-group-user-1",
        description="group user category value",
        value="AD")
    v_di = nutanix.NetworkSecurityRule("vDI",
        ad_rule_action="APPLY",
        description="test",
        ad_rule_inbound_allow_lists=[{
            "ip_subnet": "10.0.0.0",
            "ip_subnet_prefix_length": "8",
            "peer_specification_type": "IP_SUBNET",
            "protocol": "ALL",
        }],
        ad_rule_target_group_default_internal_policy="DENY_ALL",
        ad_rule_target_group_filter_kind_lists=["vm"],
        ad_rule_target_group_filter_params=[{
            "name": "AD",
            "values": ["AD"],
        }],
        ad_rule_target_group_filter_type="CATEGORIES_MATCH_ALL",
        ad_rule_target_group_peer_specification_type="FILTER",
        ad_rule_outbound_allow_lists=[{
            "peer_specification_type": "ALL",
            "service_group_lists": [{
                "kind": "service_group",
                "uuid": service1.id,
            }],
            "address_group_inclusion_lists": [{
                "kind": "address_group",
                "uuid": address1.id,
            }],
        }],
        opts = pulumi.ResourceOptions(depends_on=[ad_group_user_1]))
    
    package main
    
    import (
    	"github.com/pierskarsenbarg/pulumi-nutanix/sdk/go/nutanix"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		service1, err := nutanix.NewServiceGroup(ctx, "service1", &nutanix.ServiceGroupArgs{
    			Description: pulumi.String("test"),
    			ServiceLists: nutanix.ServiceGroupServiceListArray{
    				&nutanix.ServiceGroupServiceListArgs{
    					Protocol: pulumi.String("TCP"),
    					TcpPortRangeLists: nutanix.ServiceGroupServiceListTcpPortRangeListArray{
    						&nutanix.ServiceGroupServiceListTcpPortRangeListArgs{
    							StartPort: pulumi.Int(22),
    							EndPort:   pulumi.Int(22),
    						},
    						&nutanix.ServiceGroupServiceListTcpPortRangeListArgs{
    							StartPort: pulumi.Int(2222),
    							EndPort:   pulumi.Int(2222),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		address1, err := nutanix.NewAddressGroup(ctx, "address1", &nutanix.AddressGroupArgs{
    			Description: pulumi.String("test"),
    			IpAddressBlockLists: nutanix.AddressGroupIpAddressBlockListArray{
    				&nutanix.AddressGroupIpAddressBlockListArgs{
    					Ip:           pulumi.String("10.0.0.0"),
    					PrefixLength: pulumi.Int(24),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = nutanix.NewCategoryValue(ctx, "ad-group-user-1", &nutanix.CategoryValueArgs{
    			Description: pulumi.String("group user category value"),
    			Value:       pulumi.String("AD"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = nutanix.NewNetworkSecurityRule(ctx, "vDI", &nutanix.NetworkSecurityRuleArgs{
    			AdRuleAction: pulumi.String("APPLY"),
    			Description:  pulumi.String("test"),
    			AdRuleInboundAllowLists: nutanix.NetworkSecurityRuleAdRuleInboundAllowListArray{
    				&nutanix.NetworkSecurityRuleAdRuleInboundAllowListArgs{
    					IpSubnet:              pulumi.String("10.0.0.0"),
    					IpSubnetPrefixLength:  pulumi.String("8"),
    					PeerSpecificationType: pulumi.String("IP_SUBNET"),
    					Protocol:              pulumi.String("ALL"),
    				},
    			},
    			AdRuleTargetGroupDefaultInternalPolicy: pulumi.String("DENY_ALL"),
    			AdRuleTargetGroupFilterKindLists: pulumi.StringArray{
    				pulumi.String("vm"),
    			},
    			AdRuleTargetGroupFilterParams: nutanix.NetworkSecurityRuleAdRuleTargetGroupFilterParamArray{
    				&nutanix.NetworkSecurityRuleAdRuleTargetGroupFilterParamArgs{
    					Name: pulumi.String("AD"),
    					Values: pulumi.StringArray{
    						pulumi.String("AD"),
    					},
    				},
    			},
    			AdRuleTargetGroupFilterType:            pulumi.String("CATEGORIES_MATCH_ALL"),
    			AdRuleTargetGroupPeerSpecificationType: pulumi.String("FILTER"),
    			AdRuleOutboundAllowLists: nutanix.NetworkSecurityRuleAdRuleOutboundAllowListArray{
    				&nutanix.NetworkSecurityRuleAdRuleOutboundAllowListArgs{
    					PeerSpecificationType: pulumi.String("ALL"),
    					ServiceGroupLists: nutanix.NetworkSecurityRuleAdRuleOutboundAllowListServiceGroupListArray{
    						&nutanix.NetworkSecurityRuleAdRuleOutboundAllowListServiceGroupListArgs{
    							Kind: pulumi.String("service_group"),
    							Uuid: service1.ID(),
    						},
    					},
    					AddressGroupInclusionLists: nutanix.NetworkSecurityRuleAdRuleOutboundAllowListAddressGroupInclusionListArray{
    						&nutanix.NetworkSecurityRuleAdRuleOutboundAllowListAddressGroupInclusionListArgs{
    							Kind: pulumi.String("address_group"),
    							Uuid: address1.ID(),
    						},
    					},
    				},
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			ad_group_user_1,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Nutanix = PiersKarsenbarg.Nutanix;
    
    return await Deployment.RunAsync(() => 
    {
        var service1 = new Nutanix.ServiceGroup("service1", new()
        {
            Description = "test",
            ServiceLists = new[]
            {
                new Nutanix.Inputs.ServiceGroupServiceListArgs
                {
                    Protocol = "TCP",
                    TcpPortRangeLists = new[]
                    {
                        new Nutanix.Inputs.ServiceGroupServiceListTcpPortRangeListArgs
                        {
                            StartPort = 22,
                            EndPort = 22,
                        },
                        new Nutanix.Inputs.ServiceGroupServiceListTcpPortRangeListArgs
                        {
                            StartPort = 2222,
                            EndPort = 2222,
                        },
                    },
                },
            },
        });
    
        var address1 = new Nutanix.AddressGroup("address1", new()
        {
            Description = "test",
            IpAddressBlockLists = new[]
            {
                new Nutanix.Inputs.AddressGroupIpAddressBlockListArgs
                {
                    Ip = "10.0.0.0",
                    PrefixLength = 24,
                },
            },
        });
    
        var ad_group_user_1 = new Nutanix.CategoryValue("ad-group-user-1", new()
        {
            Description = "group user category value",
            Value = "AD",
        });
    
        var vDI = new Nutanix.NetworkSecurityRule("vDI", new()
        {
            AdRuleAction = "APPLY",
            Description = "test",
            AdRuleInboundAllowLists = new[]
            {
                new Nutanix.Inputs.NetworkSecurityRuleAdRuleInboundAllowListArgs
                {
                    IpSubnet = "10.0.0.0",
                    IpSubnetPrefixLength = "8",
                    PeerSpecificationType = "IP_SUBNET",
                    Protocol = "ALL",
                },
            },
            AdRuleTargetGroupDefaultInternalPolicy = "DENY_ALL",
            AdRuleTargetGroupFilterKindLists = new[]
            {
                "vm",
            },
            AdRuleTargetGroupFilterParams = new[]
            {
                new Nutanix.Inputs.NetworkSecurityRuleAdRuleTargetGroupFilterParamArgs
                {
                    Name = "AD",
                    Values = new[]
                    {
                        "AD",
                    },
                },
            },
            AdRuleTargetGroupFilterType = "CATEGORIES_MATCH_ALL",
            AdRuleTargetGroupPeerSpecificationType = "FILTER",
            AdRuleOutboundAllowLists = new[]
            {
                new Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowListArgs
                {
                    PeerSpecificationType = "ALL",
                    ServiceGroupLists = new[]
                    {
                        new Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowListServiceGroupListArgs
                        {
                            Kind = "service_group",
                            Uuid = service1.Id,
                        },
                    },
                    AddressGroupInclusionLists = new[]
                    {
                        new Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowListAddressGroupInclusionListArgs
                        {
                            Kind = "address_group",
                            Uuid = address1.Id,
                        },
                    },
                },
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                ad_group_user_1,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.nutanix.ServiceGroup;
    import com.pulumi.nutanix.ServiceGroupArgs;
    import com.pulumi.nutanix.inputs.ServiceGroupServiceListArgs;
    import com.pulumi.nutanix.AddressGroup;
    import com.pulumi.nutanix.AddressGroupArgs;
    import com.pulumi.nutanix.inputs.AddressGroupIpAddressBlockListArgs;
    import com.pulumi.nutanix.CategoryValue;
    import com.pulumi.nutanix.CategoryValueArgs;
    import com.pulumi.nutanix.NetworkSecurityRule;
    import com.pulumi.nutanix.NetworkSecurityRuleArgs;
    import com.pulumi.nutanix.inputs.NetworkSecurityRuleAdRuleInboundAllowListArgs;
    import com.pulumi.nutanix.inputs.NetworkSecurityRuleAdRuleTargetGroupFilterParamArgs;
    import com.pulumi.nutanix.inputs.NetworkSecurityRuleAdRuleOutboundAllowListArgs;
    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 service1 = new ServiceGroup("service1", ServiceGroupArgs.builder()
                .description("test")
                .serviceLists(ServiceGroupServiceListArgs.builder()
                    .protocol("TCP")
                    .tcpPortRangeLists(                
                        ServiceGroupServiceListTcpPortRangeListArgs.builder()
                            .startPort(22)
                            .endPort(22)
                            .build(),
                        ServiceGroupServiceListTcpPortRangeListArgs.builder()
                            .startPort(2222)
                            .endPort(2222)
                            .build())
                    .build())
                .build());
    
            var address1 = new AddressGroup("address1", AddressGroupArgs.builder()
                .description("test")
                .ipAddressBlockLists(AddressGroupIpAddressBlockListArgs.builder()
                    .ip("10.0.0.0")
                    .prefixLength(24)
                    .build())
                .build());
    
            var ad_group_user_1 = new CategoryValue("ad-group-user-1", CategoryValueArgs.builder()
                .description("group user category value")
                .value("AD")
                .build());
    
            var vDI = new NetworkSecurityRule("vDI", NetworkSecurityRuleArgs.builder()
                .adRuleAction("APPLY")
                .description("test")
                .adRuleInboundAllowLists(NetworkSecurityRuleAdRuleInboundAllowListArgs.builder()
                    .ipSubnet("10.0.0.0")
                    .ipSubnetPrefixLength("8")
                    .peerSpecificationType("IP_SUBNET")
                    .protocol("ALL")
                    .build())
                .adRuleTargetGroupDefaultInternalPolicy("DENY_ALL")
                .adRuleTargetGroupFilterKindLists("vm")
                .adRuleTargetGroupFilterParams(NetworkSecurityRuleAdRuleTargetGroupFilterParamArgs.builder()
                    .name("AD")
                    .values("AD")
                    .build())
                .adRuleTargetGroupFilterType("CATEGORIES_MATCH_ALL")
                .adRuleTargetGroupPeerSpecificationType("FILTER")
                .adRuleOutboundAllowLists(NetworkSecurityRuleAdRuleOutboundAllowListArgs.builder()
                    .peerSpecificationType("ALL")
                    .serviceGroupLists(NetworkSecurityRuleAdRuleOutboundAllowListServiceGroupListArgs.builder()
                        .kind("service_group")
                        .uuid(service1.id())
                        .build())
                    .addressGroupInclusionLists(NetworkSecurityRuleAdRuleOutboundAllowListAddressGroupInclusionListArgs.builder()
                        .kind("address_group")
                        .uuid(address1.id())
                        .build())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(ad_group_user_1)
                    .build());
    
        }
    }
    
    resources:
      service1:
        type: nutanix:ServiceGroup
        properties:
          description: test
          serviceLists:
            - protocol: TCP
              tcpPortRangeLists:
                - startPort: 22
                  endPort: 22
                - startPort: 2222
                  endPort: 2222
      address1:
        type: nutanix:AddressGroup
        properties:
          description: test
          ipAddressBlockLists:
            - ip: 10.0.0.0
              prefixLength: 24
      ad-group-user-1:
        type: nutanix:CategoryValue
        properties:
          description: group user category value
          value: AD
      vDI:
        type: nutanix:NetworkSecurityRule
        properties:
          adRuleAction: APPLY
          description: test
          #   app_rule_action = "APPLY"
          adRuleInboundAllowLists:
            - ipSubnet: 10.0.0.0
              ipSubnetPrefixLength: '8'
              peerSpecificationType: IP_SUBNET
              protocol: ALL
          adRuleTargetGroupDefaultInternalPolicy: DENY_ALL
          adRuleTargetGroupFilterKindLists:
            - vm
          adRuleTargetGroupFilterParams:
            - name: AD
              values:
                - AD
          adRuleTargetGroupFilterType: CATEGORIES_MATCH_ALL
          adRuleTargetGroupPeerSpecificationType: FILTER
          adRuleOutboundAllowLists:
            - peerSpecificationType: ALL
              serviceGroupLists:
                - kind: service_group
                  uuid: ${service1.id}
              addressGroupInclusionLists:
                - kind: address_group
                  uuid: ${address1.id}
        options:
          dependson:
            - ${["ad-group-user-1"]}
    

    Create NetworkSecurityRule Resource

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

    Constructor syntax

    new NetworkSecurityRule(name: string, args?: NetworkSecurityRuleArgs, opts?: CustomResourceOptions);
    @overload
    def NetworkSecurityRule(resource_name: str,
                            args: Optional[NetworkSecurityRuleArgs] = None,
                            opts: Optional[ResourceOptions] = None)
    
    @overload
    def NetworkSecurityRule(resource_name: str,
                            opts: Optional[ResourceOptions] = None,
                            ad_rule_action: Optional[str] = None,
                            ad_rule_inbound_allow_lists: Optional[Sequence[NetworkSecurityRuleAdRuleInboundAllowListArgs]] = None,
                            ad_rule_outbound_allow_lists: Optional[Sequence[NetworkSecurityRuleAdRuleOutboundAllowListArgs]] = None,
                            ad_rule_target_group_default_internal_policy: Optional[str] = None,
                            ad_rule_target_group_filter_kind_lists: Optional[Sequence[str]] = None,
                            ad_rule_target_group_filter_params: Optional[Sequence[NetworkSecurityRuleAdRuleTargetGroupFilterParamArgs]] = None,
                            ad_rule_target_group_filter_type: Optional[str] = None,
                            ad_rule_target_group_peer_specification_type: Optional[str] = None,
                            allow_ipv6_traffic: Optional[bool] = None,
                            app_rule_action: Optional[str] = None,
                            app_rule_inbound_allow_lists: Optional[Sequence[NetworkSecurityRuleAppRuleInboundAllowListArgs]] = None,
                            app_rule_outbound_allow_lists: Optional[Sequence[NetworkSecurityRuleAppRuleOutboundAllowListArgs]] = None,
                            app_rule_target_group_default_internal_policy: Optional[str] = None,
                            app_rule_target_group_filter_kind_lists: Optional[Sequence[str]] = None,
                            app_rule_target_group_filter_params: Optional[Sequence[NetworkSecurityRuleAppRuleTargetGroupFilterParamArgs]] = None,
                            app_rule_target_group_filter_type: Optional[str] = None,
                            app_rule_target_group_peer_specification_type: Optional[str] = None,
                            categories: Optional[Sequence[NetworkSecurityRuleCategoryArgs]] = None,
                            description: Optional[str] = None,
                            is_policy_hitlog_enabled: Optional[bool] = None,
                            isolation_rule_action: Optional[str] = None,
                            isolation_rule_first_entity_filter_kind_lists: Optional[Sequence[str]] = None,
                            isolation_rule_first_entity_filter_params: Optional[Sequence[NetworkSecurityRuleIsolationRuleFirstEntityFilterParamArgs]] = None,
                            isolation_rule_first_entity_filter_type: Optional[str] = None,
                            isolation_rule_second_entity_filter_kind_lists: Optional[Sequence[str]] = None,
                            isolation_rule_second_entity_filter_params: Optional[Sequence[NetworkSecurityRuleIsolationRuleSecondEntityFilterParamArgs]] = None,
                            isolation_rule_second_entity_filter_type: Optional[str] = None,
                            name: Optional[str] = None,
                            owner_reference: Optional[Mapping[str, str]] = None,
                            project_reference: Optional[Mapping[str, str]] = None)
    func NewNetworkSecurityRule(ctx *Context, name string, args *NetworkSecurityRuleArgs, opts ...ResourceOption) (*NetworkSecurityRule, error)
    public NetworkSecurityRule(string name, NetworkSecurityRuleArgs? args = null, CustomResourceOptions? opts = null)
    public NetworkSecurityRule(String name, NetworkSecurityRuleArgs args)
    public NetworkSecurityRule(String name, NetworkSecurityRuleArgs args, CustomResourceOptions options)
    
    type: nutanix:NetworkSecurityRule
    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 NetworkSecurityRuleArgs
    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 NetworkSecurityRuleArgs
    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 NetworkSecurityRuleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args NetworkSecurityRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args NetworkSecurityRuleArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

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

    var networkSecurityRuleResource = new Nutanix.NetworkSecurityRule("networkSecurityRuleResource", new()
    {
        AdRuleAction = "string",
        AdRuleInboundAllowLists = new[]
        {
            new Nutanix.Inputs.NetworkSecurityRuleAdRuleInboundAllowListArgs
            {
                AddressGroupInclusionLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAdRuleInboundAllowListAddressGroupInclusionListArgs
                    {
                        Kind = "string",
                        Name = "string",
                        Uuid = "string",
                    },
                },
                ExpirationTime = "string",
                FilterKindLists = new[]
                {
                    "string",
                },
                FilterParams = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAdRuleInboundAllowListFilterParamArgs
                    {
                        Name = "string",
                        Values = new[]
                        {
                            "string",
                        },
                    },
                },
                FilterType = "string",
                IcmpTypeCodeLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAdRuleInboundAllowListIcmpTypeCodeListArgs
                    {
                        Code = "string",
                        Type = "string",
                    },
                },
                IpSubnet = "string",
                IpSubnetPrefixLength = "string",
                NetworkFunctionChainReference = 
                {
                    { "string", "string" },
                },
                PeerSpecificationType = "string",
                Protocol = "string",
                ServiceGroupLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAdRuleInboundAllowListServiceGroupListArgs
                    {
                        Kind = "string",
                        Name = "string",
                        Uuid = "string",
                    },
                },
                TcpPortRangeLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAdRuleInboundAllowListTcpPortRangeListArgs
                    {
                        EndPort = 0,
                        StartPort = 0,
                    },
                },
                UdpPortRangeLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAdRuleInboundAllowListUdpPortRangeListArgs
                    {
                        EndPort = 0,
                        StartPort = 0,
                    },
                },
            },
        },
        AdRuleOutboundAllowLists = new[]
        {
            new Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowListArgs
            {
                AddressGroupInclusionLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowListAddressGroupInclusionListArgs
                    {
                        Kind = "string",
                        Name = "string",
                        Uuid = "string",
                    },
                },
                ExpirationTime = "string",
                FilterKindLists = new[]
                {
                    "string",
                },
                FilterParams = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowListFilterParamArgs
                    {
                        Name = "string",
                        Values = new[]
                        {
                            "string",
                        },
                    },
                },
                FilterType = "string",
                IcmpTypeCodeLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowListIcmpTypeCodeListArgs
                    {
                        Code = "string",
                        Type = "string",
                    },
                },
                IpSubnet = "string",
                IpSubnetPrefixLength = "string",
                NetworkFunctionChainReference = 
                {
                    { "string", "string" },
                },
                PeerSpecificationType = "string",
                Protocol = "string",
                ServiceGroupLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowListServiceGroupListArgs
                    {
                        Kind = "string",
                        Name = "string",
                        Uuid = "string",
                    },
                },
                TcpPortRangeLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowListTcpPortRangeListArgs
                    {
                        EndPort = 0,
                        StartPort = 0,
                    },
                },
                UdpPortRangeLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowListUdpPortRangeListArgs
                    {
                        EndPort = 0,
                        StartPort = 0,
                    },
                },
            },
        },
        AdRuleTargetGroupDefaultInternalPolicy = "string",
        AdRuleTargetGroupFilterKindLists = new[]
        {
            "string",
        },
        AdRuleTargetGroupFilterParams = new[]
        {
            new Nutanix.Inputs.NetworkSecurityRuleAdRuleTargetGroupFilterParamArgs
            {
                Name = "string",
                Values = new[]
                {
                    "string",
                },
            },
        },
        AdRuleTargetGroupFilterType = "string",
        AdRuleTargetGroupPeerSpecificationType = "string",
        AllowIpv6Traffic = false,
        AppRuleAction = "string",
        AppRuleInboundAllowLists = new[]
        {
            new Nutanix.Inputs.NetworkSecurityRuleAppRuleInboundAllowListArgs
            {
                AddressGroupInclusionLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAppRuleInboundAllowListAddressGroupInclusionListArgs
                    {
                        Kind = "string",
                        Name = "string",
                        Uuid = "string",
                    },
                },
                ExpirationTime = "string",
                FilterKindLists = new[]
                {
                    "string",
                },
                FilterParams = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAppRuleInboundAllowListFilterParamArgs
                    {
                        Name = "string",
                        Values = new[]
                        {
                            "string",
                        },
                    },
                },
                FilterType = "string",
                IcmpTypeCodeLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAppRuleInboundAllowListIcmpTypeCodeListArgs
                    {
                        Code = "string",
                        Type = "string",
                    },
                },
                IpSubnet = "string",
                IpSubnetPrefixLength = "string",
                NetworkFunctionChainReference = 
                {
                    { "string", "string" },
                },
                PeerSpecificationType = "string",
                Protocol = "string",
                ServiceGroupLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAppRuleInboundAllowListServiceGroupListArgs
                    {
                        Kind = "string",
                        Name = "string",
                        Uuid = "string",
                    },
                },
                TcpPortRangeLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAppRuleInboundAllowListTcpPortRangeListArgs
                    {
                        EndPort = 0,
                        StartPort = 0,
                    },
                },
                UdpPortRangeLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAppRuleInboundAllowListUdpPortRangeListArgs
                    {
                        EndPort = 0,
                        StartPort = 0,
                    },
                },
            },
        },
        AppRuleOutboundAllowLists = new[]
        {
            new Nutanix.Inputs.NetworkSecurityRuleAppRuleOutboundAllowListArgs
            {
                AddressGroupInclusionLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAppRuleOutboundAllowListAddressGroupInclusionListArgs
                    {
                        Kind = "string",
                        Name = "string",
                        Uuid = "string",
                    },
                },
                ExpirationTime = "string",
                FilterKindLists = new[]
                {
                    "string",
                },
                FilterParams = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAppRuleOutboundAllowListFilterParamArgs
                    {
                        Name = "string",
                        Values = new[]
                        {
                            "string",
                        },
                    },
                },
                FilterType = "string",
                IcmpTypeCodeLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAppRuleOutboundAllowListIcmpTypeCodeListArgs
                    {
                        Code = "string",
                        Type = "string",
                    },
                },
                IpSubnet = "string",
                IpSubnetPrefixLength = "string",
                NetworkFunctionChainReference = 
                {
                    { "string", "string" },
                },
                PeerSpecificationType = "string",
                Protocol = "string",
                ServiceGroupLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAppRuleOutboundAllowListServiceGroupListArgs
                    {
                        Kind = "string",
                        Name = "string",
                        Uuid = "string",
                    },
                },
                TcpPortRangeLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAppRuleOutboundAllowListTcpPortRangeListArgs
                    {
                        EndPort = 0,
                        StartPort = 0,
                    },
                },
                UdpPortRangeLists = new[]
                {
                    new Nutanix.Inputs.NetworkSecurityRuleAppRuleOutboundAllowListUdpPortRangeListArgs
                    {
                        EndPort = 0,
                        StartPort = 0,
                    },
                },
            },
        },
        AppRuleTargetGroupDefaultInternalPolicy = "string",
        AppRuleTargetGroupFilterKindLists = new[]
        {
            "string",
        },
        AppRuleTargetGroupFilterParams = new[]
        {
            new Nutanix.Inputs.NetworkSecurityRuleAppRuleTargetGroupFilterParamArgs
            {
                Name = "string",
                Values = new[]
                {
                    "string",
                },
            },
        },
        AppRuleTargetGroupFilterType = "string",
        AppRuleTargetGroupPeerSpecificationType = "string",
        Categories = new[]
        {
            new Nutanix.Inputs.NetworkSecurityRuleCategoryArgs
            {
                Name = "string",
                Value = "string",
            },
        },
        Description = "string",
        IsPolicyHitlogEnabled = false,
        IsolationRuleAction = "string",
        IsolationRuleFirstEntityFilterKindLists = new[]
        {
            "string",
        },
        IsolationRuleFirstEntityFilterParams = new[]
        {
            new Nutanix.Inputs.NetworkSecurityRuleIsolationRuleFirstEntityFilterParamArgs
            {
                Name = "string",
                Values = new[]
                {
                    "string",
                },
            },
        },
        IsolationRuleFirstEntityFilterType = "string",
        IsolationRuleSecondEntityFilterKindLists = new[]
        {
            "string",
        },
        IsolationRuleSecondEntityFilterParams = new[]
        {
            new Nutanix.Inputs.NetworkSecurityRuleIsolationRuleSecondEntityFilterParamArgs
            {
                Name = "string",
                Values = new[]
                {
                    "string",
                },
            },
        },
        IsolationRuleSecondEntityFilterType = "string",
        Name = "string",
        OwnerReference = 
        {
            { "string", "string" },
        },
        ProjectReference = 
        {
            { "string", "string" },
        },
    });
    
    example, err := nutanix.NewNetworkSecurityRule(ctx, "networkSecurityRuleResource", &nutanix.NetworkSecurityRuleArgs{
    	AdRuleAction: pulumi.String("string"),
    	AdRuleInboundAllowLists: nutanix.NetworkSecurityRuleAdRuleInboundAllowListArray{
    		&nutanix.NetworkSecurityRuleAdRuleInboundAllowListArgs{
    			AddressGroupInclusionLists: nutanix.NetworkSecurityRuleAdRuleInboundAllowListAddressGroupInclusionListArray{
    				&nutanix.NetworkSecurityRuleAdRuleInboundAllowListAddressGroupInclusionListArgs{
    					Kind: pulumi.String("string"),
    					Name: pulumi.String("string"),
    					Uuid: pulumi.String("string"),
    				},
    			},
    			ExpirationTime: pulumi.String("string"),
    			FilterKindLists: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			FilterParams: nutanix.NetworkSecurityRuleAdRuleInboundAllowListFilterParamArray{
    				&nutanix.NetworkSecurityRuleAdRuleInboundAllowListFilterParamArgs{
    					Name: pulumi.String("string"),
    					Values: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    			FilterType: pulumi.String("string"),
    			IcmpTypeCodeLists: nutanix.NetworkSecurityRuleAdRuleInboundAllowListIcmpTypeCodeListArray{
    				&nutanix.NetworkSecurityRuleAdRuleInboundAllowListIcmpTypeCodeListArgs{
    					Code: pulumi.String("string"),
    					Type: pulumi.String("string"),
    				},
    			},
    			IpSubnet:             pulumi.String("string"),
    			IpSubnetPrefixLength: pulumi.String("string"),
    			NetworkFunctionChainReference: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			PeerSpecificationType: pulumi.String("string"),
    			Protocol:              pulumi.String("string"),
    			ServiceGroupLists: nutanix.NetworkSecurityRuleAdRuleInboundAllowListServiceGroupListArray{
    				&nutanix.NetworkSecurityRuleAdRuleInboundAllowListServiceGroupListArgs{
    					Kind: pulumi.String("string"),
    					Name: pulumi.String("string"),
    					Uuid: pulumi.String("string"),
    				},
    			},
    			TcpPortRangeLists: nutanix.NetworkSecurityRuleAdRuleInboundAllowListTcpPortRangeListArray{
    				&nutanix.NetworkSecurityRuleAdRuleInboundAllowListTcpPortRangeListArgs{
    					EndPort:   pulumi.Int(0),
    					StartPort: pulumi.Int(0),
    				},
    			},
    			UdpPortRangeLists: nutanix.NetworkSecurityRuleAdRuleInboundAllowListUdpPortRangeListArray{
    				&nutanix.NetworkSecurityRuleAdRuleInboundAllowListUdpPortRangeListArgs{
    					EndPort:   pulumi.Int(0),
    					StartPort: pulumi.Int(0),
    				},
    			},
    		},
    	},
    	AdRuleOutboundAllowLists: nutanix.NetworkSecurityRuleAdRuleOutboundAllowListArray{
    		&nutanix.NetworkSecurityRuleAdRuleOutboundAllowListArgs{
    			AddressGroupInclusionLists: nutanix.NetworkSecurityRuleAdRuleOutboundAllowListAddressGroupInclusionListArray{
    				&nutanix.NetworkSecurityRuleAdRuleOutboundAllowListAddressGroupInclusionListArgs{
    					Kind: pulumi.String("string"),
    					Name: pulumi.String("string"),
    					Uuid: pulumi.String("string"),
    				},
    			},
    			ExpirationTime: pulumi.String("string"),
    			FilterKindLists: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			FilterParams: nutanix.NetworkSecurityRuleAdRuleOutboundAllowListFilterParamArray{
    				&nutanix.NetworkSecurityRuleAdRuleOutboundAllowListFilterParamArgs{
    					Name: pulumi.String("string"),
    					Values: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    			FilterType: pulumi.String("string"),
    			IcmpTypeCodeLists: nutanix.NetworkSecurityRuleAdRuleOutboundAllowListIcmpTypeCodeListArray{
    				&nutanix.NetworkSecurityRuleAdRuleOutboundAllowListIcmpTypeCodeListArgs{
    					Code: pulumi.String("string"),
    					Type: pulumi.String("string"),
    				},
    			},
    			IpSubnet:             pulumi.String("string"),
    			IpSubnetPrefixLength: pulumi.String("string"),
    			NetworkFunctionChainReference: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			PeerSpecificationType: pulumi.String("string"),
    			Protocol:              pulumi.String("string"),
    			ServiceGroupLists: nutanix.NetworkSecurityRuleAdRuleOutboundAllowListServiceGroupListArray{
    				&nutanix.NetworkSecurityRuleAdRuleOutboundAllowListServiceGroupListArgs{
    					Kind: pulumi.String("string"),
    					Name: pulumi.String("string"),
    					Uuid: pulumi.String("string"),
    				},
    			},
    			TcpPortRangeLists: nutanix.NetworkSecurityRuleAdRuleOutboundAllowListTcpPortRangeListArray{
    				&nutanix.NetworkSecurityRuleAdRuleOutboundAllowListTcpPortRangeListArgs{
    					EndPort:   pulumi.Int(0),
    					StartPort: pulumi.Int(0),
    				},
    			},
    			UdpPortRangeLists: nutanix.NetworkSecurityRuleAdRuleOutboundAllowListUdpPortRangeListArray{
    				&nutanix.NetworkSecurityRuleAdRuleOutboundAllowListUdpPortRangeListArgs{
    					EndPort:   pulumi.Int(0),
    					StartPort: pulumi.Int(0),
    				},
    			},
    		},
    	},
    	AdRuleTargetGroupDefaultInternalPolicy: pulumi.String("string"),
    	AdRuleTargetGroupFilterKindLists: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	AdRuleTargetGroupFilterParams: nutanix.NetworkSecurityRuleAdRuleTargetGroupFilterParamArray{
    		&nutanix.NetworkSecurityRuleAdRuleTargetGroupFilterParamArgs{
    			Name: pulumi.String("string"),
    			Values: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	AdRuleTargetGroupFilterType:            pulumi.String("string"),
    	AdRuleTargetGroupPeerSpecificationType: pulumi.String("string"),
    	AllowIpv6Traffic:                       pulumi.Bool(false),
    	AppRuleAction:                          pulumi.String("string"),
    	AppRuleInboundAllowLists: nutanix.NetworkSecurityRuleAppRuleInboundAllowListArray{
    		&nutanix.NetworkSecurityRuleAppRuleInboundAllowListArgs{
    			AddressGroupInclusionLists: nutanix.NetworkSecurityRuleAppRuleInboundAllowListAddressGroupInclusionListArray{
    				&nutanix.NetworkSecurityRuleAppRuleInboundAllowListAddressGroupInclusionListArgs{
    					Kind: pulumi.String("string"),
    					Name: pulumi.String("string"),
    					Uuid: pulumi.String("string"),
    				},
    			},
    			ExpirationTime: pulumi.String("string"),
    			FilterKindLists: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			FilterParams: nutanix.NetworkSecurityRuleAppRuleInboundAllowListFilterParamArray{
    				&nutanix.NetworkSecurityRuleAppRuleInboundAllowListFilterParamArgs{
    					Name: pulumi.String("string"),
    					Values: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    			FilterType: pulumi.String("string"),
    			IcmpTypeCodeLists: nutanix.NetworkSecurityRuleAppRuleInboundAllowListIcmpTypeCodeListArray{
    				&nutanix.NetworkSecurityRuleAppRuleInboundAllowListIcmpTypeCodeListArgs{
    					Code: pulumi.String("string"),
    					Type: pulumi.String("string"),
    				},
    			},
    			IpSubnet:             pulumi.String("string"),
    			IpSubnetPrefixLength: pulumi.String("string"),
    			NetworkFunctionChainReference: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			PeerSpecificationType: pulumi.String("string"),
    			Protocol:              pulumi.String("string"),
    			ServiceGroupLists: nutanix.NetworkSecurityRuleAppRuleInboundAllowListServiceGroupListArray{
    				&nutanix.NetworkSecurityRuleAppRuleInboundAllowListServiceGroupListArgs{
    					Kind: pulumi.String("string"),
    					Name: pulumi.String("string"),
    					Uuid: pulumi.String("string"),
    				},
    			},
    			TcpPortRangeLists: nutanix.NetworkSecurityRuleAppRuleInboundAllowListTcpPortRangeListArray{
    				&nutanix.NetworkSecurityRuleAppRuleInboundAllowListTcpPortRangeListArgs{
    					EndPort:   pulumi.Int(0),
    					StartPort: pulumi.Int(0),
    				},
    			},
    			UdpPortRangeLists: nutanix.NetworkSecurityRuleAppRuleInboundAllowListUdpPortRangeListArray{
    				&nutanix.NetworkSecurityRuleAppRuleInboundAllowListUdpPortRangeListArgs{
    					EndPort:   pulumi.Int(0),
    					StartPort: pulumi.Int(0),
    				},
    			},
    		},
    	},
    	AppRuleOutboundAllowLists: nutanix.NetworkSecurityRuleAppRuleOutboundAllowListArray{
    		&nutanix.NetworkSecurityRuleAppRuleOutboundAllowListArgs{
    			AddressGroupInclusionLists: nutanix.NetworkSecurityRuleAppRuleOutboundAllowListAddressGroupInclusionListArray{
    				&nutanix.NetworkSecurityRuleAppRuleOutboundAllowListAddressGroupInclusionListArgs{
    					Kind: pulumi.String("string"),
    					Name: pulumi.String("string"),
    					Uuid: pulumi.String("string"),
    				},
    			},
    			ExpirationTime: pulumi.String("string"),
    			FilterKindLists: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			FilterParams: nutanix.NetworkSecurityRuleAppRuleOutboundAllowListFilterParamArray{
    				&nutanix.NetworkSecurityRuleAppRuleOutboundAllowListFilterParamArgs{
    					Name: pulumi.String("string"),
    					Values: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    			FilterType: pulumi.String("string"),
    			IcmpTypeCodeLists: nutanix.NetworkSecurityRuleAppRuleOutboundAllowListIcmpTypeCodeListArray{
    				&nutanix.NetworkSecurityRuleAppRuleOutboundAllowListIcmpTypeCodeListArgs{
    					Code: pulumi.String("string"),
    					Type: pulumi.String("string"),
    				},
    			},
    			IpSubnet:             pulumi.String("string"),
    			IpSubnetPrefixLength: pulumi.String("string"),
    			NetworkFunctionChainReference: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			PeerSpecificationType: pulumi.String("string"),
    			Protocol:              pulumi.String("string"),
    			ServiceGroupLists: nutanix.NetworkSecurityRuleAppRuleOutboundAllowListServiceGroupListArray{
    				&nutanix.NetworkSecurityRuleAppRuleOutboundAllowListServiceGroupListArgs{
    					Kind: pulumi.String("string"),
    					Name: pulumi.String("string"),
    					Uuid: pulumi.String("string"),
    				},
    			},
    			TcpPortRangeLists: nutanix.NetworkSecurityRuleAppRuleOutboundAllowListTcpPortRangeListArray{
    				&nutanix.NetworkSecurityRuleAppRuleOutboundAllowListTcpPortRangeListArgs{
    					EndPort:   pulumi.Int(0),
    					StartPort: pulumi.Int(0),
    				},
    			},
    			UdpPortRangeLists: nutanix.NetworkSecurityRuleAppRuleOutboundAllowListUdpPortRangeListArray{
    				&nutanix.NetworkSecurityRuleAppRuleOutboundAllowListUdpPortRangeListArgs{
    					EndPort:   pulumi.Int(0),
    					StartPort: pulumi.Int(0),
    				},
    			},
    		},
    	},
    	AppRuleTargetGroupDefaultInternalPolicy: pulumi.String("string"),
    	AppRuleTargetGroupFilterKindLists: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	AppRuleTargetGroupFilterParams: nutanix.NetworkSecurityRuleAppRuleTargetGroupFilterParamArray{
    		&nutanix.NetworkSecurityRuleAppRuleTargetGroupFilterParamArgs{
    			Name: pulumi.String("string"),
    			Values: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	AppRuleTargetGroupFilterType:            pulumi.String("string"),
    	AppRuleTargetGroupPeerSpecificationType: pulumi.String("string"),
    	Categories: nutanix.NetworkSecurityRuleCategoryArray{
    		&nutanix.NetworkSecurityRuleCategoryArgs{
    			Name:  pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    	Description:           pulumi.String("string"),
    	IsPolicyHitlogEnabled: pulumi.Bool(false),
    	IsolationRuleAction:   pulumi.String("string"),
    	IsolationRuleFirstEntityFilterKindLists: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	IsolationRuleFirstEntityFilterParams: nutanix.NetworkSecurityRuleIsolationRuleFirstEntityFilterParamArray{
    		&nutanix.NetworkSecurityRuleIsolationRuleFirstEntityFilterParamArgs{
    			Name: pulumi.String("string"),
    			Values: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	IsolationRuleFirstEntityFilterType: pulumi.String("string"),
    	IsolationRuleSecondEntityFilterKindLists: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	IsolationRuleSecondEntityFilterParams: nutanix.NetworkSecurityRuleIsolationRuleSecondEntityFilterParamArray{
    		&nutanix.NetworkSecurityRuleIsolationRuleSecondEntityFilterParamArgs{
    			Name: pulumi.String("string"),
    			Values: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	IsolationRuleSecondEntityFilterType: pulumi.String("string"),
    	Name:                                pulumi.String("string"),
    	OwnerReference: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	ProjectReference: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    var networkSecurityRuleResource = new NetworkSecurityRule("networkSecurityRuleResource", NetworkSecurityRuleArgs.builder()
        .adRuleAction("string")
        .adRuleInboundAllowLists(NetworkSecurityRuleAdRuleInboundAllowListArgs.builder()
            .addressGroupInclusionLists(NetworkSecurityRuleAdRuleInboundAllowListAddressGroupInclusionListArgs.builder()
                .kind("string")
                .name("string")
                .uuid("string")
                .build())
            .expirationTime("string")
            .filterKindLists("string")
            .filterParams(NetworkSecurityRuleAdRuleInboundAllowListFilterParamArgs.builder()
                .name("string")
                .values("string")
                .build())
            .filterType("string")
            .icmpTypeCodeLists(NetworkSecurityRuleAdRuleInboundAllowListIcmpTypeCodeListArgs.builder()
                .code("string")
                .type("string")
                .build())
            .ipSubnet("string")
            .ipSubnetPrefixLength("string")
            .networkFunctionChainReference(Map.of("string", "string"))
            .peerSpecificationType("string")
            .protocol("string")
            .serviceGroupLists(NetworkSecurityRuleAdRuleInboundAllowListServiceGroupListArgs.builder()
                .kind("string")
                .name("string")
                .uuid("string")
                .build())
            .tcpPortRangeLists(NetworkSecurityRuleAdRuleInboundAllowListTcpPortRangeListArgs.builder()
                .endPort(0)
                .startPort(0)
                .build())
            .udpPortRangeLists(NetworkSecurityRuleAdRuleInboundAllowListUdpPortRangeListArgs.builder()
                .endPort(0)
                .startPort(0)
                .build())
            .build())
        .adRuleOutboundAllowLists(NetworkSecurityRuleAdRuleOutboundAllowListArgs.builder()
            .addressGroupInclusionLists(NetworkSecurityRuleAdRuleOutboundAllowListAddressGroupInclusionListArgs.builder()
                .kind("string")
                .name("string")
                .uuid("string")
                .build())
            .expirationTime("string")
            .filterKindLists("string")
            .filterParams(NetworkSecurityRuleAdRuleOutboundAllowListFilterParamArgs.builder()
                .name("string")
                .values("string")
                .build())
            .filterType("string")
            .icmpTypeCodeLists(NetworkSecurityRuleAdRuleOutboundAllowListIcmpTypeCodeListArgs.builder()
                .code("string")
                .type("string")
                .build())
            .ipSubnet("string")
            .ipSubnetPrefixLength("string")
            .networkFunctionChainReference(Map.of("string", "string"))
            .peerSpecificationType("string")
            .protocol("string")
            .serviceGroupLists(NetworkSecurityRuleAdRuleOutboundAllowListServiceGroupListArgs.builder()
                .kind("string")
                .name("string")
                .uuid("string")
                .build())
            .tcpPortRangeLists(NetworkSecurityRuleAdRuleOutboundAllowListTcpPortRangeListArgs.builder()
                .endPort(0)
                .startPort(0)
                .build())
            .udpPortRangeLists(NetworkSecurityRuleAdRuleOutboundAllowListUdpPortRangeListArgs.builder()
                .endPort(0)
                .startPort(0)
                .build())
            .build())
        .adRuleTargetGroupDefaultInternalPolicy("string")
        .adRuleTargetGroupFilterKindLists("string")
        .adRuleTargetGroupFilterParams(NetworkSecurityRuleAdRuleTargetGroupFilterParamArgs.builder()
            .name("string")
            .values("string")
            .build())
        .adRuleTargetGroupFilterType("string")
        .adRuleTargetGroupPeerSpecificationType("string")
        .allowIpv6Traffic(false)
        .appRuleAction("string")
        .appRuleInboundAllowLists(NetworkSecurityRuleAppRuleInboundAllowListArgs.builder()
            .addressGroupInclusionLists(NetworkSecurityRuleAppRuleInboundAllowListAddressGroupInclusionListArgs.builder()
                .kind("string")
                .name("string")
                .uuid("string")
                .build())
            .expirationTime("string")
            .filterKindLists("string")
            .filterParams(NetworkSecurityRuleAppRuleInboundAllowListFilterParamArgs.builder()
                .name("string")
                .values("string")
                .build())
            .filterType("string")
            .icmpTypeCodeLists(NetworkSecurityRuleAppRuleInboundAllowListIcmpTypeCodeListArgs.builder()
                .code("string")
                .type("string")
                .build())
            .ipSubnet("string")
            .ipSubnetPrefixLength("string")
            .networkFunctionChainReference(Map.of("string", "string"))
            .peerSpecificationType("string")
            .protocol("string")
            .serviceGroupLists(NetworkSecurityRuleAppRuleInboundAllowListServiceGroupListArgs.builder()
                .kind("string")
                .name("string")
                .uuid("string")
                .build())
            .tcpPortRangeLists(NetworkSecurityRuleAppRuleInboundAllowListTcpPortRangeListArgs.builder()
                .endPort(0)
                .startPort(0)
                .build())
            .udpPortRangeLists(NetworkSecurityRuleAppRuleInboundAllowListUdpPortRangeListArgs.builder()
                .endPort(0)
                .startPort(0)
                .build())
            .build())
        .appRuleOutboundAllowLists(NetworkSecurityRuleAppRuleOutboundAllowListArgs.builder()
            .addressGroupInclusionLists(NetworkSecurityRuleAppRuleOutboundAllowListAddressGroupInclusionListArgs.builder()
                .kind("string")
                .name("string")
                .uuid("string")
                .build())
            .expirationTime("string")
            .filterKindLists("string")
            .filterParams(NetworkSecurityRuleAppRuleOutboundAllowListFilterParamArgs.builder()
                .name("string")
                .values("string")
                .build())
            .filterType("string")
            .icmpTypeCodeLists(NetworkSecurityRuleAppRuleOutboundAllowListIcmpTypeCodeListArgs.builder()
                .code("string")
                .type("string")
                .build())
            .ipSubnet("string")
            .ipSubnetPrefixLength("string")
            .networkFunctionChainReference(Map.of("string", "string"))
            .peerSpecificationType("string")
            .protocol("string")
            .serviceGroupLists(NetworkSecurityRuleAppRuleOutboundAllowListServiceGroupListArgs.builder()
                .kind("string")
                .name("string")
                .uuid("string")
                .build())
            .tcpPortRangeLists(NetworkSecurityRuleAppRuleOutboundAllowListTcpPortRangeListArgs.builder()
                .endPort(0)
                .startPort(0)
                .build())
            .udpPortRangeLists(NetworkSecurityRuleAppRuleOutboundAllowListUdpPortRangeListArgs.builder()
                .endPort(0)
                .startPort(0)
                .build())
            .build())
        .appRuleTargetGroupDefaultInternalPolicy("string")
        .appRuleTargetGroupFilterKindLists("string")
        .appRuleTargetGroupFilterParams(NetworkSecurityRuleAppRuleTargetGroupFilterParamArgs.builder()
            .name("string")
            .values("string")
            .build())
        .appRuleTargetGroupFilterType("string")
        .appRuleTargetGroupPeerSpecificationType("string")
        .categories(NetworkSecurityRuleCategoryArgs.builder()
            .name("string")
            .value("string")
            .build())
        .description("string")
        .isPolicyHitlogEnabled(false)
        .isolationRuleAction("string")
        .isolationRuleFirstEntityFilterKindLists("string")
        .isolationRuleFirstEntityFilterParams(NetworkSecurityRuleIsolationRuleFirstEntityFilterParamArgs.builder()
            .name("string")
            .values("string")
            .build())
        .isolationRuleFirstEntityFilterType("string")
        .isolationRuleSecondEntityFilterKindLists("string")
        .isolationRuleSecondEntityFilterParams(NetworkSecurityRuleIsolationRuleSecondEntityFilterParamArgs.builder()
            .name("string")
            .values("string")
            .build())
        .isolationRuleSecondEntityFilterType("string")
        .name("string")
        .ownerReference(Map.of("string", "string"))
        .projectReference(Map.of("string", "string"))
        .build());
    
    network_security_rule_resource = nutanix.NetworkSecurityRule("networkSecurityRuleResource",
        ad_rule_action="string",
        ad_rule_inbound_allow_lists=[{
            "address_group_inclusion_lists": [{
                "kind": "string",
                "name": "string",
                "uuid": "string",
            }],
            "expiration_time": "string",
            "filter_kind_lists": ["string"],
            "filter_params": [{
                "name": "string",
                "values": ["string"],
            }],
            "filter_type": "string",
            "icmp_type_code_lists": [{
                "code": "string",
                "type": "string",
            }],
            "ip_subnet": "string",
            "ip_subnet_prefix_length": "string",
            "network_function_chain_reference": {
                "string": "string",
            },
            "peer_specification_type": "string",
            "protocol": "string",
            "service_group_lists": [{
                "kind": "string",
                "name": "string",
                "uuid": "string",
            }],
            "tcp_port_range_lists": [{
                "end_port": 0,
                "start_port": 0,
            }],
            "udp_port_range_lists": [{
                "end_port": 0,
                "start_port": 0,
            }],
        }],
        ad_rule_outbound_allow_lists=[{
            "address_group_inclusion_lists": [{
                "kind": "string",
                "name": "string",
                "uuid": "string",
            }],
            "expiration_time": "string",
            "filter_kind_lists": ["string"],
            "filter_params": [{
                "name": "string",
                "values": ["string"],
            }],
            "filter_type": "string",
            "icmp_type_code_lists": [{
                "code": "string",
                "type": "string",
            }],
            "ip_subnet": "string",
            "ip_subnet_prefix_length": "string",
            "network_function_chain_reference": {
                "string": "string",
            },
            "peer_specification_type": "string",
            "protocol": "string",
            "service_group_lists": [{
                "kind": "string",
                "name": "string",
                "uuid": "string",
            }],
            "tcp_port_range_lists": [{
                "end_port": 0,
                "start_port": 0,
            }],
            "udp_port_range_lists": [{
                "end_port": 0,
                "start_port": 0,
            }],
        }],
        ad_rule_target_group_default_internal_policy="string",
        ad_rule_target_group_filter_kind_lists=["string"],
        ad_rule_target_group_filter_params=[{
            "name": "string",
            "values": ["string"],
        }],
        ad_rule_target_group_filter_type="string",
        ad_rule_target_group_peer_specification_type="string",
        allow_ipv6_traffic=False,
        app_rule_action="string",
        app_rule_inbound_allow_lists=[{
            "address_group_inclusion_lists": [{
                "kind": "string",
                "name": "string",
                "uuid": "string",
            }],
            "expiration_time": "string",
            "filter_kind_lists": ["string"],
            "filter_params": [{
                "name": "string",
                "values": ["string"],
            }],
            "filter_type": "string",
            "icmp_type_code_lists": [{
                "code": "string",
                "type": "string",
            }],
            "ip_subnet": "string",
            "ip_subnet_prefix_length": "string",
            "network_function_chain_reference": {
                "string": "string",
            },
            "peer_specification_type": "string",
            "protocol": "string",
            "service_group_lists": [{
                "kind": "string",
                "name": "string",
                "uuid": "string",
            }],
            "tcp_port_range_lists": [{
                "end_port": 0,
                "start_port": 0,
            }],
            "udp_port_range_lists": [{
                "end_port": 0,
                "start_port": 0,
            }],
        }],
        app_rule_outbound_allow_lists=[{
            "address_group_inclusion_lists": [{
                "kind": "string",
                "name": "string",
                "uuid": "string",
            }],
            "expiration_time": "string",
            "filter_kind_lists": ["string"],
            "filter_params": [{
                "name": "string",
                "values": ["string"],
            }],
            "filter_type": "string",
            "icmp_type_code_lists": [{
                "code": "string",
                "type": "string",
            }],
            "ip_subnet": "string",
            "ip_subnet_prefix_length": "string",
            "network_function_chain_reference": {
                "string": "string",
            },
            "peer_specification_type": "string",
            "protocol": "string",
            "service_group_lists": [{
                "kind": "string",
                "name": "string",
                "uuid": "string",
            }],
            "tcp_port_range_lists": [{
                "end_port": 0,
                "start_port": 0,
            }],
            "udp_port_range_lists": [{
                "end_port": 0,
                "start_port": 0,
            }],
        }],
        app_rule_target_group_default_internal_policy="string",
        app_rule_target_group_filter_kind_lists=["string"],
        app_rule_target_group_filter_params=[{
            "name": "string",
            "values": ["string"],
        }],
        app_rule_target_group_filter_type="string",
        app_rule_target_group_peer_specification_type="string",
        categories=[{
            "name": "string",
            "value": "string",
        }],
        description="string",
        is_policy_hitlog_enabled=False,
        isolation_rule_action="string",
        isolation_rule_first_entity_filter_kind_lists=["string"],
        isolation_rule_first_entity_filter_params=[{
            "name": "string",
            "values": ["string"],
        }],
        isolation_rule_first_entity_filter_type="string",
        isolation_rule_second_entity_filter_kind_lists=["string"],
        isolation_rule_second_entity_filter_params=[{
            "name": "string",
            "values": ["string"],
        }],
        isolation_rule_second_entity_filter_type="string",
        name="string",
        owner_reference={
            "string": "string",
        },
        project_reference={
            "string": "string",
        })
    
    const networkSecurityRuleResource = new nutanix.NetworkSecurityRule("networkSecurityRuleResource", {
        adRuleAction: "string",
        adRuleInboundAllowLists: [{
            addressGroupInclusionLists: [{
                kind: "string",
                name: "string",
                uuid: "string",
            }],
            expirationTime: "string",
            filterKindLists: ["string"],
            filterParams: [{
                name: "string",
                values: ["string"],
            }],
            filterType: "string",
            icmpTypeCodeLists: [{
                code: "string",
                type: "string",
            }],
            ipSubnet: "string",
            ipSubnetPrefixLength: "string",
            networkFunctionChainReference: {
                string: "string",
            },
            peerSpecificationType: "string",
            protocol: "string",
            serviceGroupLists: [{
                kind: "string",
                name: "string",
                uuid: "string",
            }],
            tcpPortRangeLists: [{
                endPort: 0,
                startPort: 0,
            }],
            udpPortRangeLists: [{
                endPort: 0,
                startPort: 0,
            }],
        }],
        adRuleOutboundAllowLists: [{
            addressGroupInclusionLists: [{
                kind: "string",
                name: "string",
                uuid: "string",
            }],
            expirationTime: "string",
            filterKindLists: ["string"],
            filterParams: [{
                name: "string",
                values: ["string"],
            }],
            filterType: "string",
            icmpTypeCodeLists: [{
                code: "string",
                type: "string",
            }],
            ipSubnet: "string",
            ipSubnetPrefixLength: "string",
            networkFunctionChainReference: {
                string: "string",
            },
            peerSpecificationType: "string",
            protocol: "string",
            serviceGroupLists: [{
                kind: "string",
                name: "string",
                uuid: "string",
            }],
            tcpPortRangeLists: [{
                endPort: 0,
                startPort: 0,
            }],
            udpPortRangeLists: [{
                endPort: 0,
                startPort: 0,
            }],
        }],
        adRuleTargetGroupDefaultInternalPolicy: "string",
        adRuleTargetGroupFilterKindLists: ["string"],
        adRuleTargetGroupFilterParams: [{
            name: "string",
            values: ["string"],
        }],
        adRuleTargetGroupFilterType: "string",
        adRuleTargetGroupPeerSpecificationType: "string",
        allowIpv6Traffic: false,
        appRuleAction: "string",
        appRuleInboundAllowLists: [{
            addressGroupInclusionLists: [{
                kind: "string",
                name: "string",
                uuid: "string",
            }],
            expirationTime: "string",
            filterKindLists: ["string"],
            filterParams: [{
                name: "string",
                values: ["string"],
            }],
            filterType: "string",
            icmpTypeCodeLists: [{
                code: "string",
                type: "string",
            }],
            ipSubnet: "string",
            ipSubnetPrefixLength: "string",
            networkFunctionChainReference: {
                string: "string",
            },
            peerSpecificationType: "string",
            protocol: "string",
            serviceGroupLists: [{
                kind: "string",
                name: "string",
                uuid: "string",
            }],
            tcpPortRangeLists: [{
                endPort: 0,
                startPort: 0,
            }],
            udpPortRangeLists: [{
                endPort: 0,
                startPort: 0,
            }],
        }],
        appRuleOutboundAllowLists: [{
            addressGroupInclusionLists: [{
                kind: "string",
                name: "string",
                uuid: "string",
            }],
            expirationTime: "string",
            filterKindLists: ["string"],
            filterParams: [{
                name: "string",
                values: ["string"],
            }],
            filterType: "string",
            icmpTypeCodeLists: [{
                code: "string",
                type: "string",
            }],
            ipSubnet: "string",
            ipSubnetPrefixLength: "string",
            networkFunctionChainReference: {
                string: "string",
            },
            peerSpecificationType: "string",
            protocol: "string",
            serviceGroupLists: [{
                kind: "string",
                name: "string",
                uuid: "string",
            }],
            tcpPortRangeLists: [{
                endPort: 0,
                startPort: 0,
            }],
            udpPortRangeLists: [{
                endPort: 0,
                startPort: 0,
            }],
        }],
        appRuleTargetGroupDefaultInternalPolicy: "string",
        appRuleTargetGroupFilterKindLists: ["string"],
        appRuleTargetGroupFilterParams: [{
            name: "string",
            values: ["string"],
        }],
        appRuleTargetGroupFilterType: "string",
        appRuleTargetGroupPeerSpecificationType: "string",
        categories: [{
            name: "string",
            value: "string",
        }],
        description: "string",
        isPolicyHitlogEnabled: false,
        isolationRuleAction: "string",
        isolationRuleFirstEntityFilterKindLists: ["string"],
        isolationRuleFirstEntityFilterParams: [{
            name: "string",
            values: ["string"],
        }],
        isolationRuleFirstEntityFilterType: "string",
        isolationRuleSecondEntityFilterKindLists: ["string"],
        isolationRuleSecondEntityFilterParams: [{
            name: "string",
            values: ["string"],
        }],
        isolationRuleSecondEntityFilterType: "string",
        name: "string",
        ownerReference: {
            string: "string",
        },
        projectReference: {
            string: "string",
        },
    });
    
    type: nutanix:NetworkSecurityRule
    properties:
        adRuleAction: string
        adRuleInboundAllowLists:
            - addressGroupInclusionLists:
                - kind: string
                  name: string
                  uuid: string
              expirationTime: string
              filterKindLists:
                - string
              filterParams:
                - name: string
                  values:
                    - string
              filterType: string
              icmpTypeCodeLists:
                - code: string
                  type: string
              ipSubnet: string
              ipSubnetPrefixLength: string
              networkFunctionChainReference:
                string: string
              peerSpecificationType: string
              protocol: string
              serviceGroupLists:
                - kind: string
                  name: string
                  uuid: string
              tcpPortRangeLists:
                - endPort: 0
                  startPort: 0
              udpPortRangeLists:
                - endPort: 0
                  startPort: 0
        adRuleOutboundAllowLists:
            - addressGroupInclusionLists:
                - kind: string
                  name: string
                  uuid: string
              expirationTime: string
              filterKindLists:
                - string
              filterParams:
                - name: string
                  values:
                    - string
              filterType: string
              icmpTypeCodeLists:
                - code: string
                  type: string
              ipSubnet: string
              ipSubnetPrefixLength: string
              networkFunctionChainReference:
                string: string
              peerSpecificationType: string
              protocol: string
              serviceGroupLists:
                - kind: string
                  name: string
                  uuid: string
              tcpPortRangeLists:
                - endPort: 0
                  startPort: 0
              udpPortRangeLists:
                - endPort: 0
                  startPort: 0
        adRuleTargetGroupDefaultInternalPolicy: string
        adRuleTargetGroupFilterKindLists:
            - string
        adRuleTargetGroupFilterParams:
            - name: string
              values:
                - string
        adRuleTargetGroupFilterType: string
        adRuleTargetGroupPeerSpecificationType: string
        allowIpv6Traffic: false
        appRuleAction: string
        appRuleInboundAllowLists:
            - addressGroupInclusionLists:
                - kind: string
                  name: string
                  uuid: string
              expirationTime: string
              filterKindLists:
                - string
              filterParams:
                - name: string
                  values:
                    - string
              filterType: string
              icmpTypeCodeLists:
                - code: string
                  type: string
              ipSubnet: string
              ipSubnetPrefixLength: string
              networkFunctionChainReference:
                string: string
              peerSpecificationType: string
              protocol: string
              serviceGroupLists:
                - kind: string
                  name: string
                  uuid: string
              tcpPortRangeLists:
                - endPort: 0
                  startPort: 0
              udpPortRangeLists:
                - endPort: 0
                  startPort: 0
        appRuleOutboundAllowLists:
            - addressGroupInclusionLists:
                - kind: string
                  name: string
                  uuid: string
              expirationTime: string
              filterKindLists:
                - string
              filterParams:
                - name: string
                  values:
                    - string
              filterType: string
              icmpTypeCodeLists:
                - code: string
                  type: string
              ipSubnet: string
              ipSubnetPrefixLength: string
              networkFunctionChainReference:
                string: string
              peerSpecificationType: string
              protocol: string
              serviceGroupLists:
                - kind: string
                  name: string
                  uuid: string
              tcpPortRangeLists:
                - endPort: 0
                  startPort: 0
              udpPortRangeLists:
                - endPort: 0
                  startPort: 0
        appRuleTargetGroupDefaultInternalPolicy: string
        appRuleTargetGroupFilterKindLists:
            - string
        appRuleTargetGroupFilterParams:
            - name: string
              values:
                - string
        appRuleTargetGroupFilterType: string
        appRuleTargetGroupPeerSpecificationType: string
        categories:
            - name: string
              value: string
        description: string
        isPolicyHitlogEnabled: false
        isolationRuleAction: string
        isolationRuleFirstEntityFilterKindLists:
            - string
        isolationRuleFirstEntityFilterParams:
            - name: string
              values:
                - string
        isolationRuleFirstEntityFilterType: string
        isolationRuleSecondEntityFilterKindLists:
            - string
        isolationRuleSecondEntityFilterParams:
            - name: string
              values:
                - string
        isolationRuleSecondEntityFilterType: string
        name: string
        ownerReference:
            string: string
        projectReference:
            string: string
    

    NetworkSecurityRule Resource Properties

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

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The NetworkSecurityRule resource accepts the following input properties:

    AdRuleAction string
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    AdRuleInboundAllowLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleInboundAllowList>
    • (Optional) The set of categories that matching VMs need to have.
    AdRuleOutboundAllowLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowList>
    • (Optional)
    AdRuleTargetGroupDefaultInternalPolicy string
    • (Optional) - Default policy for communication within target group.
    AdRuleTargetGroupFilterKindLists List<string>
    • (Optional) - List of kinds associated with this filter.
    AdRuleTargetGroupFilterParams List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleTargetGroupFilterParam>
    • (Optional) - A list of category key and list of values.
    AdRuleTargetGroupFilterType string
    • (Optional) - The type of the filter being used.
    AdRuleTargetGroupPeerSpecificationType string
    • (Optional) - Way to identify the object for which rule is applied.
    AllowIpv6Traffic bool
    AppRuleAction string
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    AppRuleInboundAllowLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleInboundAllowList>
    • (Optional) The set of categories that matching VMs need to have.
    AppRuleOutboundAllowLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleOutboundAllowList>
    • (Optional)
    AppRuleTargetGroupDefaultInternalPolicy string
    • (Optional) - Default policy for communication within target group.
    AppRuleTargetGroupFilterKindLists List<string>
    • (Optional) - List of kinds associated with this filter.
    AppRuleTargetGroupFilterParams List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleTargetGroupFilterParam>
    • (Optional) - A list of category key and list of values.
    AppRuleTargetGroupFilterType string
    • (Optional) - The type of the filter being used.
    AppRuleTargetGroupPeerSpecificationType string
    • (Optional) - Way to identify the object for which rule is applied.
    Categories List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleCategory>
    • (Optional) Categories for the network_security_rule.
    Description string
    • (Optional) A description for network_security_rule.
    IsPolicyHitlogEnabled bool
    IsolationRuleAction string
    • (Optional) - These rules are used for environmental isolation.
    IsolationRuleFirstEntityFilterKindLists List<string>
    • (Optional) - List of kinds associated with this filter.
    IsolationRuleFirstEntityFilterParams List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleIsolationRuleFirstEntityFilterParam>
    • (Optional) - A list of category key and list of values.
    IsolationRuleFirstEntityFilterType string
    • (Optional) - The type of the filter being used.
    IsolationRuleSecondEntityFilterKindLists List<string>
    • (Optional) - List of kinds associated with this filter.
    IsolationRuleSecondEntityFilterParams List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleIsolationRuleSecondEntityFilterParam>
    • (Optional) - A list of category key and list of values.
    IsolationRuleSecondEntityFilterType string
    • (Optional) - The type of the filter being used.
    Name string
    • (Required) The name for the network_security_rule.
    OwnerReference Dictionary<string, string>
    • (Optional) The reference to a user.
    ProjectReference Dictionary<string, string>
    • (Optional) The reference to a project.
    AdRuleAction string
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    AdRuleInboundAllowLists []NetworkSecurityRuleAdRuleInboundAllowListArgs
    • (Optional) The set of categories that matching VMs need to have.
    AdRuleOutboundAllowLists []NetworkSecurityRuleAdRuleOutboundAllowListArgs
    • (Optional)
    AdRuleTargetGroupDefaultInternalPolicy string
    • (Optional) - Default policy for communication within target group.
    AdRuleTargetGroupFilterKindLists []string
    • (Optional) - List of kinds associated with this filter.
    AdRuleTargetGroupFilterParams []NetworkSecurityRuleAdRuleTargetGroupFilterParamArgs
    • (Optional) - A list of category key and list of values.
    AdRuleTargetGroupFilterType string
    • (Optional) - The type of the filter being used.
    AdRuleTargetGroupPeerSpecificationType string
    • (Optional) - Way to identify the object for which rule is applied.
    AllowIpv6Traffic bool
    AppRuleAction string
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    AppRuleInboundAllowLists []NetworkSecurityRuleAppRuleInboundAllowListArgs
    • (Optional) The set of categories that matching VMs need to have.
    AppRuleOutboundAllowLists []NetworkSecurityRuleAppRuleOutboundAllowListArgs
    • (Optional)
    AppRuleTargetGroupDefaultInternalPolicy string
    • (Optional) - Default policy for communication within target group.
    AppRuleTargetGroupFilterKindLists []string
    • (Optional) - List of kinds associated with this filter.
    AppRuleTargetGroupFilterParams []NetworkSecurityRuleAppRuleTargetGroupFilterParamArgs
    • (Optional) - A list of category key and list of values.
    AppRuleTargetGroupFilterType string
    • (Optional) - The type of the filter being used.
    AppRuleTargetGroupPeerSpecificationType string
    • (Optional) - Way to identify the object for which rule is applied.
    Categories []NetworkSecurityRuleCategoryArgs
    • (Optional) Categories for the network_security_rule.
    Description string
    • (Optional) A description for network_security_rule.
    IsPolicyHitlogEnabled bool
    IsolationRuleAction string
    • (Optional) - These rules are used for environmental isolation.
    IsolationRuleFirstEntityFilterKindLists []string
    • (Optional) - List of kinds associated with this filter.
    IsolationRuleFirstEntityFilterParams []NetworkSecurityRuleIsolationRuleFirstEntityFilterParamArgs
    • (Optional) - A list of category key and list of values.
    IsolationRuleFirstEntityFilterType string
    • (Optional) - The type of the filter being used.
    IsolationRuleSecondEntityFilterKindLists []string
    • (Optional) - List of kinds associated with this filter.
    IsolationRuleSecondEntityFilterParams []NetworkSecurityRuleIsolationRuleSecondEntityFilterParamArgs
    • (Optional) - A list of category key and list of values.
    IsolationRuleSecondEntityFilterType string
    • (Optional) - The type of the filter being used.
    Name string
    • (Required) The name for the network_security_rule.
    OwnerReference map[string]string
    • (Optional) The reference to a user.
    ProjectReference map[string]string
    • (Optional) The reference to a project.
    adRuleAction String
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    adRuleInboundAllowLists List<NetworkSecurityRuleAdRuleInboundAllowList>
    • (Optional) The set of categories that matching VMs need to have.
    adRuleOutboundAllowLists List<NetworkSecurityRuleAdRuleOutboundAllowList>
    • (Optional)
    adRuleTargetGroupDefaultInternalPolicy String
    • (Optional) - Default policy for communication within target group.
    adRuleTargetGroupFilterKindLists List<String>
    • (Optional) - List of kinds associated with this filter.
    adRuleTargetGroupFilterParams List<NetworkSecurityRuleAdRuleTargetGroupFilterParam>
    • (Optional) - A list of category key and list of values.
    adRuleTargetGroupFilterType String
    • (Optional) - The type of the filter being used.
    adRuleTargetGroupPeerSpecificationType String
    • (Optional) - Way to identify the object for which rule is applied.
    allowIpv6Traffic Boolean
    appRuleAction String
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    appRuleInboundAllowLists List<NetworkSecurityRuleAppRuleInboundAllowList>
    • (Optional) The set of categories that matching VMs need to have.
    appRuleOutboundAllowLists List<NetworkSecurityRuleAppRuleOutboundAllowList>
    • (Optional)
    appRuleTargetGroupDefaultInternalPolicy String
    • (Optional) - Default policy for communication within target group.
    appRuleTargetGroupFilterKindLists List<String>
    • (Optional) - List of kinds associated with this filter.
    appRuleTargetGroupFilterParams List<NetworkSecurityRuleAppRuleTargetGroupFilterParam>
    • (Optional) - A list of category key and list of values.
    appRuleTargetGroupFilterType String
    • (Optional) - The type of the filter being used.
    appRuleTargetGroupPeerSpecificationType String
    • (Optional) - Way to identify the object for which rule is applied.
    categories List<NetworkSecurityRuleCategory>
    • (Optional) Categories for the network_security_rule.
    description String
    • (Optional) A description for network_security_rule.
    isPolicyHitlogEnabled Boolean
    isolationRuleAction String
    • (Optional) - These rules are used for environmental isolation.
    isolationRuleFirstEntityFilterKindLists List<String>
    • (Optional) - List of kinds associated with this filter.
    isolationRuleFirstEntityFilterParams List<NetworkSecurityRuleIsolationRuleFirstEntityFilterParam>
    • (Optional) - A list of category key and list of values.
    isolationRuleFirstEntityFilterType String
    • (Optional) - The type of the filter being used.
    isolationRuleSecondEntityFilterKindLists List<String>
    • (Optional) - List of kinds associated with this filter.
    isolationRuleSecondEntityFilterParams List<NetworkSecurityRuleIsolationRuleSecondEntityFilterParam>
    • (Optional) - A list of category key and list of values.
    isolationRuleSecondEntityFilterType String
    • (Optional) - The type of the filter being used.
    name String
    • (Required) The name for the network_security_rule.
    ownerReference Map<String,String>
    • (Optional) The reference to a user.
    projectReference Map<String,String>
    • (Optional) The reference to a project.
    adRuleAction string
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    adRuleInboundAllowLists NetworkSecurityRuleAdRuleInboundAllowList[]
    • (Optional) The set of categories that matching VMs need to have.
    adRuleOutboundAllowLists NetworkSecurityRuleAdRuleOutboundAllowList[]
    • (Optional)
    adRuleTargetGroupDefaultInternalPolicy string
    • (Optional) - Default policy for communication within target group.
    adRuleTargetGroupFilterKindLists string[]
    • (Optional) - List of kinds associated with this filter.
    adRuleTargetGroupFilterParams NetworkSecurityRuleAdRuleTargetGroupFilterParam[]
    • (Optional) - A list of category key and list of values.
    adRuleTargetGroupFilterType string
    • (Optional) - The type of the filter being used.
    adRuleTargetGroupPeerSpecificationType string
    • (Optional) - Way to identify the object for which rule is applied.
    allowIpv6Traffic boolean
    appRuleAction string
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    appRuleInboundAllowLists NetworkSecurityRuleAppRuleInboundAllowList[]
    • (Optional) The set of categories that matching VMs need to have.
    appRuleOutboundAllowLists NetworkSecurityRuleAppRuleOutboundAllowList[]
    • (Optional)
    appRuleTargetGroupDefaultInternalPolicy string
    • (Optional) - Default policy for communication within target group.
    appRuleTargetGroupFilterKindLists string[]
    • (Optional) - List of kinds associated with this filter.
    appRuleTargetGroupFilterParams NetworkSecurityRuleAppRuleTargetGroupFilterParam[]
    • (Optional) - A list of category key and list of values.
    appRuleTargetGroupFilterType string
    • (Optional) - The type of the filter being used.
    appRuleTargetGroupPeerSpecificationType string
    • (Optional) - Way to identify the object for which rule is applied.
    categories NetworkSecurityRuleCategory[]
    • (Optional) Categories for the network_security_rule.
    description string
    • (Optional) A description for network_security_rule.
    isPolicyHitlogEnabled boolean
    isolationRuleAction string
    • (Optional) - These rules are used for environmental isolation.
    isolationRuleFirstEntityFilterKindLists string[]
    • (Optional) - List of kinds associated with this filter.
    isolationRuleFirstEntityFilterParams NetworkSecurityRuleIsolationRuleFirstEntityFilterParam[]
    • (Optional) - A list of category key and list of values.
    isolationRuleFirstEntityFilterType string
    • (Optional) - The type of the filter being used.
    isolationRuleSecondEntityFilterKindLists string[]
    • (Optional) - List of kinds associated with this filter.
    isolationRuleSecondEntityFilterParams NetworkSecurityRuleIsolationRuleSecondEntityFilterParam[]
    • (Optional) - A list of category key and list of values.
    isolationRuleSecondEntityFilterType string
    • (Optional) - The type of the filter being used.
    name string
    • (Required) The name for the network_security_rule.
    ownerReference {[key: string]: string}
    • (Optional) The reference to a user.
    projectReference {[key: string]: string}
    • (Optional) The reference to a project.
    ad_rule_action str
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    ad_rule_inbound_allow_lists Sequence[NetworkSecurityRuleAdRuleInboundAllowListArgs]
    • (Optional) The set of categories that matching VMs need to have.
    ad_rule_outbound_allow_lists Sequence[NetworkSecurityRuleAdRuleOutboundAllowListArgs]
    • (Optional)
    ad_rule_target_group_default_internal_policy str
    • (Optional) - Default policy for communication within target group.
    ad_rule_target_group_filter_kind_lists Sequence[str]
    • (Optional) - List of kinds associated with this filter.
    ad_rule_target_group_filter_params Sequence[NetworkSecurityRuleAdRuleTargetGroupFilterParamArgs]
    • (Optional) - A list of category key and list of values.
    ad_rule_target_group_filter_type str
    • (Optional) - The type of the filter being used.
    ad_rule_target_group_peer_specification_type str
    • (Optional) - Way to identify the object for which rule is applied.
    allow_ipv6_traffic bool
    app_rule_action str
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    app_rule_inbound_allow_lists Sequence[NetworkSecurityRuleAppRuleInboundAllowListArgs]
    • (Optional) The set of categories that matching VMs need to have.
    app_rule_outbound_allow_lists Sequence[NetworkSecurityRuleAppRuleOutboundAllowListArgs]
    • (Optional)
    app_rule_target_group_default_internal_policy str
    • (Optional) - Default policy for communication within target group.
    app_rule_target_group_filter_kind_lists Sequence[str]
    • (Optional) - List of kinds associated with this filter.
    app_rule_target_group_filter_params Sequence[NetworkSecurityRuleAppRuleTargetGroupFilterParamArgs]
    • (Optional) - A list of category key and list of values.
    app_rule_target_group_filter_type str
    • (Optional) - The type of the filter being used.
    app_rule_target_group_peer_specification_type str
    • (Optional) - Way to identify the object for which rule is applied.
    categories Sequence[NetworkSecurityRuleCategoryArgs]
    • (Optional) Categories for the network_security_rule.
    description str
    • (Optional) A description for network_security_rule.
    is_policy_hitlog_enabled bool
    isolation_rule_action str
    • (Optional) - These rules are used for environmental isolation.
    isolation_rule_first_entity_filter_kind_lists Sequence[str]
    • (Optional) - List of kinds associated with this filter.
    isolation_rule_first_entity_filter_params Sequence[NetworkSecurityRuleIsolationRuleFirstEntityFilterParamArgs]
    • (Optional) - A list of category key and list of values.
    isolation_rule_first_entity_filter_type str
    • (Optional) - The type of the filter being used.
    isolation_rule_second_entity_filter_kind_lists Sequence[str]
    • (Optional) - List of kinds associated with this filter.
    isolation_rule_second_entity_filter_params Sequence[NetworkSecurityRuleIsolationRuleSecondEntityFilterParamArgs]
    • (Optional) - A list of category key and list of values.
    isolation_rule_second_entity_filter_type str
    • (Optional) - The type of the filter being used.
    name str
    • (Required) The name for the network_security_rule.
    owner_reference Mapping[str, str]
    • (Optional) The reference to a user.
    project_reference Mapping[str, str]
    • (Optional) The reference to a project.
    adRuleAction String
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    adRuleInboundAllowLists List<Property Map>
    • (Optional) The set of categories that matching VMs need to have.
    adRuleOutboundAllowLists List<Property Map>
    • (Optional)
    adRuleTargetGroupDefaultInternalPolicy String
    • (Optional) - Default policy for communication within target group.
    adRuleTargetGroupFilterKindLists List<String>
    • (Optional) - List of kinds associated with this filter.
    adRuleTargetGroupFilterParams List<Property Map>
    • (Optional) - A list of category key and list of values.
    adRuleTargetGroupFilterType String
    • (Optional) - The type of the filter being used.
    adRuleTargetGroupPeerSpecificationType String
    • (Optional) - Way to identify the object for which rule is applied.
    allowIpv6Traffic Boolean
    appRuleAction String
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    appRuleInboundAllowLists List<Property Map>
    • (Optional) The set of categories that matching VMs need to have.
    appRuleOutboundAllowLists List<Property Map>
    • (Optional)
    appRuleTargetGroupDefaultInternalPolicy String
    • (Optional) - Default policy for communication within target group.
    appRuleTargetGroupFilterKindLists List<String>
    • (Optional) - List of kinds associated with this filter.
    appRuleTargetGroupFilterParams List<Property Map>
    • (Optional) - A list of category key and list of values.
    appRuleTargetGroupFilterType String
    • (Optional) - The type of the filter being used.
    appRuleTargetGroupPeerSpecificationType String
    • (Optional) - Way to identify the object for which rule is applied.
    categories List<Property Map>
    • (Optional) Categories for the network_security_rule.
    description String
    • (Optional) A description for network_security_rule.
    isPolicyHitlogEnabled Boolean
    isolationRuleAction String
    • (Optional) - These rules are used for environmental isolation.
    isolationRuleFirstEntityFilterKindLists List<String>
    • (Optional) - List of kinds associated with this filter.
    isolationRuleFirstEntityFilterParams List<Property Map>
    • (Optional) - A list of category key and list of values.
    isolationRuleFirstEntityFilterType String
    • (Optional) - The type of the filter being used.
    isolationRuleSecondEntityFilterKindLists List<String>
    • (Optional) - List of kinds associated with this filter.
    isolationRuleSecondEntityFilterParams List<Property Map>
    • (Optional) - A list of category key and list of values.
    isolationRuleSecondEntityFilterType String
    • (Optional) - The type of the filter being used.
    name String
    • (Required) The name for the network_security_rule.
    ownerReference Map<String>
    • (Optional) The reference to a user.
    projectReference Map<String>
    • (Optional) The reference to a project.

    Outputs

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

    ApiVersion string
    The version of the API.
    Id string
    The provider-assigned unique ID for this managed resource.
    Metadata Dictionary<string, string>
    • The network_security_rule kind metadata.
    ApiVersion string
    The version of the API.
    Id string
    The provider-assigned unique ID for this managed resource.
    Metadata map[string]string
    • The network_security_rule kind metadata.
    apiVersion String
    The version of the API.
    id String
    The provider-assigned unique ID for this managed resource.
    metadata Map<String,String>
    • The network_security_rule kind metadata.
    apiVersion string
    The version of the API.
    id string
    The provider-assigned unique ID for this managed resource.
    metadata {[key: string]: string}
    • The network_security_rule kind metadata.
    api_version str
    The version of the API.
    id str
    The provider-assigned unique ID for this managed resource.
    metadata Mapping[str, str]
    • The network_security_rule kind metadata.
    apiVersion String
    The version of the API.
    id String
    The provider-assigned unique ID for this managed resource.
    metadata Map<String>
    • The network_security_rule kind metadata.

    Look up Existing NetworkSecurityRule Resource

    Get an existing NetworkSecurityRule 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?: NetworkSecurityRuleState, opts?: CustomResourceOptions): NetworkSecurityRule
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            ad_rule_action: Optional[str] = None,
            ad_rule_inbound_allow_lists: Optional[Sequence[NetworkSecurityRuleAdRuleInboundAllowListArgs]] = None,
            ad_rule_outbound_allow_lists: Optional[Sequence[NetworkSecurityRuleAdRuleOutboundAllowListArgs]] = None,
            ad_rule_target_group_default_internal_policy: Optional[str] = None,
            ad_rule_target_group_filter_kind_lists: Optional[Sequence[str]] = None,
            ad_rule_target_group_filter_params: Optional[Sequence[NetworkSecurityRuleAdRuleTargetGroupFilterParamArgs]] = None,
            ad_rule_target_group_filter_type: Optional[str] = None,
            ad_rule_target_group_peer_specification_type: Optional[str] = None,
            allow_ipv6_traffic: Optional[bool] = None,
            api_version: Optional[str] = None,
            app_rule_action: Optional[str] = None,
            app_rule_inbound_allow_lists: Optional[Sequence[NetworkSecurityRuleAppRuleInboundAllowListArgs]] = None,
            app_rule_outbound_allow_lists: Optional[Sequence[NetworkSecurityRuleAppRuleOutboundAllowListArgs]] = None,
            app_rule_target_group_default_internal_policy: Optional[str] = None,
            app_rule_target_group_filter_kind_lists: Optional[Sequence[str]] = None,
            app_rule_target_group_filter_params: Optional[Sequence[NetworkSecurityRuleAppRuleTargetGroupFilterParamArgs]] = None,
            app_rule_target_group_filter_type: Optional[str] = None,
            app_rule_target_group_peer_specification_type: Optional[str] = None,
            categories: Optional[Sequence[NetworkSecurityRuleCategoryArgs]] = None,
            description: Optional[str] = None,
            is_policy_hitlog_enabled: Optional[bool] = None,
            isolation_rule_action: Optional[str] = None,
            isolation_rule_first_entity_filter_kind_lists: Optional[Sequence[str]] = None,
            isolation_rule_first_entity_filter_params: Optional[Sequence[NetworkSecurityRuleIsolationRuleFirstEntityFilterParamArgs]] = None,
            isolation_rule_first_entity_filter_type: Optional[str] = None,
            isolation_rule_second_entity_filter_kind_lists: Optional[Sequence[str]] = None,
            isolation_rule_second_entity_filter_params: Optional[Sequence[NetworkSecurityRuleIsolationRuleSecondEntityFilterParamArgs]] = None,
            isolation_rule_second_entity_filter_type: Optional[str] = None,
            metadata: Optional[Mapping[str, str]] = None,
            name: Optional[str] = None,
            owner_reference: Optional[Mapping[str, str]] = None,
            project_reference: Optional[Mapping[str, str]] = None) -> NetworkSecurityRule
    func GetNetworkSecurityRule(ctx *Context, name string, id IDInput, state *NetworkSecurityRuleState, opts ...ResourceOption) (*NetworkSecurityRule, error)
    public static NetworkSecurityRule Get(string name, Input<string> id, NetworkSecurityRuleState? state, CustomResourceOptions? opts = null)
    public static NetworkSecurityRule get(String name, Output<String> id, NetworkSecurityRuleState 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:
    AdRuleAction string
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    AdRuleInboundAllowLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleInboundAllowList>
    • (Optional) The set of categories that matching VMs need to have.
    AdRuleOutboundAllowLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowList>
    • (Optional)
    AdRuleTargetGroupDefaultInternalPolicy string
    • (Optional) - Default policy for communication within target group.
    AdRuleTargetGroupFilterKindLists List<string>
    • (Optional) - List of kinds associated with this filter.
    AdRuleTargetGroupFilterParams List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleTargetGroupFilterParam>
    • (Optional) - A list of category key and list of values.
    AdRuleTargetGroupFilterType string
    • (Optional) - The type of the filter being used.
    AdRuleTargetGroupPeerSpecificationType string
    • (Optional) - Way to identify the object for which rule is applied.
    AllowIpv6Traffic bool
    ApiVersion string
    The version of the API.
    AppRuleAction string
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    AppRuleInboundAllowLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleInboundAllowList>
    • (Optional) The set of categories that matching VMs need to have.
    AppRuleOutboundAllowLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleOutboundAllowList>
    • (Optional)
    AppRuleTargetGroupDefaultInternalPolicy string
    • (Optional) - Default policy for communication within target group.
    AppRuleTargetGroupFilterKindLists List<string>
    • (Optional) - List of kinds associated with this filter.
    AppRuleTargetGroupFilterParams List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleTargetGroupFilterParam>
    • (Optional) - A list of category key and list of values.
    AppRuleTargetGroupFilterType string
    • (Optional) - The type of the filter being used.
    AppRuleTargetGroupPeerSpecificationType string
    • (Optional) - Way to identify the object for which rule is applied.
    Categories List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleCategory>
    • (Optional) Categories for the network_security_rule.
    Description string
    • (Optional) A description for network_security_rule.
    IsPolicyHitlogEnabled bool
    IsolationRuleAction string
    • (Optional) - These rules are used for environmental isolation.
    IsolationRuleFirstEntityFilterKindLists List<string>
    • (Optional) - List of kinds associated with this filter.
    IsolationRuleFirstEntityFilterParams List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleIsolationRuleFirstEntityFilterParam>
    • (Optional) - A list of category key and list of values.
    IsolationRuleFirstEntityFilterType string
    • (Optional) - The type of the filter being used.
    IsolationRuleSecondEntityFilterKindLists List<string>
    • (Optional) - List of kinds associated with this filter.
    IsolationRuleSecondEntityFilterParams List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleIsolationRuleSecondEntityFilterParam>
    • (Optional) - A list of category key and list of values.
    IsolationRuleSecondEntityFilterType string
    • (Optional) - The type of the filter being used.
    Metadata Dictionary<string, string>
    • The network_security_rule kind metadata.
    Name string
    • (Required) The name for the network_security_rule.
    OwnerReference Dictionary<string, string>
    • (Optional) The reference to a user.
    ProjectReference Dictionary<string, string>
    • (Optional) The reference to a project.
    AdRuleAction string
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    AdRuleInboundAllowLists []NetworkSecurityRuleAdRuleInboundAllowListArgs
    • (Optional) The set of categories that matching VMs need to have.
    AdRuleOutboundAllowLists []NetworkSecurityRuleAdRuleOutboundAllowListArgs
    • (Optional)
    AdRuleTargetGroupDefaultInternalPolicy string
    • (Optional) - Default policy for communication within target group.
    AdRuleTargetGroupFilterKindLists []string
    • (Optional) - List of kinds associated with this filter.
    AdRuleTargetGroupFilterParams []NetworkSecurityRuleAdRuleTargetGroupFilterParamArgs
    • (Optional) - A list of category key and list of values.
    AdRuleTargetGroupFilterType string
    • (Optional) - The type of the filter being used.
    AdRuleTargetGroupPeerSpecificationType string
    • (Optional) - Way to identify the object for which rule is applied.
    AllowIpv6Traffic bool
    ApiVersion string
    The version of the API.
    AppRuleAction string
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    AppRuleInboundAllowLists []NetworkSecurityRuleAppRuleInboundAllowListArgs
    • (Optional) The set of categories that matching VMs need to have.
    AppRuleOutboundAllowLists []NetworkSecurityRuleAppRuleOutboundAllowListArgs
    • (Optional)
    AppRuleTargetGroupDefaultInternalPolicy string
    • (Optional) - Default policy for communication within target group.
    AppRuleTargetGroupFilterKindLists []string
    • (Optional) - List of kinds associated with this filter.
    AppRuleTargetGroupFilterParams []NetworkSecurityRuleAppRuleTargetGroupFilterParamArgs
    • (Optional) - A list of category key and list of values.
    AppRuleTargetGroupFilterType string
    • (Optional) - The type of the filter being used.
    AppRuleTargetGroupPeerSpecificationType string
    • (Optional) - Way to identify the object for which rule is applied.
    Categories []NetworkSecurityRuleCategoryArgs
    • (Optional) Categories for the network_security_rule.
    Description string
    • (Optional) A description for network_security_rule.
    IsPolicyHitlogEnabled bool
    IsolationRuleAction string
    • (Optional) - These rules are used for environmental isolation.
    IsolationRuleFirstEntityFilterKindLists []string
    • (Optional) - List of kinds associated with this filter.
    IsolationRuleFirstEntityFilterParams []NetworkSecurityRuleIsolationRuleFirstEntityFilterParamArgs
    • (Optional) - A list of category key and list of values.
    IsolationRuleFirstEntityFilterType string
    • (Optional) - The type of the filter being used.
    IsolationRuleSecondEntityFilterKindLists []string
    • (Optional) - List of kinds associated with this filter.
    IsolationRuleSecondEntityFilterParams []NetworkSecurityRuleIsolationRuleSecondEntityFilterParamArgs
    • (Optional) - A list of category key and list of values.
    IsolationRuleSecondEntityFilterType string
    • (Optional) - The type of the filter being used.
    Metadata map[string]string
    • The network_security_rule kind metadata.
    Name string
    • (Required) The name for the network_security_rule.
    OwnerReference map[string]string
    • (Optional) The reference to a user.
    ProjectReference map[string]string
    • (Optional) The reference to a project.
    adRuleAction String
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    adRuleInboundAllowLists List<NetworkSecurityRuleAdRuleInboundAllowList>
    • (Optional) The set of categories that matching VMs need to have.
    adRuleOutboundAllowLists List<NetworkSecurityRuleAdRuleOutboundAllowList>
    • (Optional)
    adRuleTargetGroupDefaultInternalPolicy String
    • (Optional) - Default policy for communication within target group.
    adRuleTargetGroupFilterKindLists List<String>
    • (Optional) - List of kinds associated with this filter.
    adRuleTargetGroupFilterParams List<NetworkSecurityRuleAdRuleTargetGroupFilterParam>
    • (Optional) - A list of category key and list of values.
    adRuleTargetGroupFilterType String
    • (Optional) - The type of the filter being used.
    adRuleTargetGroupPeerSpecificationType String
    • (Optional) - Way to identify the object for which rule is applied.
    allowIpv6Traffic Boolean
    apiVersion String
    The version of the API.
    appRuleAction String
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    appRuleInboundAllowLists List<NetworkSecurityRuleAppRuleInboundAllowList>
    • (Optional) The set of categories that matching VMs need to have.
    appRuleOutboundAllowLists List<NetworkSecurityRuleAppRuleOutboundAllowList>
    • (Optional)
    appRuleTargetGroupDefaultInternalPolicy String
    • (Optional) - Default policy for communication within target group.
    appRuleTargetGroupFilterKindLists List<String>
    • (Optional) - List of kinds associated with this filter.
    appRuleTargetGroupFilterParams List<NetworkSecurityRuleAppRuleTargetGroupFilterParam>
    • (Optional) - A list of category key and list of values.
    appRuleTargetGroupFilterType String
    • (Optional) - The type of the filter being used.
    appRuleTargetGroupPeerSpecificationType String
    • (Optional) - Way to identify the object for which rule is applied.
    categories List<NetworkSecurityRuleCategory>
    • (Optional) Categories for the network_security_rule.
    description String
    • (Optional) A description for network_security_rule.
    isPolicyHitlogEnabled Boolean
    isolationRuleAction String
    • (Optional) - These rules are used for environmental isolation.
    isolationRuleFirstEntityFilterKindLists List<String>
    • (Optional) - List of kinds associated with this filter.
    isolationRuleFirstEntityFilterParams List<NetworkSecurityRuleIsolationRuleFirstEntityFilterParam>
    • (Optional) - A list of category key and list of values.
    isolationRuleFirstEntityFilterType String
    • (Optional) - The type of the filter being used.
    isolationRuleSecondEntityFilterKindLists List<String>
    • (Optional) - List of kinds associated with this filter.
    isolationRuleSecondEntityFilterParams List<NetworkSecurityRuleIsolationRuleSecondEntityFilterParam>
    • (Optional) - A list of category key and list of values.
    isolationRuleSecondEntityFilterType String
    • (Optional) - The type of the filter being used.
    metadata Map<String,String>
    • The network_security_rule kind metadata.
    name String
    • (Required) The name for the network_security_rule.
    ownerReference Map<String,String>
    • (Optional) The reference to a user.
    projectReference Map<String,String>
    • (Optional) The reference to a project.
    adRuleAction string
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    adRuleInboundAllowLists NetworkSecurityRuleAdRuleInboundAllowList[]
    • (Optional) The set of categories that matching VMs need to have.
    adRuleOutboundAllowLists NetworkSecurityRuleAdRuleOutboundAllowList[]
    • (Optional)
    adRuleTargetGroupDefaultInternalPolicy string
    • (Optional) - Default policy for communication within target group.
    adRuleTargetGroupFilterKindLists string[]
    • (Optional) - List of kinds associated with this filter.
    adRuleTargetGroupFilterParams NetworkSecurityRuleAdRuleTargetGroupFilterParam[]
    • (Optional) - A list of category key and list of values.
    adRuleTargetGroupFilterType string
    • (Optional) - The type of the filter being used.
    adRuleTargetGroupPeerSpecificationType string
    • (Optional) - Way to identify the object for which rule is applied.
    allowIpv6Traffic boolean
    apiVersion string
    The version of the API.
    appRuleAction string
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    appRuleInboundAllowLists NetworkSecurityRuleAppRuleInboundAllowList[]
    • (Optional) The set of categories that matching VMs need to have.
    appRuleOutboundAllowLists NetworkSecurityRuleAppRuleOutboundAllowList[]
    • (Optional)
    appRuleTargetGroupDefaultInternalPolicy string
    • (Optional) - Default policy for communication within target group.
    appRuleTargetGroupFilterKindLists string[]
    • (Optional) - List of kinds associated with this filter.
    appRuleTargetGroupFilterParams NetworkSecurityRuleAppRuleTargetGroupFilterParam[]
    • (Optional) - A list of category key and list of values.
    appRuleTargetGroupFilterType string
    • (Optional) - The type of the filter being used.
    appRuleTargetGroupPeerSpecificationType string
    • (Optional) - Way to identify the object for which rule is applied.
    categories NetworkSecurityRuleCategory[]
    • (Optional) Categories for the network_security_rule.
    description string
    • (Optional) A description for network_security_rule.
    isPolicyHitlogEnabled boolean
    isolationRuleAction string
    • (Optional) - These rules are used for environmental isolation.
    isolationRuleFirstEntityFilterKindLists string[]
    • (Optional) - List of kinds associated with this filter.
    isolationRuleFirstEntityFilterParams NetworkSecurityRuleIsolationRuleFirstEntityFilterParam[]
    • (Optional) - A list of category key and list of values.
    isolationRuleFirstEntityFilterType string
    • (Optional) - The type of the filter being used.
    isolationRuleSecondEntityFilterKindLists string[]
    • (Optional) - List of kinds associated with this filter.
    isolationRuleSecondEntityFilterParams NetworkSecurityRuleIsolationRuleSecondEntityFilterParam[]
    • (Optional) - A list of category key and list of values.
    isolationRuleSecondEntityFilterType string
    • (Optional) - The type of the filter being used.
    metadata {[key: string]: string}
    • The network_security_rule kind metadata.
    name string
    • (Required) The name for the network_security_rule.
    ownerReference {[key: string]: string}
    • (Optional) The reference to a user.
    projectReference {[key: string]: string}
    • (Optional) The reference to a project.
    ad_rule_action str
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    ad_rule_inbound_allow_lists Sequence[NetworkSecurityRuleAdRuleInboundAllowListArgs]
    • (Optional) The set of categories that matching VMs need to have.
    ad_rule_outbound_allow_lists Sequence[NetworkSecurityRuleAdRuleOutboundAllowListArgs]
    • (Optional)
    ad_rule_target_group_default_internal_policy str
    • (Optional) - Default policy for communication within target group.
    ad_rule_target_group_filter_kind_lists Sequence[str]
    • (Optional) - List of kinds associated with this filter.
    ad_rule_target_group_filter_params Sequence[NetworkSecurityRuleAdRuleTargetGroupFilterParamArgs]
    • (Optional) - A list of category key and list of values.
    ad_rule_target_group_filter_type str
    • (Optional) - The type of the filter being used.
    ad_rule_target_group_peer_specification_type str
    • (Optional) - Way to identify the object for which rule is applied.
    allow_ipv6_traffic bool
    api_version str
    The version of the API.
    app_rule_action str
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    app_rule_inbound_allow_lists Sequence[NetworkSecurityRuleAppRuleInboundAllowListArgs]
    • (Optional) The set of categories that matching VMs need to have.
    app_rule_outbound_allow_lists Sequence[NetworkSecurityRuleAppRuleOutboundAllowListArgs]
    • (Optional)
    app_rule_target_group_default_internal_policy str
    • (Optional) - Default policy for communication within target group.
    app_rule_target_group_filter_kind_lists Sequence[str]
    • (Optional) - List of kinds associated with this filter.
    app_rule_target_group_filter_params Sequence[NetworkSecurityRuleAppRuleTargetGroupFilterParamArgs]
    • (Optional) - A list of category key and list of values.
    app_rule_target_group_filter_type str
    • (Optional) - The type of the filter being used.
    app_rule_target_group_peer_specification_type str
    • (Optional) - Way to identify the object for which rule is applied.
    categories Sequence[NetworkSecurityRuleCategoryArgs]
    • (Optional) Categories for the network_security_rule.
    description str
    • (Optional) A description for network_security_rule.
    is_policy_hitlog_enabled bool
    isolation_rule_action str
    • (Optional) - These rules are used for environmental isolation.
    isolation_rule_first_entity_filter_kind_lists Sequence[str]
    • (Optional) - List of kinds associated with this filter.
    isolation_rule_first_entity_filter_params Sequence[NetworkSecurityRuleIsolationRuleFirstEntityFilterParamArgs]
    • (Optional) - A list of category key and list of values.
    isolation_rule_first_entity_filter_type str
    • (Optional) - The type of the filter being used.
    isolation_rule_second_entity_filter_kind_lists Sequence[str]
    • (Optional) - List of kinds associated with this filter.
    isolation_rule_second_entity_filter_params Sequence[NetworkSecurityRuleIsolationRuleSecondEntityFilterParamArgs]
    • (Optional) - A list of category key and list of values.
    isolation_rule_second_entity_filter_type str
    • (Optional) - The type of the filter being used.
    metadata Mapping[str, str]
    • The network_security_rule kind metadata.
    name str
    • (Required) The name for the network_security_rule.
    owner_reference Mapping[str, str]
    • (Optional) The reference to a user.
    project_reference Mapping[str, str]
    • (Optional) The reference to a project.
    adRuleAction String
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    adRuleInboundAllowLists List<Property Map>
    • (Optional) The set of categories that matching VMs need to have.
    adRuleOutboundAllowLists List<Property Map>
    • (Optional)
    adRuleTargetGroupDefaultInternalPolicy String
    • (Optional) - Default policy for communication within target group.
    adRuleTargetGroupFilterKindLists List<String>
    • (Optional) - List of kinds associated with this filter.
    adRuleTargetGroupFilterParams List<Property Map>
    • (Optional) - A list of category key and list of values.
    adRuleTargetGroupFilterType String
    • (Optional) - The type of the filter being used.
    adRuleTargetGroupPeerSpecificationType String
    • (Optional) - Way to identify the object for which rule is applied.
    allowIpv6Traffic Boolean
    apiVersion String
    The version of the API.
    appRuleAction String
    • (Optional) - These rules govern what flows are allowed. Target group is a required attribute. Empty inbound_allow_list will not anything into target group. Empty outbound_allow_list will allow everything from target group.
    appRuleInboundAllowLists List<Property Map>
    • (Optional) The set of categories that matching VMs need to have.
    appRuleOutboundAllowLists List<Property Map>
    • (Optional)
    appRuleTargetGroupDefaultInternalPolicy String
    • (Optional) - Default policy for communication within target group.
    appRuleTargetGroupFilterKindLists List<String>
    • (Optional) - List of kinds associated with this filter.
    appRuleTargetGroupFilterParams List<Property Map>
    • (Optional) - A list of category key and list of values.
    appRuleTargetGroupFilterType String
    • (Optional) - The type of the filter being used.
    appRuleTargetGroupPeerSpecificationType String
    • (Optional) - Way to identify the object for which rule is applied.
    categories List<Property Map>
    • (Optional) Categories for the network_security_rule.
    description String
    • (Optional) A description for network_security_rule.
    isPolicyHitlogEnabled Boolean
    isolationRuleAction String
    • (Optional) - These rules are used for environmental isolation.
    isolationRuleFirstEntityFilterKindLists List<String>
    • (Optional) - List of kinds associated with this filter.
    isolationRuleFirstEntityFilterParams List<Property Map>
    • (Optional) - A list of category key and list of values.
    isolationRuleFirstEntityFilterType String
    • (Optional) - The type of the filter being used.
    isolationRuleSecondEntityFilterKindLists List<String>
    • (Optional) - List of kinds associated with this filter.
    isolationRuleSecondEntityFilterParams List<Property Map>
    • (Optional) - A list of category key and list of values.
    isolationRuleSecondEntityFilterType String
    • (Optional) - The type of the filter being used.
    metadata Map<String>
    • The network_security_rule kind metadata.
    name String
    • (Required) The name for the network_security_rule.
    ownerReference Map<String>
    • (Optional) The reference to a user.
    projectReference Map<String>
    • (Optional) The reference to a project.

    Supporting Types

    NetworkSecurityRuleAdRuleInboundAllowList, NetworkSecurityRuleAdRuleInboundAllowListArgs

    AddressGroupInclusionLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleInboundAllowListAddressGroupInclusionList>
    ExpirationTime string
    FilterKindLists List<string>
    FilterParams List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleInboundAllowListFilterParam>
    FilterType string
    IcmpTypeCodeLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleInboundAllowListIcmpTypeCodeList>
    IpSubnet string
    IpSubnetPrefixLength string
    NetworkFunctionChainReference Dictionary<string, string>
    PeerSpecificationType string
    Protocol string
    ServiceGroupLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleInboundAllowListServiceGroupList>
    TcpPortRangeLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleInboundAllowListTcpPortRangeList>
    UdpPortRangeLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleInboundAllowListUdpPortRangeList>

    NetworkSecurityRuleAdRuleInboundAllowListAddressGroupInclusionList, NetworkSecurityRuleAdRuleInboundAllowListAddressGroupInclusionListArgs

    Kind string
    • The kind name (Default value: project)(Required).
    Name string
    • (Required) The name for the network_security_rule.
    Uuid string
    • the UUID(Required).
    Kind string
    • The kind name (Default value: project)(Required).
    Name string
    • (Required) The name for the network_security_rule.
    Uuid string
    • the UUID(Required).
    kind String
    • The kind name (Default value: project)(Required).
    name String
    • (Required) The name for the network_security_rule.
    uuid String
    • the UUID(Required).
    kind string
    • The kind name (Default value: project)(Required).
    name string
    • (Required) The name for the network_security_rule.
    uuid string
    • the UUID(Required).
    kind str
    • The kind name (Default value: project)(Required).
    name str
    • (Required) The name for the network_security_rule.
    uuid str
    • the UUID(Required).
    kind String
    • The kind name (Default value: project)(Required).
    name String
    • (Required) The name for the network_security_rule.
    uuid String
    • the UUID(Required).

    NetworkSecurityRuleAdRuleInboundAllowListFilterParam, NetworkSecurityRuleAdRuleInboundAllowListFilterParamArgs

    Name string
    • (Required) The name for the network_security_rule.
    Values List<string>
    Name string
    • (Required) The name for the network_security_rule.
    Values []string
    name String
    • (Required) The name for the network_security_rule.
    values List<String>
    name string
    • (Required) The name for the network_security_rule.
    values string[]
    name str
    • (Required) The name for the network_security_rule.
    values Sequence[str]
    name String
    • (Required) The name for the network_security_rule.
    values List<String>

    NetworkSecurityRuleAdRuleInboundAllowListIcmpTypeCodeList, NetworkSecurityRuleAdRuleInboundAllowListIcmpTypeCodeListArgs

    Code string
    Type string
    Code string
    Type string
    code String
    type String
    code string
    type string
    code str
    type str
    code String
    type String

    NetworkSecurityRuleAdRuleInboundAllowListServiceGroupList, NetworkSecurityRuleAdRuleInboundAllowListServiceGroupListArgs

    Kind string
    • The kind name (Default value: project)(Required).
    Name string
    • (Required) The name for the network_security_rule.
    Uuid string
    • the UUID(Required).
    Kind string
    • The kind name (Default value: project)(Required).
    Name string
    • (Required) The name for the network_security_rule.
    Uuid string
    • the UUID(Required).
    kind String
    • The kind name (Default value: project)(Required).
    name String
    • (Required) The name for the network_security_rule.
    uuid String
    • the UUID(Required).
    kind string
    • The kind name (Default value: project)(Required).
    name string
    • (Required) The name for the network_security_rule.
    uuid string
    • the UUID(Required).
    kind str
    • The kind name (Default value: project)(Required).
    name str
    • (Required) The name for the network_security_rule.
    uuid str
    • the UUID(Required).
    kind String
    • The kind name (Default value: project)(Required).
    name String
    • (Required) The name for the network_security_rule.
    uuid String
    • the UUID(Required).

    NetworkSecurityRuleAdRuleInboundAllowListTcpPortRangeList, NetworkSecurityRuleAdRuleInboundAllowListTcpPortRangeListArgs

    endPort Integer
    startPort Integer
    endPort number
    startPort number
    endPort Number
    startPort Number

    NetworkSecurityRuleAdRuleInboundAllowListUdpPortRangeList, NetworkSecurityRuleAdRuleInboundAllowListUdpPortRangeListArgs

    endPort Integer
    startPort Integer
    endPort number
    startPort number
    endPort Number
    startPort Number

    NetworkSecurityRuleAdRuleOutboundAllowList, NetworkSecurityRuleAdRuleOutboundAllowListArgs

    AddressGroupInclusionLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowListAddressGroupInclusionList>
    ExpirationTime string
    FilterKindLists List<string>
    FilterParams List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowListFilterParam>
    FilterType string
    IcmpTypeCodeLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowListIcmpTypeCodeList>
    IpSubnet string
    IpSubnetPrefixLength string
    NetworkFunctionChainReference Dictionary<string, string>
    PeerSpecificationType string
    Protocol string
    ServiceGroupLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowListServiceGroupList>
    TcpPortRangeLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowListTcpPortRangeList>
    UdpPortRangeLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAdRuleOutboundAllowListUdpPortRangeList>

    NetworkSecurityRuleAdRuleOutboundAllowListAddressGroupInclusionList, NetworkSecurityRuleAdRuleOutboundAllowListAddressGroupInclusionListArgs

    Kind string
    • The kind name (Default value: project)(Required).
    Name string
    • (Required) The name for the network_security_rule.
    Uuid string
    • the UUID(Required).
    Kind string
    • The kind name (Default value: project)(Required).
    Name string
    • (Required) The name for the network_security_rule.
    Uuid string
    • the UUID(Required).
    kind String
    • The kind name (Default value: project)(Required).
    name String
    • (Required) The name for the network_security_rule.
    uuid String
    • the UUID(Required).
    kind string
    • The kind name (Default value: project)(Required).
    name string
    • (Required) The name for the network_security_rule.
    uuid string
    • the UUID(Required).
    kind str
    • The kind name (Default value: project)(Required).
    name str
    • (Required) The name for the network_security_rule.
    uuid str
    • the UUID(Required).
    kind String
    • The kind name (Default value: project)(Required).
    name String
    • (Required) The name for the network_security_rule.
    uuid String
    • the UUID(Required).

    NetworkSecurityRuleAdRuleOutboundAllowListFilterParam, NetworkSecurityRuleAdRuleOutboundAllowListFilterParamArgs

    Name string
    • (Required) The name for the network_security_rule.
    Values List<string>
    Name string
    • (Required) The name for the network_security_rule.
    Values []string
    name String
    • (Required) The name for the network_security_rule.
    values List<String>
    name string
    • (Required) The name for the network_security_rule.
    values string[]
    name str
    • (Required) The name for the network_security_rule.
    values Sequence[str]
    name String
    • (Required) The name for the network_security_rule.
    values List<String>

    NetworkSecurityRuleAdRuleOutboundAllowListIcmpTypeCodeList, NetworkSecurityRuleAdRuleOutboundAllowListIcmpTypeCodeListArgs

    Code string
    Type string
    Code string
    Type string
    code String
    type String
    code string
    type string
    code str
    type str
    code String
    type String

    NetworkSecurityRuleAdRuleOutboundAllowListServiceGroupList, NetworkSecurityRuleAdRuleOutboundAllowListServiceGroupListArgs

    Kind string
    • The kind name (Default value: project)(Required).
    Name string
    • (Required) The name for the network_security_rule.
    Uuid string
    • the UUID(Required).
    Kind string
    • The kind name (Default value: project)(Required).
    Name string
    • (Required) The name for the network_security_rule.
    Uuid string
    • the UUID(Required).
    kind String
    • The kind name (Default value: project)(Required).
    name String
    • (Required) The name for the network_security_rule.
    uuid String
    • the UUID(Required).
    kind string
    • The kind name (Default value: project)(Required).
    name string
    • (Required) The name for the network_security_rule.
    uuid string
    • the UUID(Required).
    kind str
    • The kind name (Default value: project)(Required).
    name str
    • (Required) The name for the network_security_rule.
    uuid str
    • the UUID(Required).
    kind String
    • The kind name (Default value: project)(Required).
    name String
    • (Required) The name for the network_security_rule.
    uuid String
    • the UUID(Required).

    NetworkSecurityRuleAdRuleOutboundAllowListTcpPortRangeList, NetworkSecurityRuleAdRuleOutboundAllowListTcpPortRangeListArgs

    endPort Integer
    startPort Integer
    endPort number
    startPort number
    endPort Number
    startPort Number

    NetworkSecurityRuleAdRuleOutboundAllowListUdpPortRangeList, NetworkSecurityRuleAdRuleOutboundAllowListUdpPortRangeListArgs

    endPort Integer
    startPort Integer
    endPort number
    startPort number
    endPort Number
    startPort Number

    NetworkSecurityRuleAdRuleTargetGroupFilterParam, NetworkSecurityRuleAdRuleTargetGroupFilterParamArgs

    Name string
    • (Required) The name for the network_security_rule.
    Values List<string>
    Name string
    • (Required) The name for the network_security_rule.
    Values []string
    name String
    • (Required) The name for the network_security_rule.
    values List<String>
    name string
    • (Required) The name for the network_security_rule.
    values string[]
    name str
    • (Required) The name for the network_security_rule.
    values Sequence[str]
    name String
    • (Required) The name for the network_security_rule.
    values List<String>

    NetworkSecurityRuleAppRuleInboundAllowList, NetworkSecurityRuleAppRuleInboundAllowListArgs

    AddressGroupInclusionLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleInboundAllowListAddressGroupInclusionList>
    ExpirationTime string
    FilterKindLists List<string>
    FilterParams List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleInboundAllowListFilterParam>
    FilterType string
    IcmpTypeCodeLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleInboundAllowListIcmpTypeCodeList>
    IpSubnet string
    IpSubnetPrefixLength string
    NetworkFunctionChainReference Dictionary<string, string>
    PeerSpecificationType string
    Protocol string
    ServiceGroupLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleInboundAllowListServiceGroupList>
    TcpPortRangeLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleInboundAllowListTcpPortRangeList>
    UdpPortRangeLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleInboundAllowListUdpPortRangeList>

    NetworkSecurityRuleAppRuleInboundAllowListAddressGroupInclusionList, NetworkSecurityRuleAppRuleInboundAllowListAddressGroupInclusionListArgs

    Kind string
    • The kind name (Default value: project)(Required).
    Name string
    • (Required) The name for the network_security_rule.
    Uuid string
    • the UUID(Required).
    Kind string
    • The kind name (Default value: project)(Required).
    Name string
    • (Required) The name for the network_security_rule.
    Uuid string
    • the UUID(Required).
    kind String
    • The kind name (Default value: project)(Required).
    name String
    • (Required) The name for the network_security_rule.
    uuid String
    • the UUID(Required).
    kind string
    • The kind name (Default value: project)(Required).
    name string
    • (Required) The name for the network_security_rule.
    uuid string
    • the UUID(Required).
    kind str
    • The kind name (Default value: project)(Required).
    name str
    • (Required) The name for the network_security_rule.
    uuid str
    • the UUID(Required).
    kind String
    • The kind name (Default value: project)(Required).
    name String
    • (Required) The name for the network_security_rule.
    uuid String
    • the UUID(Required).

    NetworkSecurityRuleAppRuleInboundAllowListFilterParam, NetworkSecurityRuleAppRuleInboundAllowListFilterParamArgs

    Name string
    • (Required) The name for the network_security_rule.
    Values List<string>
    Name string
    • (Required) The name for the network_security_rule.
    Values []string
    name String
    • (Required) The name for the network_security_rule.
    values List<String>
    name string
    • (Required) The name for the network_security_rule.
    values string[]
    name str
    • (Required) The name for the network_security_rule.
    values Sequence[str]
    name String
    • (Required) The name for the network_security_rule.
    values List<String>

    NetworkSecurityRuleAppRuleInboundAllowListIcmpTypeCodeList, NetworkSecurityRuleAppRuleInboundAllowListIcmpTypeCodeListArgs

    Code string
    Type string
    Code string
    Type string
    code String
    type String
    code string
    type string
    code str
    type str
    code String
    type String

    NetworkSecurityRuleAppRuleInboundAllowListServiceGroupList, NetworkSecurityRuleAppRuleInboundAllowListServiceGroupListArgs

    Kind string
    • The kind name (Default value: project)(Required).
    Name string
    • (Required) The name for the network_security_rule.
    Uuid string
    • the UUID(Required).
    Kind string
    • The kind name (Default value: project)(Required).
    Name string
    • (Required) The name for the network_security_rule.
    Uuid string
    • the UUID(Required).
    kind String
    • The kind name (Default value: project)(Required).
    name String
    • (Required) The name for the network_security_rule.
    uuid String
    • the UUID(Required).
    kind string
    • The kind name (Default value: project)(Required).
    name string
    • (Required) The name for the network_security_rule.
    uuid string
    • the UUID(Required).
    kind str
    • The kind name (Default value: project)(Required).
    name str
    • (Required) The name for the network_security_rule.
    uuid str
    • the UUID(Required).
    kind String
    • The kind name (Default value: project)(Required).
    name String
    • (Required) The name for the network_security_rule.
    uuid String
    • the UUID(Required).

    NetworkSecurityRuleAppRuleInboundAllowListTcpPortRangeList, NetworkSecurityRuleAppRuleInboundAllowListTcpPortRangeListArgs

    endPort Integer
    startPort Integer
    endPort number
    startPort number
    endPort Number
    startPort Number

    NetworkSecurityRuleAppRuleInboundAllowListUdpPortRangeList, NetworkSecurityRuleAppRuleInboundAllowListUdpPortRangeListArgs

    endPort Integer
    startPort Integer
    endPort number
    startPort number
    endPort Number
    startPort Number

    NetworkSecurityRuleAppRuleOutboundAllowList, NetworkSecurityRuleAppRuleOutboundAllowListArgs

    AddressGroupInclusionLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleOutboundAllowListAddressGroupInclusionList>
    ExpirationTime string
    FilterKindLists List<string>
    FilterParams List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleOutboundAllowListFilterParam>
    FilterType string
    IcmpTypeCodeLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleOutboundAllowListIcmpTypeCodeList>
    IpSubnet string
    IpSubnetPrefixLength string
    NetworkFunctionChainReference Dictionary<string, string>
    PeerSpecificationType string
    Protocol string
    ServiceGroupLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleOutboundAllowListServiceGroupList>
    TcpPortRangeLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleOutboundAllowListTcpPortRangeList>
    UdpPortRangeLists List<PiersKarsenbarg.Nutanix.Inputs.NetworkSecurityRuleAppRuleOutboundAllowListUdpPortRangeList>

    NetworkSecurityRuleAppRuleOutboundAllowListAddressGroupInclusionList, NetworkSecurityRuleAppRuleOutboundAllowListAddressGroupInclusionListArgs

    Kind string
    • The kind name (Default value: project)(Required).
    Name string
    • (Required) The name for the network_security_rule.
    Uuid string
    • the UUID(Required).
    Kind string
    • The kind name (Default value: project)(Required).
    Name string
    • (Required) The name for the network_security_rule.
    Uuid string
    • the UUID(Required).
    kind String
    • The kind name (Default value: project)(Required).
    name String
    • (Required) The name for the network_security_rule.
    uuid String
    • the UUID(Required).
    kind string
    • The kind name (Default value: project)(Required).
    name string
    • (Required) The name for the network_security_rule.
    uuid string
    • the UUID(Required).
    kind str
    • The kind name (Default value: project)(Required).
    name str
    • (Required) The name for the network_security_rule.
    uuid str
    • the UUID(Required).
    kind String
    • The kind name (Default value: project)(Required).
    name String
    • (Required) The name for the network_security_rule.
    uuid String
    • the UUID(Required).

    NetworkSecurityRuleAppRuleOutboundAllowListFilterParam, NetworkSecurityRuleAppRuleOutboundAllowListFilterParamArgs

    Name string
    • (Required) The name for the network_security_rule.
    Values List<string>
    Name string
    • (Required) The name for the network_security_rule.
    Values []string
    name String
    • (Required) The name for the network_security_rule.
    values List<String>
    name string
    • (Required) The name for the network_security_rule.
    values string[]
    name str
    • (Required) The name for the network_security_rule.
    values Sequence[str]
    name String
    • (Required) The name for the network_security_rule.
    values List<String>

    NetworkSecurityRuleAppRuleOutboundAllowListIcmpTypeCodeList, NetworkSecurityRuleAppRuleOutboundAllowListIcmpTypeCodeListArgs

    Code string
    Type string
    Code string
    Type string
    code String
    type String
    code string
    type string
    code str
    type str
    code String
    type String

    NetworkSecurityRuleAppRuleOutboundAllowListServiceGroupList, NetworkSecurityRuleAppRuleOutboundAllowListServiceGroupListArgs

    Kind string
    • The kind name (Default value: project)(Required).
    Name string
    • (Required) The name for the network_security_rule.
    Uuid string
    • the UUID(Required).
    Kind string
    • The kind name (Default value: project)(Required).
    Name string
    • (Required) The name for the network_security_rule.
    Uuid string
    • the UUID(Required).
    kind String
    • The kind name (Default value: project)(Required).
    name String
    • (Required) The name for the network_security_rule.
    uuid String
    • the UUID(Required).
    kind string
    • The kind name (Default value: project)(Required).
    name string
    • (Required) The name for the network_security_rule.
    uuid string
    • the UUID(Required).
    kind str
    • The kind name (Default value: project)(Required).
    name str
    • (Required) The name for the network_security_rule.
    uuid str
    • the UUID(Required).
    kind String
    • The kind name (Default value: project)(Required).
    name String
    • (Required) The name for the network_security_rule.
    uuid String
    • the UUID(Required).

    NetworkSecurityRuleAppRuleOutboundAllowListTcpPortRangeList, NetworkSecurityRuleAppRuleOutboundAllowListTcpPortRangeListArgs

    endPort Integer
    startPort Integer
    endPort number
    startPort number
    endPort Number
    startPort Number

    NetworkSecurityRuleAppRuleOutboundAllowListUdpPortRangeList, NetworkSecurityRuleAppRuleOutboundAllowListUdpPortRangeListArgs

    endPort Integer
    startPort Integer
    endPort number
    startPort number
    endPort Number
    startPort Number

    NetworkSecurityRuleAppRuleTargetGroupFilterParam, NetworkSecurityRuleAppRuleTargetGroupFilterParamArgs

    Name string
    • (Required) The name for the network_security_rule.
    Values List<string>
    Name string
    • (Required) The name for the network_security_rule.
    Values []string
    name String
    • (Required) The name for the network_security_rule.
    values List<String>
    name string
    • (Required) The name for the network_security_rule.
    values string[]
    name str
    • (Required) The name for the network_security_rule.
    values Sequence[str]
    name String
    • (Required) The name for the network_security_rule.
    values List<String>

    NetworkSecurityRuleCategory, NetworkSecurityRuleCategoryArgs

    Name string
    • (Required) The name for the network_security_rule.
    Value string
    Name string
    • (Required) The name for the network_security_rule.
    Value string
    name String
    • (Required) The name for the network_security_rule.
    value String
    name string
    • (Required) The name for the network_security_rule.
    value string
    name str
    • (Required) The name for the network_security_rule.
    value str
    name String
    • (Required) The name for the network_security_rule.
    value String

    NetworkSecurityRuleIsolationRuleFirstEntityFilterParam, NetworkSecurityRuleIsolationRuleFirstEntityFilterParamArgs

    Name string
    • (Required) The name for the network_security_rule.
    Values List<string>
    Name string
    • (Required) The name for the network_security_rule.
    Values []string
    name String
    • (Required) The name for the network_security_rule.
    values List<String>
    name string
    • (Required) The name for the network_security_rule.
    values string[]
    name str
    • (Required) The name for the network_security_rule.
    values Sequence[str]
    name String
    • (Required) The name for the network_security_rule.
    values List<String>

    NetworkSecurityRuleIsolationRuleSecondEntityFilterParam, NetworkSecurityRuleIsolationRuleSecondEntityFilterParamArgs

    Name string
    • (Required) The name for the network_security_rule.
    Values List<string>
    Name string
    • (Required) The name for the network_security_rule.
    Values []string
    name String
    • (Required) The name for the network_security_rule.
    values List<String>
    name string
    • (Required) The name for the network_security_rule.
    values string[]
    name str
    • (Required) The name for the network_security_rule.
    values Sequence[str]
    name String
    • (Required) The name for the network_security_rule.
    values List<String>

    Package Details

    Repository
    nutanix pierskarsenbarg/pulumi-nutanix
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the nutanix Terraform Provider.
    nutanix logo
    Nutanix v0.5.0 published on Monday, Nov 4, 2024 by Piers Karsenbarg