All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.securityhub.inputs.InsightState Maven / Gradle / Ivy

// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.securityhub.inputs;

import com.pulumi.aws.securityhub.inputs.InsightFiltersArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class InsightState extends com.pulumi.resources.ResourceArgs {

    public static final InsightState Empty = new InsightState();

    /**
     * ARN of the insight.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return ARN of the insight.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * 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.
     * 
     */
    @Import(name="filters")
    private @Nullable Output filters;

    /**
     * @return 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.
     * 
     */
    public Optional> filters() {
        return Optional.ofNullable(this.filters);
    }

    /**
     * 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.
     * 
     */
    @Import(name="groupByAttribute")
    private @Nullable Output groupByAttribute;

    /**
     * @return 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.
     * 
     */
    public Optional> groupByAttribute() {
        return Optional.ofNullable(this.groupByAttribute);
    }

    /**
     * The name of the custom insight.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the custom insight.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    private InsightState() {}

    private InsightState(InsightState $) {
        this.arn = $.arn;
        this.filters = $.filters;
        this.groupByAttribute = $.groupByAttribute;
        this.name = $.name;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(InsightState defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private InsightState $;

        public Builder() {
            $ = new InsightState();
        }

        public Builder(InsightState defaults) {
            $ = new InsightState(Objects.requireNonNull(defaults));
        }

        /**
         * @param arn ARN of the insight.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn ARN of the insight.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param filters 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.
         * 
         * @return builder
         * 
         */
        public Builder filters(@Nullable Output filters) {
            $.filters = filters;
            return this;
        }

        /**
         * @param filters 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.
         * 
         * @return builder
         * 
         */
        public Builder filters(InsightFiltersArgs filters) {
            return filters(Output.of(filters));
        }

        /**
         * @param groupByAttribute 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.
         * 
         * @return builder
         * 
         */
        public Builder groupByAttribute(@Nullable Output groupByAttribute) {
            $.groupByAttribute = groupByAttribute;
            return this;
        }

        /**
         * @param groupByAttribute 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.
         * 
         * @return builder
         * 
         */
        public Builder groupByAttribute(String groupByAttribute) {
            return groupByAttribute(Output.of(groupByAttribute));
        }

        /**
         * @param name The name of the custom insight.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of the custom insight.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        public InsightState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy