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

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

There is a newer version: 2.72.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.IncidentClassification;
import com.pulumi.azurenative.securityinsights.enums.IncidentClassificationReason;
import com.pulumi.azurenative.securityinsights.enums.IncidentSeverity;
import com.pulumi.azurenative.securityinsights.enums.IncidentStatus;
import com.pulumi.azurenative.securityinsights.inputs.IncidentLabelArgs;
import com.pulumi.azurenative.securityinsights.inputs.IncidentOwnerInfoArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
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 IncidentArgs extends com.pulumi.resources.ResourceArgs {

    public static final IncidentArgs Empty = new IncidentArgs();

    /**
     * The reason the incident was closed
     * 
     */
    @Import(name="classification")
    private @Nullable Output> classification;

    /**
     * @return The reason the incident was closed
     * 
     */
    public Optional>> classification() {
        return Optional.ofNullable(this.classification);
    }

    /**
     * Describes the reason the incident was closed
     * 
     */
    @Import(name="classificationComment")
    private @Nullable Output classificationComment;

    /**
     * @return Describes the reason the incident was closed
     * 
     */
    public Optional> classificationComment() {
        return Optional.ofNullable(this.classificationComment);
    }

    /**
     * The classification reason the incident was closed with
     * 
     */
    @Import(name="classificationReason")
    private @Nullable Output> classificationReason;

    /**
     * @return The classification reason the incident was closed with
     * 
     */
    public Optional>> classificationReason() {
        return Optional.ofNullable(this.classificationReason);
    }

    /**
     * The description of the incident
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

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

    /**
     * The time of the first activity in the incident
     * 
     */
    @Import(name="firstActivityTimeUtc")
    private @Nullable Output firstActivityTimeUtc;

    /**
     * @return The time of the first activity in the incident
     * 
     */
    public Optional> firstActivityTimeUtc() {
        return Optional.ofNullable(this.firstActivityTimeUtc);
    }

    /**
     * Incident ID
     * 
     */
    @Import(name="incidentId")
    private @Nullable Output incidentId;

    /**
     * @return Incident ID
     * 
     */
    public Optional> incidentId() {
        return Optional.ofNullable(this.incidentId);
    }

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

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

    /**
     * The time of the last activity in the incident
     * 
     */
    @Import(name="lastActivityTimeUtc")
    private @Nullable Output lastActivityTimeUtc;

    /**
     * @return The time of the last activity in the incident
     * 
     */
    public Optional> lastActivityTimeUtc() {
        return Optional.ofNullable(this.lastActivityTimeUtc);
    }

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

    /**
     * @return Describes a user that the incident 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 severity of the incident
     * 
     */
    @Import(name="severity", required=true)
    private Output> severity;

    /**
     * @return The severity of the incident
     * 
     */
    public Output> severity() {
        return this.severity;
    }

    /**
     * The status of the incident
     * 
     */
    @Import(name="status", required=true)
    private Output> status;

    /**
     * @return The status of the incident
     * 
     */
    public Output> status() {
        return this.status;
    }

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

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

    /**
     * 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 IncidentArgs() {}

    private IncidentArgs(IncidentArgs $) {
        this.classification = $.classification;
        this.classificationComment = $.classificationComment;
        this.classificationReason = $.classificationReason;
        this.description = $.description;
        this.firstActivityTimeUtc = $.firstActivityTimeUtc;
        this.incidentId = $.incidentId;
        this.labels = $.labels;
        this.lastActivityTimeUtc = $.lastActivityTimeUtc;
        this.owner = $.owner;
        this.resourceGroupName = $.resourceGroupName;
        this.severity = $.severity;
        this.status = $.status;
        this.title = $.title;
        this.workspaceName = $.workspaceName;
    }

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

    public static final class Builder {
        private IncidentArgs $;

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

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

        /**
         * @param classification The reason the incident was closed
         * 
         * @return builder
         * 
         */
        public Builder classification(@Nullable Output> classification) {
            $.classification = classification;
            return this;
        }

        /**
         * @param classification The reason the incident was closed
         * 
         * @return builder
         * 
         */
        public Builder classification(Either classification) {
            return classification(Output.of(classification));
        }

        /**
         * @param classification The reason the incident was closed
         * 
         * @return builder
         * 
         */
        public Builder classification(String classification) {
            return classification(Either.ofLeft(classification));
        }

        /**
         * @param classification The reason the incident was closed
         * 
         * @return builder
         * 
         */
        public Builder classification(IncidentClassification classification) {
            return classification(Either.ofRight(classification));
        }

        /**
         * @param classificationComment Describes the reason the incident was closed
         * 
         * @return builder
         * 
         */
        public Builder classificationComment(@Nullable Output classificationComment) {
            $.classificationComment = classificationComment;
            return this;
        }

        /**
         * @param classificationComment Describes the reason the incident was closed
         * 
         * @return builder
         * 
         */
        public Builder classificationComment(String classificationComment) {
            return classificationComment(Output.of(classificationComment));
        }

        /**
         * @param classificationReason The classification reason the incident was closed with
         * 
         * @return builder
         * 
         */
        public Builder classificationReason(@Nullable Output> classificationReason) {
            $.classificationReason = classificationReason;
            return this;
        }

        /**
         * @param classificationReason The classification reason the incident was closed with
         * 
         * @return builder
         * 
         */
        public Builder classificationReason(Either classificationReason) {
            return classificationReason(Output.of(classificationReason));
        }

        /**
         * @param classificationReason The classification reason the incident was closed with
         * 
         * @return builder
         * 
         */
        public Builder classificationReason(String classificationReason) {
            return classificationReason(Either.ofLeft(classificationReason));
        }

        /**
         * @param classificationReason The classification reason the incident was closed with
         * 
         * @return builder
         * 
         */
        public Builder classificationReason(IncidentClassificationReason classificationReason) {
            return classificationReason(Either.ofRight(classificationReason));
        }

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

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

        /**
         * @param firstActivityTimeUtc The time of the first activity in the incident
         * 
         * @return builder
         * 
         */
        public Builder firstActivityTimeUtc(@Nullable Output firstActivityTimeUtc) {
            $.firstActivityTimeUtc = firstActivityTimeUtc;
            return this;
        }

        /**
         * @param firstActivityTimeUtc The time of the first activity in the incident
         * 
         * @return builder
         * 
         */
        public Builder firstActivityTimeUtc(String firstActivityTimeUtc) {
            return firstActivityTimeUtc(Output.of(firstActivityTimeUtc));
        }

        /**
         * @param incidentId Incident ID
         * 
         * @return builder
         * 
         */
        public Builder incidentId(@Nullable Output incidentId) {
            $.incidentId = incidentId;
            return this;
        }

        /**
         * @param incidentId Incident ID
         * 
         * @return builder
         * 
         */
        public Builder incidentId(String incidentId) {
            return incidentId(Output.of(incidentId));
        }

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

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

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

        /**
         * @param lastActivityTimeUtc The time of the last activity in the incident
         * 
         * @return builder
         * 
         */
        public Builder lastActivityTimeUtc(@Nullable Output lastActivityTimeUtc) {
            $.lastActivityTimeUtc = lastActivityTimeUtc;
            return this;
        }

        /**
         * @param lastActivityTimeUtc The time of the last activity in the incident
         * 
         * @return builder
         * 
         */
        public Builder lastActivityTimeUtc(String lastActivityTimeUtc) {
            return lastActivityTimeUtc(Output.of(lastActivityTimeUtc));
        }

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

        /**
         * @param owner Describes a user that the incident is assigned to
         * 
         * @return builder
         * 
         */
        public Builder owner(IncidentOwnerInfoArgs 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 severity The severity of the incident
         * 
         * @return builder
         * 
         */
        public Builder severity(Output> severity) {
            $.severity = severity;
            return this;
        }

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

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

        /**
         * @param severity The severity of the incident
         * 
         * @return builder
         * 
         */
        public Builder severity(IncidentSeverity severity) {
            return severity(Either.ofRight(severity));
        }

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

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

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

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

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

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

        /**
         * @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 IncidentArgs build() {
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("IncidentArgs", "resourceGroupName");
            }
            if ($.severity == null) {
                throw new MissingRequiredPropertyException("IncidentArgs", "severity");
            }
            if ($.status == null) {
                throw new MissingRequiredPropertyException("IncidentArgs", "status");
            }
            if ($.title == null) {
                throw new MissingRequiredPropertyException("IncidentArgs", "title");
            }
            if ($.workspaceName == null) {
                throw new MissingRequiredPropertyException("IncidentArgs", "workspaceName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy