gcp.compute.PacketMirroring
Explore with Pulumi AI
Packet Mirroring mirrors traffic to and from particular VM instances. You can use the collected traffic to help you detect security threats and monitor application performance.
To get more information about PacketMirroring, see:
- API documentation
- How-to Guides
Example Usage
Compute Packet Mirroring Full
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.compute.Network("default", {name: "my-network"});
const mirror = new gcp.compute.Instance("mirror", {
networkInterfaces: [{
accessConfigs: [{}],
network: _default.id,
}],
name: "my-instance",
machineType: "e2-medium",
bootDisk: {
initializeParams: {
image: "debian-cloud/debian-11",
},
},
});
const defaultSubnetwork = new gcp.compute.Subnetwork("default", {
name: "my-subnetwork",
network: _default.id,
ipCidrRange: "10.2.0.0/16",
});
const defaultHealthCheck = new gcp.compute.HealthCheck("default", {
name: "my-healthcheck",
checkIntervalSec: 1,
timeoutSec: 1,
tcpHealthCheck: {
port: 80,
},
});
const defaultRegionBackendService = new gcp.compute.RegionBackendService("default", {
name: "my-service",
healthChecks: defaultHealthCheck.id,
});
const defaultForwardingRule = new gcp.compute.ForwardingRule("default", {
name: "my-ilb",
isMirroringCollector: true,
ipProtocol: "TCP",
loadBalancingScheme: "INTERNAL",
backendService: defaultRegionBackendService.id,
allPorts: true,
network: _default.id,
subnetwork: defaultSubnetwork.id,
networkTier: "PREMIUM",
}, {
dependsOn: [defaultSubnetwork],
});
const foobar = new gcp.compute.PacketMirroring("foobar", {
name: "my-mirroring",
description: "bar",
network: {
url: _default.id,
},
collectorIlb: {
url: defaultForwardingRule.id,
},
mirroredResources: {
tags: ["foo"],
instances: [{
url: mirror.id,
}],
},
filter: {
ipProtocols: ["tcp"],
cidrRanges: ["0.0.0.0/0"],
direction: "BOTH",
},
});
import pulumi
import pulumi_gcp as gcp
default = gcp.compute.Network("default", name="my-network")
mirror = gcp.compute.Instance("mirror",
network_interfaces=[{
"access_configs": [{}],
"network": default.id,
}],
name="my-instance",
machine_type="e2-medium",
boot_disk={
"initialize_params": {
"image": "debian-cloud/debian-11",
},
})
default_subnetwork = gcp.compute.Subnetwork("default",
name="my-subnetwork",
network=default.id,
ip_cidr_range="10.2.0.0/16")
default_health_check = gcp.compute.HealthCheck("default",
name="my-healthcheck",
check_interval_sec=1,
timeout_sec=1,
tcp_health_check={
"port": 80,
})
default_region_backend_service = gcp.compute.RegionBackendService("default",
name="my-service",
health_checks=default_health_check.id)
default_forwarding_rule = gcp.compute.ForwardingRule("default",
name="my-ilb",
is_mirroring_collector=True,
ip_protocol="TCP",
load_balancing_scheme="INTERNAL",
backend_service=default_region_backend_service.id,
all_ports=True,
network=default.id,
subnetwork=default_subnetwork.id,
network_tier="PREMIUM",
opts = pulumi.ResourceOptions(depends_on=[default_subnetwork]))
foobar = gcp.compute.PacketMirroring("foobar",
name="my-mirroring",
description="bar",
network={
"url": default.id,
},
collector_ilb={
"url": default_forwarding_rule.id,
},
mirrored_resources={
"tags": ["foo"],
"instances": [{
"url": mirror.id,
}],
},
filter={
"ip_protocols": ["tcp"],
"cidr_ranges": ["0.0.0.0/0"],
"direction": "BOTH",
})
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
Name: pulumi.String("my-network"),
})
if err != nil {
return err
}
mirror, err := compute.NewInstance(ctx, "mirror", &compute.InstanceArgs{
NetworkInterfaces: compute.InstanceNetworkInterfaceArray{
&compute.InstanceNetworkInterfaceArgs{
AccessConfigs: compute.InstanceNetworkInterfaceAccessConfigArray{
&compute.InstanceNetworkInterfaceAccessConfigArgs{},
},
Network: _default.ID(),
},
},
Name: pulumi.String("my-instance"),
MachineType: pulumi.String("e2-medium"),
BootDisk: &compute.InstanceBootDiskArgs{
InitializeParams: &compute.InstanceBootDiskInitializeParamsArgs{
Image: pulumi.String("debian-cloud/debian-11"),
},
},
})
if err != nil {
return err
}
defaultSubnetwork, err := compute.NewSubnetwork(ctx, "default", &compute.SubnetworkArgs{
Name: pulumi.String("my-subnetwork"),
Network: _default.ID(),
IpCidrRange: pulumi.String("10.2.0.0/16"),
})
if err != nil {
return err
}
defaultHealthCheck, err := compute.NewHealthCheck(ctx, "default", &compute.HealthCheckArgs{
Name: pulumi.String("my-healthcheck"),
CheckIntervalSec: pulumi.Int(1),
TimeoutSec: pulumi.Int(1),
TcpHealthCheck: &compute.HealthCheckTcpHealthCheckArgs{
Port: pulumi.Int(80),
},
})
if err != nil {
return err
}
defaultRegionBackendService, err := compute.NewRegionBackendService(ctx, "default", &compute.RegionBackendServiceArgs{
Name: pulumi.String("my-service"),
HealthChecks: defaultHealthCheck.ID(),
})
if err != nil {
return err
}
defaultForwardingRule, err := compute.NewForwardingRule(ctx, "default", &compute.ForwardingRuleArgs{
Name: pulumi.String("my-ilb"),
IsMirroringCollector: pulumi.Bool(true),
IpProtocol: pulumi.String("TCP"),
LoadBalancingScheme: pulumi.String("INTERNAL"),
BackendService: defaultRegionBackendService.ID(),
AllPorts: pulumi.Bool(true),
Network: _default.ID(),
Subnetwork: defaultSubnetwork.ID(),
NetworkTier: pulumi.String("PREMIUM"),
}, pulumi.DependsOn([]pulumi.Resource{
defaultSubnetwork,
}))
if err != nil {
return err
}
_, err = compute.NewPacketMirroring(ctx, "foobar", &compute.PacketMirroringArgs{
Name: pulumi.String("my-mirroring"),
Description: pulumi.String("bar"),
Network: &compute.PacketMirroringNetworkArgs{
Url: _default.ID(),
},
CollectorIlb: &compute.PacketMirroringCollectorIlbArgs{
Url: defaultForwardingRule.ID(),
},
MirroredResources: &compute.PacketMirroringMirroredResourcesArgs{
Tags: pulumi.StringArray{
pulumi.String("foo"),
},
Instances: compute.PacketMirroringMirroredResourcesInstanceArray{
&compute.PacketMirroringMirroredResourcesInstanceArgs{
Url: mirror.ID(),
},
},
},
Filter: &compute.PacketMirroringFilterArgs{
IpProtocols: pulumi.StringArray{
pulumi.String("tcp"),
},
CidrRanges: pulumi.StringArray{
pulumi.String("0.0.0.0/0"),
},
Direction: pulumi.String("BOTH"),
},
})
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 @default = new Gcp.Compute.Network("default", new()
{
Name = "my-network",
});
var mirror = new Gcp.Compute.Instance("mirror", new()
{
NetworkInterfaces = new[]
{
new Gcp.Compute.Inputs.InstanceNetworkInterfaceArgs
{
AccessConfigs = new[]
{
null,
},
Network = @default.Id,
},
},
Name = "my-instance",
MachineType = "e2-medium",
BootDisk = new Gcp.Compute.Inputs.InstanceBootDiskArgs
{
InitializeParams = new Gcp.Compute.Inputs.InstanceBootDiskInitializeParamsArgs
{
Image = "debian-cloud/debian-11",
},
},
});
var defaultSubnetwork = new Gcp.Compute.Subnetwork("default", new()
{
Name = "my-subnetwork",
Network = @default.Id,
IpCidrRange = "10.2.0.0/16",
});
var defaultHealthCheck = new Gcp.Compute.HealthCheck("default", new()
{
Name = "my-healthcheck",
CheckIntervalSec = 1,
TimeoutSec = 1,
TcpHealthCheck = new Gcp.Compute.Inputs.HealthCheckTcpHealthCheckArgs
{
Port = 80,
},
});
var defaultRegionBackendService = new Gcp.Compute.RegionBackendService("default", new()
{
Name = "my-service",
HealthChecks = defaultHealthCheck.Id,
});
var defaultForwardingRule = new Gcp.Compute.ForwardingRule("default", new()
{
Name = "my-ilb",
IsMirroringCollector = true,
IpProtocol = "TCP",
LoadBalancingScheme = "INTERNAL",
BackendService = defaultRegionBackendService.Id,
AllPorts = true,
Network = @default.Id,
Subnetwork = defaultSubnetwork.Id,
NetworkTier = "PREMIUM",
}, new CustomResourceOptions
{
DependsOn =
{
defaultSubnetwork,
},
});
var foobar = new Gcp.Compute.PacketMirroring("foobar", new()
{
Name = "my-mirroring",
Description = "bar",
Network = new Gcp.Compute.Inputs.PacketMirroringNetworkArgs
{
Url = @default.Id,
},
CollectorIlb = new Gcp.Compute.Inputs.PacketMirroringCollectorIlbArgs
{
Url = defaultForwardingRule.Id,
},
MirroredResources = new Gcp.Compute.Inputs.PacketMirroringMirroredResourcesArgs
{
Tags = new[]
{
"foo",
},
Instances = new[]
{
new Gcp.Compute.Inputs.PacketMirroringMirroredResourcesInstanceArgs
{
Url = mirror.Id,
},
},
},
Filter = new Gcp.Compute.Inputs.PacketMirroringFilterArgs
{
IpProtocols = new[]
{
"tcp",
},
CidrRanges = new[]
{
"0.0.0.0/0",
},
Direction = "BOTH",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.Instance;
import com.pulumi.gcp.compute.InstanceArgs;
import com.pulumi.gcp.compute.inputs.InstanceNetworkInterfaceArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskArgs;
import com.pulumi.gcp.compute.inputs.InstanceBootDiskInitializeParamsArgs;
import com.pulumi.gcp.compute.Subnetwork;
import com.pulumi.gcp.compute.SubnetworkArgs;
import com.pulumi.gcp.compute.HealthCheck;
import com.pulumi.gcp.compute.HealthCheckArgs;
import com.pulumi.gcp.compute.inputs.HealthCheckTcpHealthCheckArgs;
import com.pulumi.gcp.compute.RegionBackendService;
import com.pulumi.gcp.compute.RegionBackendServiceArgs;
import com.pulumi.gcp.compute.ForwardingRule;
import com.pulumi.gcp.compute.ForwardingRuleArgs;
import com.pulumi.gcp.compute.PacketMirroring;
import com.pulumi.gcp.compute.PacketMirroringArgs;
import com.pulumi.gcp.compute.inputs.PacketMirroringNetworkArgs;
import com.pulumi.gcp.compute.inputs.PacketMirroringCollectorIlbArgs;
import com.pulumi.gcp.compute.inputs.PacketMirroringMirroredResourcesArgs;
import com.pulumi.gcp.compute.inputs.PacketMirroringFilterArgs;
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 default_ = new Network("default", NetworkArgs.builder()
.name("my-network")
.build());
var mirror = new Instance("mirror", InstanceArgs.builder()
.networkInterfaces(InstanceNetworkInterfaceArgs.builder()
.accessConfigs()
.network(default_.id())
.build())
.name("my-instance")
.machineType("e2-medium")
.bootDisk(InstanceBootDiskArgs.builder()
.initializeParams(InstanceBootDiskInitializeParamsArgs.builder()
.image("debian-cloud/debian-11")
.build())
.build())
.build());
var defaultSubnetwork = new Subnetwork("defaultSubnetwork", SubnetworkArgs.builder()
.name("my-subnetwork")
.network(default_.id())
.ipCidrRange("10.2.0.0/16")
.build());
var defaultHealthCheck = new HealthCheck("defaultHealthCheck", HealthCheckArgs.builder()
.name("my-healthcheck")
.checkIntervalSec(1)
.timeoutSec(1)
.tcpHealthCheck(HealthCheckTcpHealthCheckArgs.builder()
.port("80")
.build())
.build());
var defaultRegionBackendService = new RegionBackendService("defaultRegionBackendService", RegionBackendServiceArgs.builder()
.name("my-service")
.healthChecks(defaultHealthCheck.id())
.build());
var defaultForwardingRule = new ForwardingRule("defaultForwardingRule", ForwardingRuleArgs.builder()
.name("my-ilb")
.isMirroringCollector(true)
.ipProtocol("TCP")
.loadBalancingScheme("INTERNAL")
.backendService(defaultRegionBackendService.id())
.allPorts(true)
.network(default_.id())
.subnetwork(defaultSubnetwork.id())
.networkTier("PREMIUM")
.build(), CustomResourceOptions.builder()
.dependsOn(defaultSubnetwork)
.build());
var foobar = new PacketMirroring("foobar", PacketMirroringArgs.builder()
.name("my-mirroring")
.description("bar")
.network(PacketMirroringNetworkArgs.builder()
.url(default_.id())
.build())
.collectorIlb(PacketMirroringCollectorIlbArgs.builder()
.url(defaultForwardingRule.id())
.build())
.mirroredResources(PacketMirroringMirroredResourcesArgs.builder()
.tags("foo")
.instances(PacketMirroringMirroredResourcesInstanceArgs.builder()
.url(mirror.id())
.build())
.build())
.filter(PacketMirroringFilterArgs.builder()
.ipProtocols("tcp")
.cidrRanges("0.0.0.0/0")
.direction("BOTH")
.build())
.build());
}
}
resources:
mirror:
type: gcp:compute:Instance
properties:
networkInterfaces:
- accessConfigs:
- {}
network: ${default.id}
name: my-instance
machineType: e2-medium
bootDisk:
initializeParams:
image: debian-cloud/debian-11
default:
type: gcp:compute:Network
properties:
name: my-network
defaultSubnetwork:
type: gcp:compute:Subnetwork
name: default
properties:
name: my-subnetwork
network: ${default.id}
ipCidrRange: 10.2.0.0/16
defaultRegionBackendService:
type: gcp:compute:RegionBackendService
name: default
properties:
name: my-service
healthChecks: ${defaultHealthCheck.id}
defaultHealthCheck:
type: gcp:compute:HealthCheck
name: default
properties:
name: my-healthcheck
checkIntervalSec: 1
timeoutSec: 1
tcpHealthCheck:
port: '80'
defaultForwardingRule:
type: gcp:compute:ForwardingRule
name: default
properties:
name: my-ilb
isMirroringCollector: true
ipProtocol: TCP
loadBalancingScheme: INTERNAL
backendService: ${defaultRegionBackendService.id}
allPorts: true
network: ${default.id}
subnetwork: ${defaultSubnetwork.id}
networkTier: PREMIUM
options:
dependson:
- ${defaultSubnetwork}
foobar:
type: gcp:compute:PacketMirroring
properties:
name: my-mirroring
description: bar
network:
url: ${default.id}
collectorIlb:
url: ${defaultForwardingRule.id}
mirroredResources:
tags:
- foo
instances:
- url: ${mirror.id}
filter:
ipProtocols:
- tcp
cidrRanges:
- 0.0.0.0/0
direction: BOTH
Create PacketMirroring Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new PacketMirroring(name: string, args: PacketMirroringArgs, opts?: CustomResourceOptions);
@overload
def PacketMirroring(resource_name: str,
args: PacketMirroringArgs,
opts: Optional[ResourceOptions] = None)
@overload
def PacketMirroring(resource_name: str,
opts: Optional[ResourceOptions] = None,
collector_ilb: Optional[PacketMirroringCollectorIlbArgs] = None,
mirrored_resources: Optional[PacketMirroringMirroredResourcesArgs] = None,
network: Optional[PacketMirroringNetworkArgs] = None,
description: Optional[str] = None,
filter: Optional[PacketMirroringFilterArgs] = None,
name: Optional[str] = None,
priority: Optional[int] = None,
project: Optional[str] = None,
region: Optional[str] = None)
func NewPacketMirroring(ctx *Context, name string, args PacketMirroringArgs, opts ...ResourceOption) (*PacketMirroring, error)
public PacketMirroring(string name, PacketMirroringArgs args, CustomResourceOptions? opts = null)
public PacketMirroring(String name, PacketMirroringArgs args)
public PacketMirroring(String name, PacketMirroringArgs args, CustomResourceOptions options)
type: gcp:compute:PacketMirroring
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 PacketMirroringArgs
- 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 PacketMirroringArgs
- 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 PacketMirroringArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args PacketMirroringArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args PacketMirroringArgs
- 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 packetMirroringResource = new Gcp.Compute.PacketMirroring("packetMirroringResource", new()
{
CollectorIlb = new Gcp.Compute.Inputs.PacketMirroringCollectorIlbArgs
{
Url = "string",
},
MirroredResources = new Gcp.Compute.Inputs.PacketMirroringMirroredResourcesArgs
{
Instances = new[]
{
new Gcp.Compute.Inputs.PacketMirroringMirroredResourcesInstanceArgs
{
Url = "string",
},
},
Subnetworks = new[]
{
new Gcp.Compute.Inputs.PacketMirroringMirroredResourcesSubnetworkArgs
{
Url = "string",
},
},
Tags = new[]
{
"string",
},
},
Network = new Gcp.Compute.Inputs.PacketMirroringNetworkArgs
{
Url = "string",
},
Description = "string",
Filter = new Gcp.Compute.Inputs.PacketMirroringFilterArgs
{
CidrRanges = new[]
{
"string",
},
Direction = "string",
IpProtocols = new[]
{
"string",
},
},
Name = "string",
Priority = 0,
Project = "string",
Region = "string",
});
example, err := compute.NewPacketMirroring(ctx, "packetMirroringResource", &compute.PacketMirroringArgs{
CollectorIlb: &compute.PacketMirroringCollectorIlbArgs{
Url: pulumi.String("string"),
},
MirroredResources: &compute.PacketMirroringMirroredResourcesArgs{
Instances: compute.PacketMirroringMirroredResourcesInstanceArray{
&compute.PacketMirroringMirroredResourcesInstanceArgs{
Url: pulumi.String("string"),
},
},
Subnetworks: compute.PacketMirroringMirroredResourcesSubnetworkArray{
&compute.PacketMirroringMirroredResourcesSubnetworkArgs{
Url: pulumi.String("string"),
},
},
Tags: pulumi.StringArray{
pulumi.String("string"),
},
},
Network: &compute.PacketMirroringNetworkArgs{
Url: pulumi.String("string"),
},
Description: pulumi.String("string"),
Filter: &compute.PacketMirroringFilterArgs{
CidrRanges: pulumi.StringArray{
pulumi.String("string"),
},
Direction: pulumi.String("string"),
IpProtocols: pulumi.StringArray{
pulumi.String("string"),
},
},
Name: pulumi.String("string"),
Priority: pulumi.Int(0),
Project: pulumi.String("string"),
Region: pulumi.String("string"),
})
var packetMirroringResource = new PacketMirroring("packetMirroringResource", PacketMirroringArgs.builder()
.collectorIlb(PacketMirroringCollectorIlbArgs.builder()
.url("string")
.build())
.mirroredResources(PacketMirroringMirroredResourcesArgs.builder()
.instances(PacketMirroringMirroredResourcesInstanceArgs.builder()
.url("string")
.build())
.subnetworks(PacketMirroringMirroredResourcesSubnetworkArgs.builder()
.url("string")
.build())
.tags("string")
.build())
.network(PacketMirroringNetworkArgs.builder()
.url("string")
.build())
.description("string")
.filter(PacketMirroringFilterArgs.builder()
.cidrRanges("string")
.direction("string")
.ipProtocols("string")
.build())
.name("string")
.priority(0)
.project("string")
.region("string")
.build());
packet_mirroring_resource = gcp.compute.PacketMirroring("packetMirroringResource",
collector_ilb={
"url": "string",
},
mirrored_resources={
"instances": [{
"url": "string",
}],
"subnetworks": [{
"url": "string",
}],
"tags": ["string"],
},
network={
"url": "string",
},
description="string",
filter={
"cidr_ranges": ["string"],
"direction": "string",
"ip_protocols": ["string"],
},
name="string",
priority=0,
project="string",
region="string")
const packetMirroringResource = new gcp.compute.PacketMirroring("packetMirroringResource", {
collectorIlb: {
url: "string",
},
mirroredResources: {
instances: [{
url: "string",
}],
subnetworks: [{
url: "string",
}],
tags: ["string"],
},
network: {
url: "string",
},
description: "string",
filter: {
cidrRanges: ["string"],
direction: "string",
ipProtocols: ["string"],
},
name: "string",
priority: 0,
project: "string",
region: "string",
});
type: gcp:compute:PacketMirroring
properties:
collectorIlb:
url: string
description: string
filter:
cidrRanges:
- string
direction: string
ipProtocols:
- string
mirroredResources:
instances:
- url: string
subnetworks:
- url: string
tags:
- string
name: string
network:
url: string
priority: 0
project: string
region: string
PacketMirroring 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 PacketMirroring resource accepts the following input properties:
- Collector
Ilb PacketMirroring Collector Ilb - The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL) that will be used as collector for mirrored traffic. The specified forwarding rule must have is_mirroring_collector set to true. Structure is documented below.
- Mirrored
Resources PacketMirroring Mirrored Resources - A means of specifying which resources to mirror. Structure is documented below.
- Network
Packet
Mirroring Network - Specifies the mirrored VPC network. Only packets in this network will be mirrored. All mirrored VMs should have a NIC in the given network. All mirrored subnetworks should belong to the given network. Structure is documented below.
- Description string
- A human-readable description of the rule.
- Filter
Packet
Mirroring Filter - A filter for mirrored traffic. If unset, all traffic is mirrored.
- Name string
- The name of the packet mirroring rule
- Priority int
- Since only one rule can be active at a time, priority is used to break ties in the case of two rules that apply to the same instances.
- Project string
- Region string
- The Region in which the created address should reside. If it is not provided, the provider region is used.
- Collector
Ilb PacketMirroring Collector Ilb Args - The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL) that will be used as collector for mirrored traffic. The specified forwarding rule must have is_mirroring_collector set to true. Structure is documented below.
- Mirrored
Resources PacketMirroring Mirrored Resources Args - A means of specifying which resources to mirror. Structure is documented below.
- Network
Packet
Mirroring Network Args - Specifies the mirrored VPC network. Only packets in this network will be mirrored. All mirrored VMs should have a NIC in the given network. All mirrored subnetworks should belong to the given network. Structure is documented below.
- Description string
- A human-readable description of the rule.
- Filter
Packet
Mirroring Filter Args - A filter for mirrored traffic. If unset, all traffic is mirrored.
- Name string
- The name of the packet mirroring rule
- Priority int
- Since only one rule can be active at a time, priority is used to break ties in the case of two rules that apply to the same instances.
- Project string
- Region string
- The Region in which the created address should reside. If it is not provided, the provider region is used.
- collector
Ilb PacketMirroring Collector Ilb - The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL) that will be used as collector for mirrored traffic. The specified forwarding rule must have is_mirroring_collector set to true. Structure is documented below.
- mirrored
Resources PacketMirroring Mirrored Resources - A means of specifying which resources to mirror. Structure is documented below.
- network
Packet
Mirroring Network - Specifies the mirrored VPC network. Only packets in this network will be mirrored. All mirrored VMs should have a NIC in the given network. All mirrored subnetworks should belong to the given network. Structure is documented below.
- description String
- A human-readable description of the rule.
- filter
Packet
Mirroring Filter - A filter for mirrored traffic. If unset, all traffic is mirrored.
- name String
- The name of the packet mirroring rule
- priority Integer
- Since only one rule can be active at a time, priority is used to break ties in the case of two rules that apply to the same instances.
- project String
- region String
- The Region in which the created address should reside. If it is not provided, the provider region is used.
- collector
Ilb PacketMirroring Collector Ilb - The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL) that will be used as collector for mirrored traffic. The specified forwarding rule must have is_mirroring_collector set to true. Structure is documented below.
- mirrored
Resources PacketMirroring Mirrored Resources - A means of specifying which resources to mirror. Structure is documented below.
- network
Packet
Mirroring Network - Specifies the mirrored VPC network. Only packets in this network will be mirrored. All mirrored VMs should have a NIC in the given network. All mirrored subnetworks should belong to the given network. Structure is documented below.
- description string
- A human-readable description of the rule.
- filter
Packet
Mirroring Filter - A filter for mirrored traffic. If unset, all traffic is mirrored.
- name string
- The name of the packet mirroring rule
- priority number
- Since only one rule can be active at a time, priority is used to break ties in the case of two rules that apply to the same instances.
- project string
- region string
- The Region in which the created address should reside. If it is not provided, the provider region is used.
- collector_
ilb PacketMirroring Collector Ilb Args - The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL) that will be used as collector for mirrored traffic. The specified forwarding rule must have is_mirroring_collector set to true. Structure is documented below.
- mirrored_
resources PacketMirroring Mirrored Resources Args - A means of specifying which resources to mirror. Structure is documented below.
- network
Packet
Mirroring Network Args - Specifies the mirrored VPC network. Only packets in this network will be mirrored. All mirrored VMs should have a NIC in the given network. All mirrored subnetworks should belong to the given network. Structure is documented below.
- description str
- A human-readable description of the rule.
- filter
Packet
Mirroring Filter Args - A filter for mirrored traffic. If unset, all traffic is mirrored.
- name str
- The name of the packet mirroring rule
- priority int
- Since only one rule can be active at a time, priority is used to break ties in the case of two rules that apply to the same instances.
- project str
- region str
- The Region in which the created address should reside. If it is not provided, the provider region is used.
- collector
Ilb Property Map - The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL) that will be used as collector for mirrored traffic. The specified forwarding rule must have is_mirroring_collector set to true. Structure is documented below.
- mirrored
Resources Property Map - A means of specifying which resources to mirror. Structure is documented below.
- network Property Map
- Specifies the mirrored VPC network. Only packets in this network will be mirrored. All mirrored VMs should have a NIC in the given network. All mirrored subnetworks should belong to the given network. Structure is documented below.
- description String
- A human-readable description of the rule.
- filter Property Map
- A filter for mirrored traffic. If unset, all traffic is mirrored.
- name String
- The name of the packet mirroring rule
- priority Number
- Since only one rule can be active at a time, priority is used to break ties in the case of two rules that apply to the same instances.
- project String
- region String
- The Region in which the created address should reside. If it is not provided, the provider region is used.
Outputs
All input properties are implicitly available as output properties. Additionally, the PacketMirroring resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing PacketMirroring Resource
Get an existing PacketMirroring 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?: PacketMirroringState, opts?: CustomResourceOptions): PacketMirroring
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
collector_ilb: Optional[PacketMirroringCollectorIlbArgs] = None,
description: Optional[str] = None,
filter: Optional[PacketMirroringFilterArgs] = None,
mirrored_resources: Optional[PacketMirroringMirroredResourcesArgs] = None,
name: Optional[str] = None,
network: Optional[PacketMirroringNetworkArgs] = None,
priority: Optional[int] = None,
project: Optional[str] = None,
region: Optional[str] = None) -> PacketMirroring
func GetPacketMirroring(ctx *Context, name string, id IDInput, state *PacketMirroringState, opts ...ResourceOption) (*PacketMirroring, error)
public static PacketMirroring Get(string name, Input<string> id, PacketMirroringState? state, CustomResourceOptions? opts = null)
public static PacketMirroring get(String name, Output<String> id, PacketMirroringState 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.
- Collector
Ilb PacketMirroring Collector Ilb - The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL) that will be used as collector for mirrored traffic. The specified forwarding rule must have is_mirroring_collector set to true. Structure is documented below.
- Description string
- A human-readable description of the rule.
- Filter
Packet
Mirroring Filter - A filter for mirrored traffic. If unset, all traffic is mirrored.
- Mirrored
Resources PacketMirroring Mirrored Resources - A means of specifying which resources to mirror. Structure is documented below.
- Name string
- The name of the packet mirroring rule
- Network
Packet
Mirroring Network - Specifies the mirrored VPC network. Only packets in this network will be mirrored. All mirrored VMs should have a NIC in the given network. All mirrored subnetworks should belong to the given network. Structure is documented below.
- Priority int
- Since only one rule can be active at a time, priority is used to break ties in the case of two rules that apply to the same instances.
- Project string
- Region string
- The Region in which the created address should reside. If it is not provided, the provider region is used.
- Collector
Ilb PacketMirroring Collector Ilb Args - The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL) that will be used as collector for mirrored traffic. The specified forwarding rule must have is_mirroring_collector set to true. Structure is documented below.
- Description string
- A human-readable description of the rule.
- Filter
Packet
Mirroring Filter Args - A filter for mirrored traffic. If unset, all traffic is mirrored.
- Mirrored
Resources PacketMirroring Mirrored Resources Args - A means of specifying which resources to mirror. Structure is documented below.
- Name string
- The name of the packet mirroring rule
- Network
Packet
Mirroring Network Args - Specifies the mirrored VPC network. Only packets in this network will be mirrored. All mirrored VMs should have a NIC in the given network. All mirrored subnetworks should belong to the given network. Structure is documented below.
- Priority int
- Since only one rule can be active at a time, priority is used to break ties in the case of two rules that apply to the same instances.
- Project string
- Region string
- The Region in which the created address should reside. If it is not provided, the provider region is used.
- collector
Ilb PacketMirroring Collector Ilb - The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL) that will be used as collector for mirrored traffic. The specified forwarding rule must have is_mirroring_collector set to true. Structure is documented below.
- description String
- A human-readable description of the rule.
- filter
Packet
Mirroring Filter - A filter for mirrored traffic. If unset, all traffic is mirrored.
- mirrored
Resources PacketMirroring Mirrored Resources - A means of specifying which resources to mirror. Structure is documented below.
- name String
- The name of the packet mirroring rule
- network
Packet
Mirroring Network - Specifies the mirrored VPC network. Only packets in this network will be mirrored. All mirrored VMs should have a NIC in the given network. All mirrored subnetworks should belong to the given network. Structure is documented below.
- priority Integer
- Since only one rule can be active at a time, priority is used to break ties in the case of two rules that apply to the same instances.
- project String
- region String
- The Region in which the created address should reside. If it is not provided, the provider region is used.
- collector
Ilb PacketMirroring Collector Ilb - The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL) that will be used as collector for mirrored traffic. The specified forwarding rule must have is_mirroring_collector set to true. Structure is documented below.
- description string
- A human-readable description of the rule.
- filter
Packet
Mirroring Filter - A filter for mirrored traffic. If unset, all traffic is mirrored.
- mirrored
Resources PacketMirroring Mirrored Resources - A means of specifying which resources to mirror. Structure is documented below.
- name string
- The name of the packet mirroring rule
- network
Packet
Mirroring Network - Specifies the mirrored VPC network. Only packets in this network will be mirrored. All mirrored VMs should have a NIC in the given network. All mirrored subnetworks should belong to the given network. Structure is documented below.
- priority number
- Since only one rule can be active at a time, priority is used to break ties in the case of two rules that apply to the same instances.
- project string
- region string
- The Region in which the created address should reside. If it is not provided, the provider region is used.
- collector_
ilb PacketMirroring Collector Ilb Args - The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL) that will be used as collector for mirrored traffic. The specified forwarding rule must have is_mirroring_collector set to true. Structure is documented below.
- description str
- A human-readable description of the rule.
- filter
Packet
Mirroring Filter Args - A filter for mirrored traffic. If unset, all traffic is mirrored.
- mirrored_
resources PacketMirroring Mirrored Resources Args - A means of specifying which resources to mirror. Structure is documented below.
- name str
- The name of the packet mirroring rule
- network
Packet
Mirroring Network Args - Specifies the mirrored VPC network. Only packets in this network will be mirrored. All mirrored VMs should have a NIC in the given network. All mirrored subnetworks should belong to the given network. Structure is documented below.
- priority int
- Since only one rule can be active at a time, priority is used to break ties in the case of two rules that apply to the same instances.
- project str
- region str
- The Region in which the created address should reside. If it is not provided, the provider region is used.
- collector
Ilb Property Map - The Forwarding Rule resource (of type load_balancing_scheme=INTERNAL) that will be used as collector for mirrored traffic. The specified forwarding rule must have is_mirroring_collector set to true. Structure is documented below.
- description String
- A human-readable description of the rule.
- filter Property Map
- A filter for mirrored traffic. If unset, all traffic is mirrored.
- mirrored
Resources Property Map - A means of specifying which resources to mirror. Structure is documented below.
- name String
- The name of the packet mirroring rule
- network Property Map
- Specifies the mirrored VPC network. Only packets in this network will be mirrored. All mirrored VMs should have a NIC in the given network. All mirrored subnetworks should belong to the given network. Structure is documented below.
- priority Number
- Since only one rule can be active at a time, priority is used to break ties in the case of two rules that apply to the same instances.
- project String
- region String
- The Region in which the created address should reside. If it is not provided, the provider region is used.
Supporting Types
PacketMirroringCollectorIlb, PacketMirroringCollectorIlbArgs
- Url string
- The URL of the forwarding rule.
- Url string
- The URL of the forwarding rule.
- url String
- The URL of the forwarding rule.
- url string
- The URL of the forwarding rule.
- url str
- The URL of the forwarding rule.
- url String
- The URL of the forwarding rule.
PacketMirroringFilter, PacketMirroringFilterArgs
- Cidr
Ranges List<string> - IP CIDR ranges that apply as a filter on the source (ingress) or destination (egress) IP in the IP header. Only IPv4 is supported.
- Direction string
- Direction of traffic to mirror.
Default value is
BOTH
. Possible values are:INGRESS
,EGRESS
,BOTH
. - Ip
Protocols List<string> - Possible IP protocols including tcp, udp, icmp and esp
- Cidr
Ranges []string - IP CIDR ranges that apply as a filter on the source (ingress) or destination (egress) IP in the IP header. Only IPv4 is supported.
- Direction string
- Direction of traffic to mirror.
Default value is
BOTH
. Possible values are:INGRESS
,EGRESS
,BOTH
. - Ip
Protocols []string - Possible IP protocols including tcp, udp, icmp and esp
- cidr
Ranges List<String> - IP CIDR ranges that apply as a filter on the source (ingress) or destination (egress) IP in the IP header. Only IPv4 is supported.
- direction String
- Direction of traffic to mirror.
Default value is
BOTH
. Possible values are:INGRESS
,EGRESS
,BOTH
. - ip
Protocols List<String> - Possible IP protocols including tcp, udp, icmp and esp
- cidr
Ranges string[] - IP CIDR ranges that apply as a filter on the source (ingress) or destination (egress) IP in the IP header. Only IPv4 is supported.
- direction string
- Direction of traffic to mirror.
Default value is
BOTH
. Possible values are:INGRESS
,EGRESS
,BOTH
. - ip
Protocols string[] - Possible IP protocols including tcp, udp, icmp and esp
- cidr_
ranges Sequence[str] - IP CIDR ranges that apply as a filter on the source (ingress) or destination (egress) IP in the IP header. Only IPv4 is supported.
- direction str
- Direction of traffic to mirror.
Default value is
BOTH
. Possible values are:INGRESS
,EGRESS
,BOTH
. - ip_
protocols Sequence[str] - Possible IP protocols including tcp, udp, icmp and esp
- cidr
Ranges List<String> - IP CIDR ranges that apply as a filter on the source (ingress) or destination (egress) IP in the IP header. Only IPv4 is supported.
- direction String
- Direction of traffic to mirror.
Default value is
BOTH
. Possible values are:INGRESS
,EGRESS
,BOTH
. - ip
Protocols List<String> - Possible IP protocols including tcp, udp, icmp and esp
PacketMirroringMirroredResources, PacketMirroringMirroredResourcesArgs
- Instances
List<Packet
Mirroring Mirrored Resources Instance> - All the listed instances will be mirrored. Specify at most 50. Structure is documented below.
- Subnetworks
List<Packet
Mirroring Mirrored Resources Subnetwork> - All instances in one of these subnetworks will be mirrored. Structure is documented below.
- List<string>
- All instances with these tags will be mirrored.
- Instances
[]Packet
Mirroring Mirrored Resources Instance - All the listed instances will be mirrored. Specify at most 50. Structure is documented below.
- Subnetworks
[]Packet
Mirroring Mirrored Resources Subnetwork - All instances in one of these subnetworks will be mirrored. Structure is documented below.
- []string
- All instances with these tags will be mirrored.
- instances
List<Packet
Mirroring Mirrored Resources Instance> - All the listed instances will be mirrored. Specify at most 50. Structure is documented below.
- subnetworks
List<Packet
Mirroring Mirrored Resources Subnetwork> - All instances in one of these subnetworks will be mirrored. Structure is documented below.
- List<String>
- All instances with these tags will be mirrored.
- instances
Packet
Mirroring Mirrored Resources Instance[] - All the listed instances will be mirrored. Specify at most 50. Structure is documented below.
- subnetworks
Packet
Mirroring Mirrored Resources Subnetwork[] - All instances in one of these subnetworks will be mirrored. Structure is documented below.
- string[]
- All instances with these tags will be mirrored.
- instances
Sequence[Packet
Mirroring Mirrored Resources Instance] - All the listed instances will be mirrored. Specify at most 50. Structure is documented below.
- subnetworks
Sequence[Packet
Mirroring Mirrored Resources Subnetwork] - All instances in one of these subnetworks will be mirrored. Structure is documented below.
- Sequence[str]
- All instances with these tags will be mirrored.
- instances List<Property Map>
- All the listed instances will be mirrored. Specify at most 50. Structure is documented below.
- subnetworks List<Property Map>
- All instances in one of these subnetworks will be mirrored. Structure is documented below.
- List<String>
- All instances with these tags will be mirrored.
PacketMirroringMirroredResourcesInstance, PacketMirroringMirroredResourcesInstanceArgs
- Url string
- The URL of the instances where this rule should be active.
- Url string
- The URL of the instances where this rule should be active.
- url String
- The URL of the instances where this rule should be active.
- url string
- The URL of the instances where this rule should be active.
- url str
- The URL of the instances where this rule should be active.
- url String
- The URL of the instances where this rule should be active.
PacketMirroringMirroredResourcesSubnetwork, PacketMirroringMirroredResourcesSubnetworkArgs
- Url string
- The URL of the subnetwork where this rule should be active.
- Url string
- The URL of the subnetwork where this rule should be active.
- url String
- The URL of the subnetwork where this rule should be active.
- url string
- The URL of the subnetwork where this rule should be active.
- url str
- The URL of the subnetwork where this rule should be active.
- url String
- The URL of the subnetwork where this rule should be active.
PacketMirroringNetwork, PacketMirroringNetworkArgs
- Url string
- The full self_link URL of the network where this rule is active.
- Url string
- The full self_link URL of the network where this rule is active.
- url String
- The full self_link URL of the network where this rule is active.
- url string
- The full self_link URL of the network where this rule is active.
- url str
- The full self_link URL of the network where this rule is active.
- url String
- The full self_link URL of the network where this rule is active.
Import
PacketMirroring can be imported using any of these accepted formats:
projects/{{project}}/regions/{{region}}/packetMirrorings/{{name}}
{{project}}/{{region}}/{{name}}
{{region}}/{{name}}
{{name}}
When using the pulumi import
command, PacketMirroring can be imported using one of the formats above. For example:
$ pulumi import gcp:compute/packetMirroring:PacketMirroring default projects/{{project}}/regions/{{region}}/packetMirrorings/{{name}}
$ pulumi import gcp:compute/packetMirroring:PacketMirroring default {{project}}/{{region}}/{{name}}
$ pulumi import gcp:compute/packetMirroring:PacketMirroring default {{region}}/{{name}}
$ pulumi import gcp:compute/packetMirroring:PacketMirroring default {{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.