1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. vmwareengine
  5. ExternalAccessRule
Google Cloud Classic v7.23.0 published on Wednesday, May 15, 2024 by Pulumi

gcp.vmwareengine.ExternalAccessRule

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.23.0 published on Wednesday, May 15, 2024 by Pulumi

    External access firewall rules for filtering incoming traffic destined to ExternalAddress resources.

    To get more information about ExternalAccessRule, see:

    Example Usage

    Vmware Engine External Access Rule Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const external_access_rule_nw = new gcp.vmwareengine.Network("external-access-rule-nw", {
        name: "sample-nw",
        location: "global",
        type: "STANDARD",
        description: "PC network description.",
    });
    const external_access_rule_np = new gcp.vmwareengine.NetworkPolicy("external-access-rule-np", {
        location: "us-west1",
        name: "sample-np",
        edgeServicesCidr: "192.168.30.0/26",
        vmwareEngineNetwork: external_access_rule_nw.id,
    });
    const vmw_engine_external_access_rule = new gcp.vmwareengine.ExternalAccessRule("vmw-engine-external-access-rule", {
        name: "sample-external-access-rule",
        parent: external_access_rule_np.id,
        priority: 101,
        action: "DENY",
        ipProtocol: "TCP",
        sourceIpRanges: [{
            ipAddressRange: "0.0.0.0/0",
        }],
        sourcePorts: ["80"],
        destinationIpRanges: [{
            ipAddressRange: "0.0.0.0/0",
        }],
        destinationPorts: ["433"],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    external_access_rule_nw = gcp.vmwareengine.Network("external-access-rule-nw",
        name="sample-nw",
        location="global",
        type="STANDARD",
        description="PC network description.")
    external_access_rule_np = gcp.vmwareengine.NetworkPolicy("external-access-rule-np",
        location="us-west1",
        name="sample-np",
        edge_services_cidr="192.168.30.0/26",
        vmware_engine_network=external_access_rule_nw.id)
    vmw_engine_external_access_rule = gcp.vmwareengine.ExternalAccessRule("vmw-engine-external-access-rule",
        name="sample-external-access-rule",
        parent=external_access_rule_np.id,
        priority=101,
        action="DENY",
        ip_protocol="TCP",
        source_ip_ranges=[gcp.vmwareengine.ExternalAccessRuleSourceIpRangeArgs(
            ip_address_range="0.0.0.0/0",
        )],
        source_ports=["80"],
        destination_ip_ranges=[gcp.vmwareengine.ExternalAccessRuleDestinationIpRangeArgs(
            ip_address_range="0.0.0.0/0",
        )],
        destination_ports=["433"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/vmwareengine"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vmwareengine.NewNetwork(ctx, "external-access-rule-nw", &vmwareengine.NetworkArgs{
    			Name:        pulumi.String("sample-nw"),
    			Location:    pulumi.String("global"),
    			Type:        pulumi.String("STANDARD"),
    			Description: pulumi.String("PC network description."),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = vmwareengine.NewNetworkPolicy(ctx, "external-access-rule-np", &vmwareengine.NetworkPolicyArgs{
    			Location:            pulumi.String("us-west1"),
    			Name:                pulumi.String("sample-np"),
    			EdgeServicesCidr:    pulumi.String("192.168.30.0/26"),
    			VmwareEngineNetwork: external_access_rule_nw.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = vmwareengine.NewExternalAccessRule(ctx, "vmw-engine-external-access-rule", &vmwareengine.ExternalAccessRuleArgs{
    			Name:       pulumi.String("sample-external-access-rule"),
    			Parent:     external_access_rule_np.ID(),
    			Priority:   pulumi.Int(101),
    			Action:     pulumi.String("DENY"),
    			IpProtocol: pulumi.String("TCP"),
    			SourceIpRanges: vmwareengine.ExternalAccessRuleSourceIpRangeArray{
    				&vmwareengine.ExternalAccessRuleSourceIpRangeArgs{
    					IpAddressRange: pulumi.String("0.0.0.0/0"),
    				},
    			},
    			SourcePorts: pulumi.StringArray{
    				pulumi.String("80"),
    			},
    			DestinationIpRanges: vmwareengine.ExternalAccessRuleDestinationIpRangeArray{
    				&vmwareengine.ExternalAccessRuleDestinationIpRangeArgs{
    					IpAddressRange: pulumi.String("0.0.0.0/0"),
    				},
    			},
    			DestinationPorts: pulumi.StringArray{
    				pulumi.String("433"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var external_access_rule_nw = new Gcp.VMwareEngine.Network("external-access-rule-nw", new()
        {
            Name = "sample-nw",
            Location = "global",
            Type = "STANDARD",
            Description = "PC network description.",
        });
    
        var external_access_rule_np = new Gcp.VMwareEngine.NetworkPolicy("external-access-rule-np", new()
        {
            Location = "us-west1",
            Name = "sample-np",
            EdgeServicesCidr = "192.168.30.0/26",
            VmwareEngineNetwork = external_access_rule_nw.Id,
        });
    
        var vmw_engine_external_access_rule = new Gcp.VMwareEngine.ExternalAccessRule("vmw-engine-external-access-rule", new()
        {
            Name = "sample-external-access-rule",
            Parent = external_access_rule_np.Id,
            Priority = 101,
            Action = "DENY",
            IpProtocol = "TCP",
            SourceIpRanges = new[]
            {
                new Gcp.VMwareEngine.Inputs.ExternalAccessRuleSourceIpRangeArgs
                {
                    IpAddressRange = "0.0.0.0/0",
                },
            },
            SourcePorts = new[]
            {
                "80",
            },
            DestinationIpRanges = new[]
            {
                new Gcp.VMwareEngine.Inputs.ExternalAccessRuleDestinationIpRangeArgs
                {
                    IpAddressRange = "0.0.0.0/0",
                },
            },
            DestinationPorts = new[]
            {
                "433",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.vmwareengine.Network;
    import com.pulumi.gcp.vmwareengine.NetworkArgs;
    import com.pulumi.gcp.vmwareengine.NetworkPolicy;
    import com.pulumi.gcp.vmwareengine.NetworkPolicyArgs;
    import com.pulumi.gcp.vmwareengine.ExternalAccessRule;
    import com.pulumi.gcp.vmwareengine.ExternalAccessRuleArgs;
    import com.pulumi.gcp.vmwareengine.inputs.ExternalAccessRuleSourceIpRangeArgs;
    import com.pulumi.gcp.vmwareengine.inputs.ExternalAccessRuleDestinationIpRangeArgs;
    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 external_access_rule_nw = new Network("external-access-rule-nw", NetworkArgs.builder()        
                .name("sample-nw")
                .location("global")
                .type("STANDARD")
                .description("PC network description.")
                .build());
    
            var external_access_rule_np = new NetworkPolicy("external-access-rule-np", NetworkPolicyArgs.builder()        
                .location("us-west1")
                .name("sample-np")
                .edgeServicesCidr("192.168.30.0/26")
                .vmwareEngineNetwork(external_access_rule_nw.id())
                .build());
    
            var vmw_engine_external_access_rule = new ExternalAccessRule("vmw-engine-external-access-rule", ExternalAccessRuleArgs.builder()        
                .name("sample-external-access-rule")
                .parent(external_access_rule_np.id())
                .priority(101)
                .action("DENY")
                .ipProtocol("TCP")
                .sourceIpRanges(ExternalAccessRuleSourceIpRangeArgs.builder()
                    .ipAddressRange("0.0.0.0/0")
                    .build())
                .sourcePorts("80")
                .destinationIpRanges(ExternalAccessRuleDestinationIpRangeArgs.builder()
                    .ipAddressRange("0.0.0.0/0")
                    .build())
                .destinationPorts("433")
                .build());
    
        }
    }
    
    resources:
      external-access-rule-nw:
        type: gcp:vmwareengine:Network
        properties:
          name: sample-nw
          location: global
          type: STANDARD
          description: PC network description.
      external-access-rule-np:
        type: gcp:vmwareengine:NetworkPolicy
        properties:
          location: us-west1
          name: sample-np
          edgeServicesCidr: 192.168.30.0/26
          vmwareEngineNetwork: ${["external-access-rule-nw"].id}
      vmw-engine-external-access-rule:
        type: gcp:vmwareengine:ExternalAccessRule
        properties:
          name: sample-external-access-rule
          parent: ${["external-access-rule-np"].id}
          priority: 101
          action: DENY
          ipProtocol: TCP
          sourceIpRanges:
            - ipAddressRange: 0.0.0.0/0
          sourcePorts:
            - '80'
          destinationIpRanges:
            - ipAddressRange: 0.0.0.0/0
          destinationPorts:
            - '433'
    

    Vmware Engine External Access Rule Full

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const external_access_rule_nw = new gcp.vmwareengine.Network("external-access-rule-nw", {
        name: "sample-nw",
        location: "global",
        type: "STANDARD",
        description: "PC network description.",
    });
    const external_access_rule_pc = new gcp.vmwareengine.PrivateCloud("external-access-rule-pc", {
        location: "us-west1-a",
        name: "sample-pc",
        description: "Sample test PC.",
        networkConfig: {
            managementCidr: "192.168.50.0/24",
            vmwareEngineNetwork: external_access_rule_nw.id,
        },
        managementCluster: {
            clusterId: "sample-mgmt-cluster",
            nodeTypeConfigs: [{
                nodeTypeId: "standard-72",
                nodeCount: 3,
            }],
        },
    });
    const external_access_rule_np = new gcp.vmwareengine.NetworkPolicy("external-access-rule-np", {
        location: "us-west1",
        name: "sample-np",
        edgeServicesCidr: "192.168.30.0/26",
        vmwareEngineNetwork: external_access_rule_nw.id,
    });
    const external_access_rule_ea = new gcp.vmwareengine.ExternalAddress("external-access-rule-ea", {
        name: "sample-ea",
        parent: external_access_rule_pc.id,
        internalIp: "192.168.0.65",
    });
    const vmw_engine_external_access_rule = new gcp.vmwareengine.ExternalAccessRule("vmw-engine-external-access-rule", {
        name: "sample-external-access-rule",
        parent: external_access_rule_np.id,
        description: "Sample Description",
        priority: 101,
        action: "ALLOW",
        ipProtocol: "tcp",
        sourceIpRanges: [{
            ipAddressRange: "0.0.0.0/0",
        }],
        sourcePorts: ["80"],
        destinationIpRanges: [{
            externalAddress: external_access_rule_ea.id,
        }],
        destinationPorts: ["433"],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    external_access_rule_nw = gcp.vmwareengine.Network("external-access-rule-nw",
        name="sample-nw",
        location="global",
        type="STANDARD",
        description="PC network description.")
    external_access_rule_pc = gcp.vmwareengine.PrivateCloud("external-access-rule-pc",
        location="us-west1-a",
        name="sample-pc",
        description="Sample test PC.",
        network_config=gcp.vmwareengine.PrivateCloudNetworkConfigArgs(
            management_cidr="192.168.50.0/24",
            vmware_engine_network=external_access_rule_nw.id,
        ),
        management_cluster=gcp.vmwareengine.PrivateCloudManagementClusterArgs(
            cluster_id="sample-mgmt-cluster",
            node_type_configs=[gcp.vmwareengine.PrivateCloudManagementClusterNodeTypeConfigArgs(
                node_type_id="standard-72",
                node_count=3,
            )],
        ))
    external_access_rule_np = gcp.vmwareengine.NetworkPolicy("external-access-rule-np",
        location="us-west1",
        name="sample-np",
        edge_services_cidr="192.168.30.0/26",
        vmware_engine_network=external_access_rule_nw.id)
    external_access_rule_ea = gcp.vmwareengine.ExternalAddress("external-access-rule-ea",
        name="sample-ea",
        parent=external_access_rule_pc.id,
        internal_ip="192.168.0.65")
    vmw_engine_external_access_rule = gcp.vmwareengine.ExternalAccessRule("vmw-engine-external-access-rule",
        name="sample-external-access-rule",
        parent=external_access_rule_np.id,
        description="Sample Description",
        priority=101,
        action="ALLOW",
        ip_protocol="tcp",
        source_ip_ranges=[gcp.vmwareengine.ExternalAccessRuleSourceIpRangeArgs(
            ip_address_range="0.0.0.0/0",
        )],
        source_ports=["80"],
        destination_ip_ranges=[gcp.vmwareengine.ExternalAccessRuleDestinationIpRangeArgs(
            external_address=external_access_rule_ea.id,
        )],
        destination_ports=["433"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/vmwareengine"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vmwareengine.NewNetwork(ctx, "external-access-rule-nw", &vmwareengine.NetworkArgs{
    			Name:        pulumi.String("sample-nw"),
    			Location:    pulumi.String("global"),
    			Type:        pulumi.String("STANDARD"),
    			Description: pulumi.String("PC network description."),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = vmwareengine.NewPrivateCloud(ctx, "external-access-rule-pc", &vmwareengine.PrivateCloudArgs{
    			Location:    pulumi.String("us-west1-a"),
    			Name:        pulumi.String("sample-pc"),
    			Description: pulumi.String("Sample test PC."),
    			NetworkConfig: &vmwareengine.PrivateCloudNetworkConfigArgs{
    				ManagementCidr:      pulumi.String("192.168.50.0/24"),
    				VmwareEngineNetwork: external_access_rule_nw.ID(),
    			},
    			ManagementCluster: &vmwareengine.PrivateCloudManagementClusterArgs{
    				ClusterId: pulumi.String("sample-mgmt-cluster"),
    				NodeTypeConfigs: vmwareengine.PrivateCloudManagementClusterNodeTypeConfigArray{
    					&vmwareengine.PrivateCloudManagementClusterNodeTypeConfigArgs{
    						NodeTypeId: pulumi.String("standard-72"),
    						NodeCount:  pulumi.Int(3),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = vmwareengine.NewNetworkPolicy(ctx, "external-access-rule-np", &vmwareengine.NetworkPolicyArgs{
    			Location:            pulumi.String("us-west1"),
    			Name:                pulumi.String("sample-np"),
    			EdgeServicesCidr:    pulumi.String("192.168.30.0/26"),
    			VmwareEngineNetwork: external_access_rule_nw.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = vmwareengine.NewExternalAddress(ctx, "external-access-rule-ea", &vmwareengine.ExternalAddressArgs{
    			Name:       pulumi.String("sample-ea"),
    			Parent:     external_access_rule_pc.ID(),
    			InternalIp: pulumi.String("192.168.0.65"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = vmwareengine.NewExternalAccessRule(ctx, "vmw-engine-external-access-rule", &vmwareengine.ExternalAccessRuleArgs{
    			Name:        pulumi.String("sample-external-access-rule"),
    			Parent:      external_access_rule_np.ID(),
    			Description: pulumi.String("Sample Description"),
    			Priority:    pulumi.Int(101),
    			Action:      pulumi.String("ALLOW"),
    			IpProtocol:  pulumi.String("tcp"),
    			SourceIpRanges: vmwareengine.ExternalAccessRuleSourceIpRangeArray{
    				&vmwareengine.ExternalAccessRuleSourceIpRangeArgs{
    					IpAddressRange: pulumi.String("0.0.0.0/0"),
    				},
    			},
    			SourcePorts: pulumi.StringArray{
    				pulumi.String("80"),
    			},
    			DestinationIpRanges: vmwareengine.ExternalAccessRuleDestinationIpRangeArray{
    				&vmwareengine.ExternalAccessRuleDestinationIpRangeArgs{
    					ExternalAddress: external_access_rule_ea.ID(),
    				},
    			},
    			DestinationPorts: pulumi.StringArray{
    				pulumi.String("433"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var external_access_rule_nw = new Gcp.VMwareEngine.Network("external-access-rule-nw", new()
        {
            Name = "sample-nw",
            Location = "global",
            Type = "STANDARD",
            Description = "PC network description.",
        });
    
        var external_access_rule_pc = new Gcp.VMwareEngine.PrivateCloud("external-access-rule-pc", new()
        {
            Location = "us-west1-a",
            Name = "sample-pc",
            Description = "Sample test PC.",
            NetworkConfig = new Gcp.VMwareEngine.Inputs.PrivateCloudNetworkConfigArgs
            {
                ManagementCidr = "192.168.50.0/24",
                VmwareEngineNetwork = external_access_rule_nw.Id,
            },
            ManagementCluster = new Gcp.VMwareEngine.Inputs.PrivateCloudManagementClusterArgs
            {
                ClusterId = "sample-mgmt-cluster",
                NodeTypeConfigs = new[]
                {
                    new Gcp.VMwareEngine.Inputs.PrivateCloudManagementClusterNodeTypeConfigArgs
                    {
                        NodeTypeId = "standard-72",
                        NodeCount = 3,
                    },
                },
            },
        });
    
        var external_access_rule_np = new Gcp.VMwareEngine.NetworkPolicy("external-access-rule-np", new()
        {
            Location = "us-west1",
            Name = "sample-np",
            EdgeServicesCidr = "192.168.30.0/26",
            VmwareEngineNetwork = external_access_rule_nw.Id,
        });
    
        var external_access_rule_ea = new Gcp.VMwareEngine.ExternalAddress("external-access-rule-ea", new()
        {
            Name = "sample-ea",
            Parent = external_access_rule_pc.Id,
            InternalIp = "192.168.0.65",
        });
    
        var vmw_engine_external_access_rule = new Gcp.VMwareEngine.ExternalAccessRule("vmw-engine-external-access-rule", new()
        {
            Name = "sample-external-access-rule",
            Parent = external_access_rule_np.Id,
            Description = "Sample Description",
            Priority = 101,
            Action = "ALLOW",
            IpProtocol = "tcp",
            SourceIpRanges = new[]
            {
                new Gcp.VMwareEngine.Inputs.ExternalAccessRuleSourceIpRangeArgs
                {
                    IpAddressRange = "0.0.0.0/0",
                },
            },
            SourcePorts = new[]
            {
                "80",
            },
            DestinationIpRanges = new[]
            {
                new Gcp.VMwareEngine.Inputs.ExternalAccessRuleDestinationIpRangeArgs
                {
                    ExternalAddress = external_access_rule_ea.Id,
                },
            },
            DestinationPorts = new[]
            {
                "433",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.vmwareengine.Network;
    import com.pulumi.gcp.vmwareengine.NetworkArgs;
    import com.pulumi.gcp.vmwareengine.PrivateCloud;
    import com.pulumi.gcp.vmwareengine.PrivateCloudArgs;
    import com.pulumi.gcp.vmwareengine.inputs.PrivateCloudNetworkConfigArgs;
    import com.pulumi.gcp.vmwareengine.inputs.PrivateCloudManagementClusterArgs;
    import com.pulumi.gcp.vmwareengine.NetworkPolicy;
    import com.pulumi.gcp.vmwareengine.NetworkPolicyArgs;
    import com.pulumi.gcp.vmwareengine.ExternalAddress;
    import com.pulumi.gcp.vmwareengine.ExternalAddressArgs;
    import com.pulumi.gcp.vmwareengine.ExternalAccessRule;
    import com.pulumi.gcp.vmwareengine.ExternalAccessRuleArgs;
    import com.pulumi.gcp.vmwareengine.inputs.ExternalAccessRuleSourceIpRangeArgs;
    import com.pulumi.gcp.vmwareengine.inputs.ExternalAccessRuleDestinationIpRangeArgs;
    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 external_access_rule_nw = new Network("external-access-rule-nw", NetworkArgs.builder()        
                .name("sample-nw")
                .location("global")
                .type("STANDARD")
                .description("PC network description.")
                .build());
    
            var external_access_rule_pc = new PrivateCloud("external-access-rule-pc", PrivateCloudArgs.builder()        
                .location("us-west1-a")
                .name("sample-pc")
                .description("Sample test PC.")
                .networkConfig(PrivateCloudNetworkConfigArgs.builder()
                    .managementCidr("192.168.50.0/24")
                    .vmwareEngineNetwork(external_access_rule_nw.id())
                    .build())
                .managementCluster(PrivateCloudManagementClusterArgs.builder()
                    .clusterId("sample-mgmt-cluster")
                    .nodeTypeConfigs(PrivateCloudManagementClusterNodeTypeConfigArgs.builder()
                        .nodeTypeId("standard-72")
                        .nodeCount(3)
                        .build())
                    .build())
                .build());
    
            var external_access_rule_np = new NetworkPolicy("external-access-rule-np", NetworkPolicyArgs.builder()        
                .location("us-west1")
                .name("sample-np")
                .edgeServicesCidr("192.168.30.0/26")
                .vmwareEngineNetwork(external_access_rule_nw.id())
                .build());
    
            var external_access_rule_ea = new ExternalAddress("external-access-rule-ea", ExternalAddressArgs.builder()        
                .name("sample-ea")
                .parent(external_access_rule_pc.id())
                .internalIp("192.168.0.65")
                .build());
    
            var vmw_engine_external_access_rule = new ExternalAccessRule("vmw-engine-external-access-rule", ExternalAccessRuleArgs.builder()        
                .name("sample-external-access-rule")
                .parent(external_access_rule_np.id())
                .description("Sample Description")
                .priority(101)
                .action("ALLOW")
                .ipProtocol("tcp")
                .sourceIpRanges(ExternalAccessRuleSourceIpRangeArgs.builder()
                    .ipAddressRange("0.0.0.0/0")
                    .build())
                .sourcePorts("80")
                .destinationIpRanges(ExternalAccessRuleDestinationIpRangeArgs.builder()
                    .externalAddress(external_access_rule_ea.id())
                    .build())
                .destinationPorts("433")
                .build());
    
        }
    }
    
    resources:
      external-access-rule-nw:
        type: gcp:vmwareengine:Network
        properties:
          name: sample-nw
          location: global
          type: STANDARD
          description: PC network description.
      external-access-rule-pc:
        type: gcp:vmwareengine:PrivateCloud
        properties:
          location: us-west1-a
          name: sample-pc
          description: Sample test PC.
          networkConfig:
            managementCidr: 192.168.50.0/24
            vmwareEngineNetwork: ${["external-access-rule-nw"].id}
          managementCluster:
            clusterId: sample-mgmt-cluster
            nodeTypeConfigs:
              - nodeTypeId: standard-72
                nodeCount: 3
      external-access-rule-np:
        type: gcp:vmwareengine:NetworkPolicy
        properties:
          location: us-west1
          name: sample-np
          edgeServicesCidr: 192.168.30.0/26
          vmwareEngineNetwork: ${["external-access-rule-nw"].id}
      external-access-rule-ea:
        type: gcp:vmwareengine:ExternalAddress
        properties:
          name: sample-ea
          parent: ${["external-access-rule-pc"].id}
          internalIp: 192.168.0.65
      vmw-engine-external-access-rule:
        type: gcp:vmwareengine:ExternalAccessRule
        properties:
          name: sample-external-access-rule
          parent: ${["external-access-rule-np"].id}
          description: Sample Description
          priority: 101
          action: ALLOW
          ipProtocol: tcp
          sourceIpRanges:
            - ipAddressRange: 0.0.0.0/0
          sourcePorts:
            - '80'
          destinationIpRanges:
            - externalAddress: ${["external-access-rule-ea"].id}
          destinationPorts:
            - '433'
    

    Create ExternalAccessRule Resource

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

    Constructor syntax

    new ExternalAccessRule(name: string, args: ExternalAccessRuleArgs, opts?: CustomResourceOptions);
    @overload
    def ExternalAccessRule(resource_name: str,
                           args: ExternalAccessRuleArgs,
                           opts: Optional[ResourceOptions] = None)
    
    @overload
    def ExternalAccessRule(resource_name: str,
                           opts: Optional[ResourceOptions] = None,
                           action: Optional[str] = None,
                           destination_ip_ranges: Optional[Sequence[ExternalAccessRuleDestinationIpRangeArgs]] = None,
                           destination_ports: Optional[Sequence[str]] = None,
                           ip_protocol: Optional[str] = None,
                           parent: Optional[str] = None,
                           priority: Optional[int] = None,
                           source_ip_ranges: Optional[Sequence[ExternalAccessRuleSourceIpRangeArgs]] = None,
                           source_ports: Optional[Sequence[str]] = None,
                           description: Optional[str] = None,
                           name: Optional[str] = None)
    func NewExternalAccessRule(ctx *Context, name string, args ExternalAccessRuleArgs, opts ...ResourceOption) (*ExternalAccessRule, error)
    public ExternalAccessRule(string name, ExternalAccessRuleArgs args, CustomResourceOptions? opts = null)
    public ExternalAccessRule(String name, ExternalAccessRuleArgs args)
    public ExternalAccessRule(String name, ExternalAccessRuleArgs args, CustomResourceOptions options)
    
    type: gcp:vmwareengine:ExternalAccessRule
    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 ExternalAccessRuleArgs
    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 ExternalAccessRuleArgs
    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 ExternalAccessRuleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ExternalAccessRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ExternalAccessRuleArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

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

    var externalAccessRuleResource = new Gcp.VMwareEngine.ExternalAccessRule("externalAccessRuleResource", new()
    {
        Action = "string",
        DestinationIpRanges = new[]
        {
            new Gcp.VMwareEngine.Inputs.ExternalAccessRuleDestinationIpRangeArgs
            {
                ExternalAddress = "string",
                IpAddressRange = "string",
            },
        },
        DestinationPorts = new[]
        {
            "string",
        },
        IpProtocol = "string",
        Parent = "string",
        Priority = 0,
        SourceIpRanges = new[]
        {
            new Gcp.VMwareEngine.Inputs.ExternalAccessRuleSourceIpRangeArgs
            {
                IpAddress = "string",
                IpAddressRange = "string",
            },
        },
        SourcePorts = new[]
        {
            "string",
        },
        Description = "string",
        Name = "string",
    });
    
    example, err := vmwareengine.NewExternalAccessRule(ctx, "externalAccessRuleResource", &vmwareengine.ExternalAccessRuleArgs{
    	Action: pulumi.String("string"),
    	DestinationIpRanges: vmwareengine.ExternalAccessRuleDestinationIpRangeArray{
    		&vmwareengine.ExternalAccessRuleDestinationIpRangeArgs{
    			ExternalAddress: pulumi.String("string"),
    			IpAddressRange:  pulumi.String("string"),
    		},
    	},
    	DestinationPorts: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	IpProtocol: pulumi.String("string"),
    	Parent:     pulumi.String("string"),
    	Priority:   pulumi.Int(0),
    	SourceIpRanges: vmwareengine.ExternalAccessRuleSourceIpRangeArray{
    		&vmwareengine.ExternalAccessRuleSourceIpRangeArgs{
    			IpAddress:      pulumi.String("string"),
    			IpAddressRange: pulumi.String("string"),
    		},
    	},
    	SourcePorts: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Description: pulumi.String("string"),
    	Name:        pulumi.String("string"),
    })
    
    var externalAccessRuleResource = new ExternalAccessRule("externalAccessRuleResource", ExternalAccessRuleArgs.builder()        
        .action("string")
        .destinationIpRanges(ExternalAccessRuleDestinationIpRangeArgs.builder()
            .externalAddress("string")
            .ipAddressRange("string")
            .build())
        .destinationPorts("string")
        .ipProtocol("string")
        .parent("string")
        .priority(0)
        .sourceIpRanges(ExternalAccessRuleSourceIpRangeArgs.builder()
            .ipAddress("string")
            .ipAddressRange("string")
            .build())
        .sourcePorts("string")
        .description("string")
        .name("string")
        .build());
    
    external_access_rule_resource = gcp.vmwareengine.ExternalAccessRule("externalAccessRuleResource",
        action="string",
        destination_ip_ranges=[gcp.vmwareengine.ExternalAccessRuleDestinationIpRangeArgs(
            external_address="string",
            ip_address_range="string",
        )],
        destination_ports=["string"],
        ip_protocol="string",
        parent="string",
        priority=0,
        source_ip_ranges=[gcp.vmwareengine.ExternalAccessRuleSourceIpRangeArgs(
            ip_address="string",
            ip_address_range="string",
        )],
        source_ports=["string"],
        description="string",
        name="string")
    
    const externalAccessRuleResource = new gcp.vmwareengine.ExternalAccessRule("externalAccessRuleResource", {
        action: "string",
        destinationIpRanges: [{
            externalAddress: "string",
            ipAddressRange: "string",
        }],
        destinationPorts: ["string"],
        ipProtocol: "string",
        parent: "string",
        priority: 0,
        sourceIpRanges: [{
            ipAddress: "string",
            ipAddressRange: "string",
        }],
        sourcePorts: ["string"],
        description: "string",
        name: "string",
    });
    
    type: gcp:vmwareengine:ExternalAccessRule
    properties:
        action: string
        description: string
        destinationIpRanges:
            - externalAddress: string
              ipAddressRange: string
        destinationPorts:
            - string
        ipProtocol: string
        name: string
        parent: string
        priority: 0
        sourceIpRanges:
            - ipAddress: string
              ipAddressRange: string
        sourcePorts:
            - string
    

    ExternalAccessRule Resource Properties

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

    Inputs

    The ExternalAccessRule resource accepts the following input properties:

    Action string
    The action that the external access rule performs. Possible values are: ALLOW, DENY.
    DestinationIpRanges List<ExternalAccessRuleDestinationIpRange>
    If destination ranges are specified, the external access rule applies only to traffic that has a destination IP address in these ranges. Structure is documented below.
    DestinationPorts List<string>
    A list of destination ports to which the external access rule applies.
    IpProtocol string
    The IP protocol to which the external access rule applies.
    Parent string
    The resource name of the network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
    Priority int
    External access rule priority, which determines the external access rule to use when multiple rules apply.
    SourceIpRanges List<ExternalAccessRuleSourceIpRange>
    If source ranges are specified, the external access rule applies only to traffic that has a source IP address in these ranges. Structure is documented below.
    SourcePorts List<string>
    A list of source ports to which the external access rule applies.
    Description string
    User-provided description for the external access rule.
    Name string
    The ID of the external access rule.
    Action string
    The action that the external access rule performs. Possible values are: ALLOW, DENY.
    DestinationIpRanges []ExternalAccessRuleDestinationIpRangeArgs
    If destination ranges are specified, the external access rule applies only to traffic that has a destination IP address in these ranges. Structure is documented below.
    DestinationPorts []string
    A list of destination ports to which the external access rule applies.
    IpProtocol string
    The IP protocol to which the external access rule applies.
    Parent string
    The resource name of the network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
    Priority int
    External access rule priority, which determines the external access rule to use when multiple rules apply.
    SourceIpRanges []ExternalAccessRuleSourceIpRangeArgs
    If source ranges are specified, the external access rule applies only to traffic that has a source IP address in these ranges. Structure is documented below.
    SourcePorts []string
    A list of source ports to which the external access rule applies.
    Description string
    User-provided description for the external access rule.
    Name string
    The ID of the external access rule.
    action String
    The action that the external access rule performs. Possible values are: ALLOW, DENY.
    destinationIpRanges List<ExternalAccessRuleDestinationIpRange>
    If destination ranges are specified, the external access rule applies only to traffic that has a destination IP address in these ranges. Structure is documented below.
    destinationPorts List<String>
    A list of destination ports to which the external access rule applies.
    ipProtocol String
    The IP protocol to which the external access rule applies.
    parent String
    The resource name of the network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
    priority Integer
    External access rule priority, which determines the external access rule to use when multiple rules apply.
    sourceIpRanges List<ExternalAccessRuleSourceIpRange>
    If source ranges are specified, the external access rule applies only to traffic that has a source IP address in these ranges. Structure is documented below.
    sourcePorts List<String>
    A list of source ports to which the external access rule applies.
    description String
    User-provided description for the external access rule.
    name String
    The ID of the external access rule.
    action string
    The action that the external access rule performs. Possible values are: ALLOW, DENY.
    destinationIpRanges ExternalAccessRuleDestinationIpRange[]
    If destination ranges are specified, the external access rule applies only to traffic that has a destination IP address in these ranges. Structure is documented below.
    destinationPorts string[]
    A list of destination ports to which the external access rule applies.
    ipProtocol string
    The IP protocol to which the external access rule applies.
    parent string
    The resource name of the network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
    priority number
    External access rule priority, which determines the external access rule to use when multiple rules apply.
    sourceIpRanges ExternalAccessRuleSourceIpRange[]
    If source ranges are specified, the external access rule applies only to traffic that has a source IP address in these ranges. Structure is documented below.
    sourcePorts string[]
    A list of source ports to which the external access rule applies.
    description string
    User-provided description for the external access rule.
    name string
    The ID of the external access rule.
    action str
    The action that the external access rule performs. Possible values are: ALLOW, DENY.
    destination_ip_ranges Sequence[ExternalAccessRuleDestinationIpRangeArgs]
    If destination ranges are specified, the external access rule applies only to traffic that has a destination IP address in these ranges. Structure is documented below.
    destination_ports Sequence[str]
    A list of destination ports to which the external access rule applies.
    ip_protocol str
    The IP protocol to which the external access rule applies.
    parent str
    The resource name of the network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
    priority int
    External access rule priority, which determines the external access rule to use when multiple rules apply.
    source_ip_ranges Sequence[ExternalAccessRuleSourceIpRangeArgs]
    If source ranges are specified, the external access rule applies only to traffic that has a source IP address in these ranges. Structure is documented below.
    source_ports Sequence[str]
    A list of source ports to which the external access rule applies.
    description str
    User-provided description for the external access rule.
    name str
    The ID of the external access rule.
    action String
    The action that the external access rule performs. Possible values are: ALLOW, DENY.
    destinationIpRanges List<Property Map>
    If destination ranges are specified, the external access rule applies only to traffic that has a destination IP address in these ranges. Structure is documented below.
    destinationPorts List<String>
    A list of destination ports to which the external access rule applies.
    ipProtocol String
    The IP protocol to which the external access rule applies.
    parent String
    The resource name of the network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
    priority Number
    External access rule priority, which determines the external access rule to use when multiple rules apply.
    sourceIpRanges List<Property Map>
    If source ranges are specified, the external access rule applies only to traffic that has a source IP address in these ranges. Structure is documented below.
    sourcePorts List<String>
    A list of source ports to which the external access rule applies.
    description String
    User-provided description for the external access rule.
    name String
    The ID of the external access rule.

    Outputs

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

    CreateTime string
    Creation time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    Id string
    The provider-assigned unique ID for this managed resource.
    State string
    State of the Cluster.
    Uid string
    System-generated unique identifier for the resource.
    UpdateTime string
    Last updated time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    CreateTime string
    Creation time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    Id string
    The provider-assigned unique ID for this managed resource.
    State string
    State of the Cluster.
    Uid string
    System-generated unique identifier for the resource.
    UpdateTime string
    Last updated time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    createTime String
    Creation time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    id String
    The provider-assigned unique ID for this managed resource.
    state String
    State of the Cluster.
    uid String
    System-generated unique identifier for the resource.
    updateTime String
    Last updated time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    createTime string
    Creation time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    id string
    The provider-assigned unique ID for this managed resource.
    state string
    State of the Cluster.
    uid string
    System-generated unique identifier for the resource.
    updateTime string
    Last updated time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    create_time str
    Creation time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    id str
    The provider-assigned unique ID for this managed resource.
    state str
    State of the Cluster.
    uid str
    System-generated unique identifier for the resource.
    update_time str
    Last updated time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    createTime String
    Creation time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    id String
    The provider-assigned unique ID for this managed resource.
    state String
    State of the Cluster.
    uid String
    System-generated unique identifier for the resource.
    updateTime String
    Last updated time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    Look up Existing ExternalAccessRule Resource

    Get an existing ExternalAccessRule 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?: ExternalAccessRuleState, opts?: CustomResourceOptions): ExternalAccessRule
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            action: Optional[str] = None,
            create_time: Optional[str] = None,
            description: Optional[str] = None,
            destination_ip_ranges: Optional[Sequence[ExternalAccessRuleDestinationIpRangeArgs]] = None,
            destination_ports: Optional[Sequence[str]] = None,
            ip_protocol: Optional[str] = None,
            name: Optional[str] = None,
            parent: Optional[str] = None,
            priority: Optional[int] = None,
            source_ip_ranges: Optional[Sequence[ExternalAccessRuleSourceIpRangeArgs]] = None,
            source_ports: Optional[Sequence[str]] = None,
            state: Optional[str] = None,
            uid: Optional[str] = None,
            update_time: Optional[str] = None) -> ExternalAccessRule
    func GetExternalAccessRule(ctx *Context, name string, id IDInput, state *ExternalAccessRuleState, opts ...ResourceOption) (*ExternalAccessRule, error)
    public static ExternalAccessRule Get(string name, Input<string> id, ExternalAccessRuleState? state, CustomResourceOptions? opts = null)
    public static ExternalAccessRule get(String name, Output<String> id, ExternalAccessRuleState 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:
    Action string
    The action that the external access rule performs. Possible values are: ALLOW, DENY.
    CreateTime string
    Creation time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    Description string
    User-provided description for the external access rule.
    DestinationIpRanges List<ExternalAccessRuleDestinationIpRange>
    If destination ranges are specified, the external access rule applies only to traffic that has a destination IP address in these ranges. Structure is documented below.
    DestinationPorts List<string>
    A list of destination ports to which the external access rule applies.
    IpProtocol string
    The IP protocol to which the external access rule applies.
    Name string
    The ID of the external access rule.
    Parent string
    The resource name of the network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
    Priority int
    External access rule priority, which determines the external access rule to use when multiple rules apply.
    SourceIpRanges List<ExternalAccessRuleSourceIpRange>
    If source ranges are specified, the external access rule applies only to traffic that has a source IP address in these ranges. Structure is documented below.
    SourcePorts List<string>
    A list of source ports to which the external access rule applies.
    State string
    State of the Cluster.
    Uid string
    System-generated unique identifier for the resource.
    UpdateTime string
    Last updated time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    Action string
    The action that the external access rule performs. Possible values are: ALLOW, DENY.
    CreateTime string
    Creation time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    Description string
    User-provided description for the external access rule.
    DestinationIpRanges []ExternalAccessRuleDestinationIpRangeArgs
    If destination ranges are specified, the external access rule applies only to traffic that has a destination IP address in these ranges. Structure is documented below.
    DestinationPorts []string
    A list of destination ports to which the external access rule applies.
    IpProtocol string
    The IP protocol to which the external access rule applies.
    Name string
    The ID of the external access rule.
    Parent string
    The resource name of the network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
    Priority int
    External access rule priority, which determines the external access rule to use when multiple rules apply.
    SourceIpRanges []ExternalAccessRuleSourceIpRangeArgs
    If source ranges are specified, the external access rule applies only to traffic that has a source IP address in these ranges. Structure is documented below.
    SourcePorts []string
    A list of source ports to which the external access rule applies.
    State string
    State of the Cluster.
    Uid string
    System-generated unique identifier for the resource.
    UpdateTime string
    Last updated time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    action String
    The action that the external access rule performs. Possible values are: ALLOW, DENY.
    createTime String
    Creation time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    description String
    User-provided description for the external access rule.
    destinationIpRanges List<ExternalAccessRuleDestinationIpRange>
    If destination ranges are specified, the external access rule applies only to traffic that has a destination IP address in these ranges. Structure is documented below.
    destinationPorts List<String>
    A list of destination ports to which the external access rule applies.
    ipProtocol String
    The IP protocol to which the external access rule applies.
    name String
    The ID of the external access rule.
    parent String
    The resource name of the network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
    priority Integer
    External access rule priority, which determines the external access rule to use when multiple rules apply.
    sourceIpRanges List<ExternalAccessRuleSourceIpRange>
    If source ranges are specified, the external access rule applies only to traffic that has a source IP address in these ranges. Structure is documented below.
    sourcePorts List<String>
    A list of source ports to which the external access rule applies.
    state String
    State of the Cluster.
    uid String
    System-generated unique identifier for the resource.
    updateTime String
    Last updated time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    action string
    The action that the external access rule performs. Possible values are: ALLOW, DENY.
    createTime string
    Creation time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    description string
    User-provided description for the external access rule.
    destinationIpRanges ExternalAccessRuleDestinationIpRange[]
    If destination ranges are specified, the external access rule applies only to traffic that has a destination IP address in these ranges. Structure is documented below.
    destinationPorts string[]
    A list of destination ports to which the external access rule applies.
    ipProtocol string
    The IP protocol to which the external access rule applies.
    name string
    The ID of the external access rule.
    parent string
    The resource name of the network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
    priority number
    External access rule priority, which determines the external access rule to use when multiple rules apply.
    sourceIpRanges ExternalAccessRuleSourceIpRange[]
    If source ranges are specified, the external access rule applies only to traffic that has a source IP address in these ranges. Structure is documented below.
    sourcePorts string[]
    A list of source ports to which the external access rule applies.
    state string
    State of the Cluster.
    uid string
    System-generated unique identifier for the resource.
    updateTime string
    Last updated time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    action str
    The action that the external access rule performs. Possible values are: ALLOW, DENY.
    create_time str
    Creation time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    description str
    User-provided description for the external access rule.
    destination_ip_ranges Sequence[ExternalAccessRuleDestinationIpRangeArgs]
    If destination ranges are specified, the external access rule applies only to traffic that has a destination IP address in these ranges. Structure is documented below.
    destination_ports Sequence[str]
    A list of destination ports to which the external access rule applies.
    ip_protocol str
    The IP protocol to which the external access rule applies.
    name str
    The ID of the external access rule.
    parent str
    The resource name of the network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
    priority int
    External access rule priority, which determines the external access rule to use when multiple rules apply.
    source_ip_ranges Sequence[ExternalAccessRuleSourceIpRangeArgs]
    If source ranges are specified, the external access rule applies only to traffic that has a source IP address in these ranges. Structure is documented below.
    source_ports Sequence[str]
    A list of source ports to which the external access rule applies.
    state str
    State of the Cluster.
    uid str
    System-generated unique identifier for the resource.
    update_time str
    Last updated time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    action String
    The action that the external access rule performs. Possible values are: ALLOW, DENY.
    createTime String
    Creation time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
    description String
    User-provided description for the external access rule.
    destinationIpRanges List<Property Map>
    If destination ranges are specified, the external access rule applies only to traffic that has a destination IP address in these ranges. Structure is documented below.
    destinationPorts List<String>
    A list of destination ports to which the external access rule applies.
    ipProtocol String
    The IP protocol to which the external access rule applies.
    name String
    The ID of the external access rule.
    parent String
    The resource name of the network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: projects/my-project/locations/us-west1-a/networkPolicies/my-policy
    priority Number
    External access rule priority, which determines the external access rule to use when multiple rules apply.
    sourceIpRanges List<Property Map>
    If source ranges are specified, the external access rule applies only to traffic that has a source IP address in these ranges. Structure is documented below.
    sourcePorts List<String>
    A list of source ports to which the external access rule applies.
    state String
    State of the Cluster.
    uid String
    System-generated unique identifier for the resource.
    updateTime String
    Last updated time of this resource. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    Supporting Types

    ExternalAccessRuleDestinationIpRange, ExternalAccessRuleDestinationIpRangeArgs

    ExternalAddress string
    The name of an ExternalAddress resource.


    IpAddressRange string
    An IP address range in the CIDR format.
    ExternalAddress string
    The name of an ExternalAddress resource.


    IpAddressRange string
    An IP address range in the CIDR format.
    externalAddress String
    The name of an ExternalAddress resource.


    ipAddressRange String
    An IP address range in the CIDR format.
    externalAddress string
    The name of an ExternalAddress resource.


    ipAddressRange string
    An IP address range in the CIDR format.
    external_address str
    The name of an ExternalAddress resource.


    ip_address_range str
    An IP address range in the CIDR format.
    externalAddress String
    The name of an ExternalAddress resource.


    ipAddressRange String
    An IP address range in the CIDR format.

    ExternalAccessRuleSourceIpRange, ExternalAccessRuleSourceIpRangeArgs

    IpAddress string
    A single IP address.
    IpAddressRange string
    An IP address range in the CIDR format.
    IpAddress string
    A single IP address.
    IpAddressRange string
    An IP address range in the CIDR format.
    ipAddress String
    A single IP address.
    ipAddressRange String
    An IP address range in the CIDR format.
    ipAddress string
    A single IP address.
    ipAddressRange string
    An IP address range in the CIDR format.
    ip_address str
    A single IP address.
    ip_address_range str
    An IP address range in the CIDR format.
    ipAddress String
    A single IP address.
    ipAddressRange String
    An IP address range in the CIDR format.

    Import

    ExternalAccessRule can be imported using any of these accepted formats:

    • {{parent}}/externalAccessRules/{{name}}

    When using the pulumi import command, ExternalAccessRule can be imported using one of the formats above. For example:

    $ pulumi import gcp:vmwareengine/externalAccessRule:ExternalAccessRule default {{parent}}/externalAccessRules/{{name}}
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v7.23.0 published on Wednesday, May 15, 2024 by Pulumi