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

com.pulumi.azurenative.securityinsights.HuntArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show newest version
// *** 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.azurenative.securityinsights;

import com.pulumi.azurenative.securityinsights.enums.AttackTactic;
import com.pulumi.azurenative.securityinsights.enums.HypothesisStatus;
import com.pulumi.azurenative.securityinsights.enums.Status;
import com.pulumi.azurenative.securityinsights.inputs.HuntOwnerArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final HuntArgs Empty = new HuntArgs();

    /**
     * A list of mitre attack tactics the hunt is associated with
     * 
     */
    @Import(name="attackTactics")
    private @Nullable Output>> attackTactics;

    /**
     * @return A list of mitre attack tactics the hunt is associated with
     * 
     */
    public Optional>>> attackTactics() {
        return Optional.ofNullable(this.attackTactics);
    }

    /**
     * A list of a mitre attack techniques the hunt is associated with
     * 
     */
    @Import(name="attackTechniques")
    private @Nullable Output> attackTechniques;

    /**
     * @return A list of a mitre attack techniques the hunt is associated with
     * 
     */
    public Optional>> attackTechniques() {
        return Optional.ofNullable(this.attackTechniques);
    }

    /**
     * The description of the hunt
     * 
     */
    @Import(name="description", required=true)
    private Output description;

    /**
     * @return The description of the hunt
     * 
     */
    public Output description() {
        return this.description;
    }

    /**
     * The display name of the hunt
     * 
     */
    @Import(name="displayName", required=true)
    private Output displayName;

    /**
     * @return The display name of the hunt
     * 
     */
    public Output displayName() {
        return this.displayName;
    }

    /**
     * The hunt id (GUID)
     * 
     */
    @Import(name="huntId")
    private @Nullable Output huntId;

    /**
     * @return The hunt id (GUID)
     * 
     */
    public Optional> huntId() {
        return Optional.ofNullable(this.huntId);
    }

    /**
     * The hypothesis status of the hunt.
     * 
     */
    @Import(name="hypothesisStatus")
    private @Nullable Output> hypothesisStatus;

    /**
     * @return The hypothesis status of the hunt.
     * 
     */
    public Optional>> hypothesisStatus() {
        return Optional.ofNullable(this.hypothesisStatus);
    }

    /**
     * List of labels relevant to this hunt
     * 
     */
    @Import(name="labels")
    private @Nullable Output> labels;

    /**
     * @return List of labels relevant to this hunt
     * 
     */
    public Optional>> labels() {
        return Optional.ofNullable(this.labels);
    }

    /**
     * Describes a user that the hunt is assigned to
     * 
     */
    @Import(name="owner")
    private @Nullable Output owner;

    /**
     * @return Describes a user that the hunt is assigned to
     * 
     */
    public Optional> owner() {
        return Optional.ofNullable(this.owner);
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * The status of the hunt.
     * 
     */
    @Import(name="status")
    private @Nullable Output> status;

    /**
     * @return The status of the hunt.
     * 
     */
    public Optional>> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * The name of the workspace.
     * 
     */
    @Import(name="workspaceName", required=true)
    private Output workspaceName;

    /**
     * @return The name of the workspace.
     * 
     */
    public Output workspaceName() {
        return this.workspaceName;
    }

    private HuntArgs() {}

    private HuntArgs(HuntArgs $) {
        this.attackTactics = $.attackTactics;
        this.attackTechniques = $.attackTechniques;
        this.description = $.description;
        this.displayName = $.displayName;
        this.huntId = $.huntId;
        this.hypothesisStatus = $.hypothesisStatus;
        this.labels = $.labels;
        this.owner = $.owner;
        this.resourceGroupName = $.resourceGroupName;
        this.status = $.status;
        this.workspaceName = $.workspaceName;
    }

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

    public static final class Builder {
        private HuntArgs $;

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

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

        /**
         * @param attackTactics A list of mitre attack tactics the hunt is associated with
         * 
         * @return builder
         * 
         */
        public Builder attackTactics(@Nullable Output>> attackTactics) {
            $.attackTactics = attackTactics;
            return this;
        }

        /**
         * @param attackTactics A list of mitre attack tactics the hunt is associated with
         * 
         * @return builder
         * 
         */
        public Builder attackTactics(List> attackTactics) {
            return attackTactics(Output.of(attackTactics));
        }

        /**
         * @param attackTactics A list of mitre attack tactics the hunt is associated with
         * 
         * @return builder
         * 
         */
        public Builder attackTactics(Either... attackTactics) {
            return attackTactics(List.of(attackTactics));
        }

        /**
         * @param attackTechniques A list of a mitre attack techniques the hunt is associated with
         * 
         * @return builder
         * 
         */
        public Builder attackTechniques(@Nullable Output> attackTechniques) {
            $.attackTechniques = attackTechniques;
            return this;
        }

        /**
         * @param attackTechniques A list of a mitre attack techniques the hunt is associated with
         * 
         * @return builder
         * 
         */
        public Builder attackTechniques(List attackTechniques) {
            return attackTechniques(Output.of(attackTechniques));
        }

        /**
         * @param attackTechniques A list of a mitre attack techniques the hunt is associated with
         * 
         * @return builder
         * 
         */
        public Builder attackTechniques(String... attackTechniques) {
            return attackTechniques(List.of(attackTechniques));
        }

        /**
         * @param description The description of the hunt
         * 
         * @return builder
         * 
         */
        public Builder description(Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description The description of the hunt
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param displayName The display name of the hunt
         * 
         * @return builder
         * 
         */
        public Builder displayName(Output displayName) {
            $.displayName = displayName;
            return this;
        }

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

        /**
         * @param huntId The hunt id (GUID)
         * 
         * @return builder
         * 
         */
        public Builder huntId(@Nullable Output huntId) {
            $.huntId = huntId;
            return this;
        }

        /**
         * @param huntId The hunt id (GUID)
         * 
         * @return builder
         * 
         */
        public Builder huntId(String huntId) {
            return huntId(Output.of(huntId));
        }

        /**
         * @param hypothesisStatus The hypothesis status of the hunt.
         * 
         * @return builder
         * 
         */
        public Builder hypothesisStatus(@Nullable Output> hypothesisStatus) {
            $.hypothesisStatus = hypothesisStatus;
            return this;
        }

        /**
         * @param hypothesisStatus The hypothesis status of the hunt.
         * 
         * @return builder
         * 
         */
        public Builder hypothesisStatus(Either hypothesisStatus) {
            return hypothesisStatus(Output.of(hypothesisStatus));
        }

        /**
         * @param hypothesisStatus The hypothesis status of the hunt.
         * 
         * @return builder
         * 
         */
        public Builder hypothesisStatus(String hypothesisStatus) {
            return hypothesisStatus(Either.ofLeft(hypothesisStatus));
        }

        /**
         * @param hypothesisStatus The hypothesis status of the hunt.
         * 
         * @return builder
         * 
         */
        public Builder hypothesisStatus(HypothesisStatus hypothesisStatus) {
            return hypothesisStatus(Either.ofRight(hypothesisStatus));
        }

        /**
         * @param labels List of labels relevant to this hunt
         * 
         * @return builder
         * 
         */
        public Builder labels(@Nullable Output> labels) {
            $.labels = labels;
            return this;
        }

        /**
         * @param labels List of labels relevant to this hunt
         * 
         * @return builder
         * 
         */
        public Builder labels(List labels) {
            return labels(Output.of(labels));
        }

        /**
         * @param labels List of labels relevant to this hunt
         * 
         * @return builder
         * 
         */
        public Builder labels(String... labels) {
            return labels(List.of(labels));
        }

        /**
         * @param owner Describes a user that the hunt is assigned to
         * 
         * @return builder
         * 
         */
        public Builder owner(@Nullable Output owner) {
            $.owner = owner;
            return this;
        }

        /**
         * @param owner Describes a user that the hunt is assigned to
         * 
         * @return builder
         * 
         */
        public Builder owner(HuntOwnerArgs owner) {
            return owner(Output.of(owner));
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param status The status of the hunt.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output> status) {
            $.status = status;
            return this;
        }

        /**
         * @param status The status of the hunt.
         * 
         * @return builder
         * 
         */
        public Builder status(Either status) {
            return status(Output.of(status));
        }

        /**
         * @param status The status of the hunt.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Either.ofLeft(status));
        }

        /**
         * @param status The status of the hunt.
         * 
         * @return builder
         * 
         */
        public Builder status(Status status) {
            return status(Either.ofRight(status));
        }

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

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

        public HuntArgs build() {
            if ($.description == null) {
                throw new MissingRequiredPropertyException("HuntArgs", "description");
            }
            if ($.displayName == null) {
                throw new MissingRequiredPropertyException("HuntArgs", "displayName");
            }
            $.hypothesisStatus = Codegen.stringProp("hypothesisStatus").left(HypothesisStatus.class).output().arg($.hypothesisStatus).def("Unknown").getNullable();
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("HuntArgs", "resourceGroupName");
            }
            $.status = Codegen.stringProp("status").left(Status.class).output().arg($.status).def("New").getNullable();
            if ($.workspaceName == null) {
                throw new MissingRequiredPropertyException("HuntArgs", "workspaceName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy