Class TrafficMirrorFilterRule


  • public class TrafficMirrorFilterRule
    extends com.pulumi.resources.CustomResource
    Provides an Traffic mirror filter rule.\ Read [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring ## Example Usage To create a basic traffic mirror session
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.ec2.TrafficMirrorFilter;
     import com.pulumi.aws.ec2.TrafficMirrorFilterArgs;
     import com.pulumi.aws.ec2.TrafficMirrorFilterRule;
     import com.pulumi.aws.ec2.TrafficMirrorFilterRuleArgs;
     import com.pulumi.aws.ec2.inputs.TrafficMirrorFilterRuleDestinationPortRangeArgs;
     import com.pulumi.aws.ec2.inputs.TrafficMirrorFilterRuleSourcePortRangeArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     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 filter = new TrafficMirrorFilter("filter", TrafficMirrorFilterArgs.builder()
                 .description("traffic mirror filter - example")
                 .networkServices("amazon-dns")
                 .build());
     
             var ruleout = new TrafficMirrorFilterRule("ruleout", TrafficMirrorFilterRuleArgs.builder()
                 .description("test rule")
                 .trafficMirrorFilterId(filter.id())
                 .destinationCidrBlock("10.0.0.0/8")
                 .sourceCidrBlock("10.0.0.0/8")
                 .ruleNumber(1)
                 .ruleAction("accept")
                 .trafficDirection("egress")
                 .build());
     
             var rulein = new TrafficMirrorFilterRule("rulein", TrafficMirrorFilterRuleArgs.builder()
                 .destinationPortRange(TrafficMirrorFilterRuleDestinationPortRangeArgs.builder()
                     .fromPort(22)
                     .toPort(53)
                     .build())
                 .sourcePortRange(TrafficMirrorFilterRuleSourcePortRangeArgs.builder()
                     .fromPort(0)
                     .toPort(10)
                     .build())
                 .description("test rule")
                 .trafficMirrorFilterId(filter.id())
                 .destinationCidrBlock("10.0.0.0/8")
                 .sourceCidrBlock("10.0.0.0/8")
                 .ruleNumber(1)
                 .ruleAction("accept")
                 .trafficDirection("ingress")
                 .protocol(6)
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import traffic mirror rules using the `trafficMirrorFilterId` and `id` separated by `:`. For example: ```sh $ pulumi import aws:ec2/trafficMirrorFilterRule:TrafficMirrorFilterRule rule tmf-0fbb93ddf38198f64:tmfr-05a458f06445d0aee ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Constructor Detail

      • TrafficMirrorFilterRule

        public TrafficMirrorFilterRule​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • TrafficMirrorFilterRule

        public TrafficMirrorFilterRule​(java.lang.String name,
                                       TrafficMirrorFilterRuleArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • TrafficMirrorFilterRule

        public TrafficMirrorFilterRule​(java.lang.String name,
                                       TrafficMirrorFilterRuleArgs args,
                                       @Nullable
                                       com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        ARN of the traffic mirror filter rule.
      • description

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
        Returns:
        Description of the traffic mirror filter rule.
      • destinationCidrBlock

        public com.pulumi.core.Output<java.lang.String> destinationCidrBlock()
        Returns:
        Destination CIDR block to assign to the Traffic Mirror rule.
      • destinationPortRange

        public com.pulumi.core.Output<java.util.Optional<TrafficMirrorFilterRuleDestinationPortRange>> destinationPortRange()
        Returns:
        Destination port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below
      • protocol

        public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> protocol()
        Returns:
        Protocol number, for example 17 (UDP), to assign to the Traffic Mirror rule. For information about the protocol value, see [Protocol Numbers](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) on the Internet Assigned Numbers Authority (IANA) website.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • ruleAction

        public com.pulumi.core.Output<java.lang.String> ruleAction()
        Returns:
        Action to take (accept | reject) on the filtered traffic. Valid values are `accept` and `reject`
      • ruleNumber

        public com.pulumi.core.Output<java.lang.Integer> ruleNumber()
        Returns:
        Number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.
      • sourceCidrBlock

        public com.pulumi.core.Output<java.lang.String> sourceCidrBlock()
        Returns:
        Source CIDR block to assign to the Traffic Mirror rule.
      • sourcePortRange

        public com.pulumi.core.Output<java.util.Optional<TrafficMirrorFilterRuleSourcePortRange>> sourcePortRange()
        Returns:
        Source port range. Supported only when the protocol is set to TCP(6) or UDP(17). See Traffic mirror port range documented below
      • trafficDirection

        public com.pulumi.core.Output<java.lang.String> trafficDirection()
        Returns:
        Direction of traffic to be captured. Valid values are `ingress` and `egress` Traffic mirror port range support following attributes:
      • trafficMirrorFilterId

        public com.pulumi.core.Output<java.lang.String> trafficMirrorFilterId()
        Returns:
        ID of the traffic mirror filter to which this rule should be added
      • get

        public static TrafficMirrorFilterRule get​(java.lang.String name,
                                                  com.pulumi.core.Output<java.lang.String> id,
                                                  @Nullable
                                                  TrafficMirrorFilterRuleState state,
                                                  @Nullable
                                                  com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.