Class Insight


  • public class Insight
    extends com.pulumi.resources.CustomResource
    Provides a Security Hub custom insight resource. See the [Managing custom insights section](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-custom-insights.html) of the AWS User Guide for more information. ## Example Usage ### Filter by AWS account ID
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.securityhub.Account;
     import com.pulumi.aws.securityhub.Insight;
     import com.pulumi.aws.securityhub.InsightArgs;
     import com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;
     import com.pulumi.aws.securityhub.inputs.InsightFiltersAwsAccountIdArgs;
     import com.pulumi.resources.CustomResourceOptions;
     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 example = new Account("example");
     
             var exampleInsight = new Insight("exampleInsight", InsightArgs.builder()
                 .filters(InsightFiltersArgs.builder()
                     .awsAccountIds(                
                         InsightFiltersAwsAccountIdArgs.builder()
                             .comparison("EQUALS")
                             .value("1234567890")
                             .build(),
                         InsightFiltersAwsAccountIdArgs.builder()
                             .comparison("EQUALS")
                             .value("09876543210")
                             .build())
                     .build())
                 .groupByAttribute("AwsAccountId")
                 .name("example-insight")
                 .build(), CustomResourceOptions.builder()
                     .dependsOn(example)
                     .build());
     
         }
     }
     
     
    ### Filter by date range
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.securityhub.Account;
     import com.pulumi.aws.securityhub.Insight;
     import com.pulumi.aws.securityhub.InsightArgs;
     import com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;
     import com.pulumi.aws.securityhub.inputs.InsightFiltersCreatedAtArgs;
     import com.pulumi.aws.securityhub.inputs.InsightFiltersCreatedAtDateRangeArgs;
     import com.pulumi.resources.CustomResourceOptions;
     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 example = new Account("example");
     
             var exampleInsight = new Insight("exampleInsight", InsightArgs.builder()
                 .filters(InsightFiltersArgs.builder()
                     .createdAts(InsightFiltersCreatedAtArgs.builder()
                         .dateRange(InsightFiltersCreatedAtDateRangeArgs.builder()
                             .unit("DAYS")
                             .value(5)
                             .build())
                         .build())
                     .build())
                 .groupByAttribute("CreatedAt")
                 .name("example-insight")
                 .build(), CustomResourceOptions.builder()
                     .dependsOn(example)
                     .build());
     
         }
     }
     
     
    ### Filter by destination IPv4 address
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.securityhub.Account;
     import com.pulumi.aws.securityhub.Insight;
     import com.pulumi.aws.securityhub.InsightArgs;
     import com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;
     import com.pulumi.aws.securityhub.inputs.InsightFiltersNetworkDestinationIpv4Args;
     import com.pulumi.resources.CustomResourceOptions;
     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 example = new Account("example");
     
             var exampleInsight = new Insight("exampleInsight", InsightArgs.builder()
                 .filters(InsightFiltersArgs.builder()
                     .networkDestinationIpv4s(InsightFiltersNetworkDestinationIpv4Args.builder()
                         .cidr("10.0.0.0/16")
                         .build())
                     .build())
                 .groupByAttribute("NetworkDestinationIpV4")
                 .name("example-insight")
                 .build(), CustomResourceOptions.builder()
                     .dependsOn(example)
                     .build());
     
         }
     }
     
     
    ### Filter by finding's confidence
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.securityhub.Account;
     import com.pulumi.aws.securityhub.Insight;
     import com.pulumi.aws.securityhub.InsightArgs;
     import com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;
     import com.pulumi.aws.securityhub.inputs.InsightFiltersConfidenceArgs;
     import com.pulumi.resources.CustomResourceOptions;
     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 example = new Account("example");
     
             var exampleInsight = new Insight("exampleInsight", InsightArgs.builder()
                 .filters(InsightFiltersArgs.builder()
                     .confidences(InsightFiltersConfidenceArgs.builder()
                         .gte("80")
                         .build())
                     .build())
                 .groupByAttribute("Confidence")
                 .name("example-insight")
                 .build(), CustomResourceOptions.builder()
                     .dependsOn(example)
                     .build());
     
         }
     }
     
     
    ### Filter by resource tags
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.securityhub.Account;
     import com.pulumi.aws.securityhub.Insight;
     import com.pulumi.aws.securityhub.InsightArgs;
     import com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;
     import com.pulumi.aws.securityhub.inputs.InsightFiltersResourceTagArgs;
     import com.pulumi.resources.CustomResourceOptions;
     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 example = new Account("example");
     
             var exampleInsight = new Insight("exampleInsight", InsightArgs.builder()
                 .filters(InsightFiltersArgs.builder()
                     .resourceTags(InsightFiltersResourceTagArgs.builder()
                         .comparison("EQUALS")
                         .key("Environment")
                         .value("Production")
                         .build())
                     .build())
                 .groupByAttribute("ResourceTags")
                 .name("example-insight")
                 .build(), CustomResourceOptions.builder()
                     .dependsOn(example)
                     .build());
     
         }
     }
     
     
    ## Import ### Identity Schema #### Required - `arn` (String) Security Hub custom insight ARN. Using `pulumi import`, import Security Hub custom insights using `arn`. For example: ```sh $ pulumi import aws:securityhub/insight:Insight example arn:aws:securityhub:us-west-2:1234567890:insight/1234567890/custom/91299ed7-abd0-4e44-a858-d0b15e37141a ```
    • 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 Summary

      Constructors 
      Constructor Description
      Insight​(java.lang.String name)  
      Insight​(java.lang.String name, InsightArgs args)  
      Insight​(java.lang.String name, InsightArgs args, com.pulumi.resources.CustomResourceOptions options)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.pulumi.core.Output<java.lang.String> arn()  
      com.pulumi.core.Output<InsightFilters> filters()  
      static Insight get​(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, InsightState state, 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.
      com.pulumi.core.Output<java.lang.String> groupByAttribute()  
      com.pulumi.core.Output<java.lang.String> name()  
      com.pulumi.core.Output<java.lang.String> region()  
      • Methods inherited from class com.pulumi.resources.CustomResource

        getId, id, idFuture
      • Methods inherited from class com.pulumi.resources.Resource

        getChildResources, getResourceName, getResourceType, getUrn, pulumiChildResources, pulumiResourceName, pulumiResourceType, urn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Insight

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

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

        public Insight​(java.lang.String name,
                       InsightArgs 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 insight.
      • filters

        public com.pulumi.core.Output<InsightFilters> filters()
        Returns:
        A configuration block including one or more (up to 10 distinct) attributes used to filter the findings included in the insight. The insight only includes findings that match criteria defined in the filters. See filters below for more details.
      • groupByAttribute

        public com.pulumi.core.Output<java.lang.String> groupByAttribute()
        Returns:
        The attribute used to group the findings for the insight e.g., if an insight is grouped by `ResourceId`, then the insight produces a list of resource identifiers.
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        The name of the custom insight.
      • 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.
      • get

        public static Insight get​(java.lang.String name,
                                  com.pulumi.core.Output<java.lang.String> id,
                                  @Nullable
                                  InsightState 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.