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

com.pulumi.azure.monitoring.inputs.ActivityLogAlertCriteriaArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.azure.monitoring.inputs;

import com.pulumi.azure.monitoring.inputs.ActivityLogAlertCriteriaResourceHealthArgs;
import com.pulumi.azure.monitoring.inputs.ActivityLogAlertCriteriaServiceHealthArgs;
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 ActivityLogAlertCriteriaArgs extends com.pulumi.resources.ResourceArgs {

    public static final ActivityLogAlertCriteriaArgs Empty = new ActivityLogAlertCriteriaArgs();

    /**
     * The email address or Azure Active Directory identifier of the user who performed the operation.
     * 
     */
    @Import(name="caller")
    private @Nullable Output caller;

    /**
     * @return The email address or Azure Active Directory identifier of the user who performed the operation.
     * 
     */
    public Optional> caller() {
        return Optional.ofNullable(this.caller);
    }

    /**
     * The category of the operation. Possible values are `Administrative`, `Autoscale`, `Policy`, `Recommendation`, `ResourceHealth`, `Security` and `ServiceHealth`.
     * 
     */
    @Import(name="category", required=true)
    private Output category;

    /**
     * @return The category of the operation. Possible values are `Administrative`, `Autoscale`, `Policy`, `Recommendation`, `ResourceHealth`, `Security` and `ServiceHealth`.
     * 
     */
    public Output category() {
        return this.category;
    }

    /**
     * The severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
     * 
     */
    @Import(name="level")
    private @Nullable Output level;

    /**
     * @return The severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
     * 
     */
    public Optional> level() {
        return Optional.ofNullable(this.level);
    }

    /**
     * A list of severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
     * 
     * > **NOTE:** `level` and `levels` are mutually exclusive.
     * 
     */
    @Import(name="levels")
    private @Nullable Output> levels;

    /**
     * @return A list of severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
     * 
     * > **NOTE:** `level` and `levels` are mutually exclusive.
     * 
     */
    public Optional>> levels() {
        return Optional.ofNullable(this.levels);
    }

    /**
     * The Resource Manager Role-Based Access Control operation name. Supported operation should be of the form: `<resourceProvider>/<resourceType>/<operation>`.
     * 
     */
    @Import(name="operationName")
    private @Nullable Output operationName;

    /**
     * @return The Resource Manager Role-Based Access Control operation name. Supported operation should be of the form: `<resourceProvider>/<resourceType>/<operation>`.
     * 
     */
    public Optional> operationName() {
        return Optional.ofNullable(this.operationName);
    }

    /**
     * The recommendation category of the event. Possible values are `Cost`, `Reliability`, `OperationalExcellence`, `HighAvailability` and `Performance`. It is only allowed when `category` is `Recommendation`.
     * 
     */
    @Import(name="recommendationCategory")
    private @Nullable Output recommendationCategory;

    /**
     * @return The recommendation category of the event. Possible values are `Cost`, `Reliability`, `OperationalExcellence`, `HighAvailability` and `Performance`. It is only allowed when `category` is `Recommendation`.
     * 
     */
    public Optional> recommendationCategory() {
        return Optional.ofNullable(this.recommendationCategory);
    }

    /**
     * The recommendation impact of the event. Possible values are `High`, `Medium` and `Low`. It is only allowed when `category` is `Recommendation`.
     * 
     */
    @Import(name="recommendationImpact")
    private @Nullable Output recommendationImpact;

    /**
     * @return The recommendation impact of the event. Possible values are `High`, `Medium` and `Low`. It is only allowed when `category` is `Recommendation`.
     * 
     */
    public Optional> recommendationImpact() {
        return Optional.ofNullable(this.recommendationImpact);
    }

    /**
     * The recommendation type of the event. It is only allowed when `category` is `Recommendation`.
     * 
     */
    @Import(name="recommendationType")
    private @Nullable Output recommendationType;

    /**
     * @return The recommendation type of the event. It is only allowed when `category` is `Recommendation`.
     * 
     */
    public Optional> recommendationType() {
        return Optional.ofNullable(this.recommendationType);
    }

    /**
     * The name of resource group monitored by the activity log alert.
     * 
     */
    @Import(name="resourceGroup")
    private @Nullable Output resourceGroup;

    /**
     * @return The name of resource group monitored by the activity log alert.
     * 
     */
    public Optional> resourceGroup() {
        return Optional.ofNullable(this.resourceGroup);
    }

    /**
     * A list of names of resource groups monitored by the activity log alert.
     * 
     * > **NOTE:** `resource_group` and `resource_groups` are mutually exclusive.
     * 
     */
    @Import(name="resourceGroups")
    private @Nullable Output> resourceGroups;

    /**
     * @return A list of names of resource groups monitored by the activity log alert.
     * 
     * > **NOTE:** `resource_group` and `resource_groups` are mutually exclusive.
     * 
     */
    public Optional>> resourceGroups() {
        return Optional.ofNullable(this.resourceGroups);
    }

    /**
     * A block to define fine grain resource health settings.
     * 
     */
    @Import(name="resourceHealth")
    private @Nullable Output resourceHealth;

    /**
     * @return A block to define fine grain resource health settings.
     * 
     */
    public Optional> resourceHealth() {
        return Optional.ofNullable(this.resourceHealth);
    }

    /**
     * The specific resource monitored by the activity log alert. It should be within one of the `scopes`.
     * 
     */
    @Import(name="resourceId")
    private @Nullable Output resourceId;

    /**
     * @return The specific resource monitored by the activity log alert. It should be within one of the `scopes`.
     * 
     */
    public Optional> resourceId() {
        return Optional.ofNullable(this.resourceId);
    }

    /**
     * A list of specific resources monitored by the activity log alert. It should be within one of the `scopes`.
     * 
     * > **NOTE:** `resource_id` and `resource_ids` are mutually exclusive.
     * 
     */
    @Import(name="resourceIds")
    private @Nullable Output> resourceIds;

    /**
     * @return A list of specific resources monitored by the activity log alert. It should be within one of the `scopes`.
     * 
     * > **NOTE:** `resource_id` and `resource_ids` are mutually exclusive.
     * 
     */
    public Optional>> resourceIds() {
        return Optional.ofNullable(this.resourceIds);
    }

    /**
     * The name of the resource provider monitored by the activity log alert.
     * 
     */
    @Import(name="resourceProvider")
    private @Nullable Output resourceProvider;

    /**
     * @return The name of the resource provider monitored by the activity log alert.
     * 
     */
    public Optional> resourceProvider() {
        return Optional.ofNullable(this.resourceProvider);
    }

    /**
     * A list of names of resource providers monitored by the activity log alert.
     * 
     * > **NOTE:** `resource_provider` and `resource_providers` are mutually exclusive.
     * 
     */
    @Import(name="resourceProviders")
    private @Nullable Output> resourceProviders;

    /**
     * @return A list of names of resource providers monitored by the activity log alert.
     * 
     * > **NOTE:** `resource_provider` and `resource_providers` are mutually exclusive.
     * 
     */
    public Optional>> resourceProviders() {
        return Optional.ofNullable(this.resourceProviders);
    }

    /**
     * The resource type monitored by the activity log alert.
     * 
     */
    @Import(name="resourceType")
    private @Nullable Output resourceType;

    /**
     * @return The resource type monitored by the activity log alert.
     * 
     */
    public Optional> resourceType() {
        return Optional.ofNullable(this.resourceType);
    }

    /**
     * A list of resource types monitored by the activity log alert.
     * 
     * > **NOTE:** `resource_type` and `resource_types` are mutually exclusive.
     * 
     */
    @Import(name="resourceTypes")
    private @Nullable Output> resourceTypes;

    /**
     * @return A list of resource types monitored by the activity log alert.
     * 
     * > **NOTE:** `resource_type` and `resource_types` are mutually exclusive.
     * 
     */
    public Optional>> resourceTypes() {
        return Optional.ofNullable(this.resourceTypes);
    }

    /**
     * A block to define fine grain service health settings.
     * 
     */
    @Import(name="serviceHealth")
    private @Nullable Output serviceHealth;

    /**
     * @return A block to define fine grain service health settings.
     * 
     */
    public Optional> serviceHealth() {
        return Optional.ofNullable(this.serviceHealth);
    }

    /**
     * The status of the event. For example, `Started`, `Failed`, or `Succeeded`.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return The status of the event. For example, `Started`, `Failed`, or `Succeeded`.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * A list of status of the event. For example, `Started`, `Failed`, or `Succeeded`.
     * 
     * > **NOTE:** `status` and `statuses` are mutually exclusive.
     * 
     */
    @Import(name="statuses")
    private @Nullable Output> statuses;

    /**
     * @return A list of status of the event. For example, `Started`, `Failed`, or `Succeeded`.
     * 
     * > **NOTE:** `status` and `statuses` are mutually exclusive.
     * 
     */
    public Optional>> statuses() {
        return Optional.ofNullable(this.statuses);
    }

    /**
     * The sub status of the event.
     * 
     */
    @Import(name="subStatus")
    private @Nullable Output subStatus;

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

    /**
     * A list of sub status of the event.
     * 
     * > **NOTE:** `sub_status` and `sub_statuses` are mutually exclusive.
     * 
     */
    @Import(name="subStatuses")
    private @Nullable Output> subStatuses;

    /**
     * @return A list of sub status of the event.
     * 
     * > **NOTE:** `sub_status` and `sub_statuses` are mutually exclusive.
     * 
     */
    public Optional>> subStatuses() {
        return Optional.ofNullable(this.subStatuses);
    }

    private ActivityLogAlertCriteriaArgs() {}

    private ActivityLogAlertCriteriaArgs(ActivityLogAlertCriteriaArgs $) {
        this.caller = $.caller;
        this.category = $.category;
        this.level = $.level;
        this.levels = $.levels;
        this.operationName = $.operationName;
        this.recommendationCategory = $.recommendationCategory;
        this.recommendationImpact = $.recommendationImpact;
        this.recommendationType = $.recommendationType;
        this.resourceGroup = $.resourceGroup;
        this.resourceGroups = $.resourceGroups;
        this.resourceHealth = $.resourceHealth;
        this.resourceId = $.resourceId;
        this.resourceIds = $.resourceIds;
        this.resourceProvider = $.resourceProvider;
        this.resourceProviders = $.resourceProviders;
        this.resourceType = $.resourceType;
        this.resourceTypes = $.resourceTypes;
        this.serviceHealth = $.serviceHealth;
        this.status = $.status;
        this.statuses = $.statuses;
        this.subStatus = $.subStatus;
        this.subStatuses = $.subStatuses;
    }

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

    public static final class Builder {
        private ActivityLogAlertCriteriaArgs $;

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

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

        /**
         * @param caller The email address or Azure Active Directory identifier of the user who performed the operation.
         * 
         * @return builder
         * 
         */
        public Builder caller(@Nullable Output caller) {
            $.caller = caller;
            return this;
        }

        /**
         * @param caller The email address or Azure Active Directory identifier of the user who performed the operation.
         * 
         * @return builder
         * 
         */
        public Builder caller(String caller) {
            return caller(Output.of(caller));
        }

        /**
         * @param category The category of the operation. Possible values are `Administrative`, `Autoscale`, `Policy`, `Recommendation`, `ResourceHealth`, `Security` and `ServiceHealth`.
         * 
         * @return builder
         * 
         */
        public Builder category(Output category) {
            $.category = category;
            return this;
        }

        /**
         * @param category The category of the operation. Possible values are `Administrative`, `Autoscale`, `Policy`, `Recommendation`, `ResourceHealth`, `Security` and `ServiceHealth`.
         * 
         * @return builder
         * 
         */
        public Builder category(String category) {
            return category(Output.of(category));
        }

        /**
         * @param level The severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
         * 
         * @return builder
         * 
         */
        public Builder level(@Nullable Output level) {
            $.level = level;
            return this;
        }

        /**
         * @param level The severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
         * 
         * @return builder
         * 
         */
        public Builder level(String level) {
            return level(Output.of(level));
        }

        /**
         * @param levels A list of severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
         * 
         * > **NOTE:** `level` and `levels` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder levels(@Nullable Output> levels) {
            $.levels = levels;
            return this;
        }

        /**
         * @param levels A list of severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
         * 
         * > **NOTE:** `level` and `levels` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder levels(List levels) {
            return levels(Output.of(levels));
        }

        /**
         * @param levels A list of severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
         * 
         * > **NOTE:** `level` and `levels` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder levels(String... levels) {
            return levels(List.of(levels));
        }

        /**
         * @param operationName The Resource Manager Role-Based Access Control operation name. Supported operation should be of the form: `<resourceProvider>/<resourceType>/<operation>`.
         * 
         * @return builder
         * 
         */
        public Builder operationName(@Nullable Output operationName) {
            $.operationName = operationName;
            return this;
        }

        /**
         * @param operationName The Resource Manager Role-Based Access Control operation name. Supported operation should be of the form: `<resourceProvider>/<resourceType>/<operation>`.
         * 
         * @return builder
         * 
         */
        public Builder operationName(String operationName) {
            return operationName(Output.of(operationName));
        }

        /**
         * @param recommendationCategory The recommendation category of the event. Possible values are `Cost`, `Reliability`, `OperationalExcellence`, `HighAvailability` and `Performance`. It is only allowed when `category` is `Recommendation`.
         * 
         * @return builder
         * 
         */
        public Builder recommendationCategory(@Nullable Output recommendationCategory) {
            $.recommendationCategory = recommendationCategory;
            return this;
        }

        /**
         * @param recommendationCategory The recommendation category of the event. Possible values are `Cost`, `Reliability`, `OperationalExcellence`, `HighAvailability` and `Performance`. It is only allowed when `category` is `Recommendation`.
         * 
         * @return builder
         * 
         */
        public Builder recommendationCategory(String recommendationCategory) {
            return recommendationCategory(Output.of(recommendationCategory));
        }

        /**
         * @param recommendationImpact The recommendation impact of the event. Possible values are `High`, `Medium` and `Low`. It is only allowed when `category` is `Recommendation`.
         * 
         * @return builder
         * 
         */
        public Builder recommendationImpact(@Nullable Output recommendationImpact) {
            $.recommendationImpact = recommendationImpact;
            return this;
        }

        /**
         * @param recommendationImpact The recommendation impact of the event. Possible values are `High`, `Medium` and `Low`. It is only allowed when `category` is `Recommendation`.
         * 
         * @return builder
         * 
         */
        public Builder recommendationImpact(String recommendationImpact) {
            return recommendationImpact(Output.of(recommendationImpact));
        }

        /**
         * @param recommendationType The recommendation type of the event. It is only allowed when `category` is `Recommendation`.
         * 
         * @return builder
         * 
         */
        public Builder recommendationType(@Nullable Output recommendationType) {
            $.recommendationType = recommendationType;
            return this;
        }

        /**
         * @param recommendationType The recommendation type of the event. It is only allowed when `category` is `Recommendation`.
         * 
         * @return builder
         * 
         */
        public Builder recommendationType(String recommendationType) {
            return recommendationType(Output.of(recommendationType));
        }

        /**
         * @param resourceGroup The name of resource group monitored by the activity log alert.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroup(@Nullable Output resourceGroup) {
            $.resourceGroup = resourceGroup;
            return this;
        }

        /**
         * @param resourceGroup The name of resource group monitored by the activity log alert.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroup(String resourceGroup) {
            return resourceGroup(Output.of(resourceGroup));
        }

        /**
         * @param resourceGroups A list of names of resource groups monitored by the activity log alert.
         * 
         * > **NOTE:** `resource_group` and `resource_groups` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroups(@Nullable Output> resourceGroups) {
            $.resourceGroups = resourceGroups;
            return this;
        }

        /**
         * @param resourceGroups A list of names of resource groups monitored by the activity log alert.
         * 
         * > **NOTE:** `resource_group` and `resource_groups` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroups(List resourceGroups) {
            return resourceGroups(Output.of(resourceGroups));
        }

        /**
         * @param resourceGroups A list of names of resource groups monitored by the activity log alert.
         * 
         * > **NOTE:** `resource_group` and `resource_groups` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroups(String... resourceGroups) {
            return resourceGroups(List.of(resourceGroups));
        }

        /**
         * @param resourceHealth A block to define fine grain resource health settings.
         * 
         * @return builder
         * 
         */
        public Builder resourceHealth(@Nullable Output resourceHealth) {
            $.resourceHealth = resourceHealth;
            return this;
        }

        /**
         * @param resourceHealth A block to define fine grain resource health settings.
         * 
         * @return builder
         * 
         */
        public Builder resourceHealth(ActivityLogAlertCriteriaResourceHealthArgs resourceHealth) {
            return resourceHealth(Output.of(resourceHealth));
        }

        /**
         * @param resourceId The specific resource monitored by the activity log alert. It should be within one of the `scopes`.
         * 
         * @return builder
         * 
         */
        public Builder resourceId(@Nullable Output resourceId) {
            $.resourceId = resourceId;
            return this;
        }

        /**
         * @param resourceId The specific resource monitored by the activity log alert. It should be within one of the `scopes`.
         * 
         * @return builder
         * 
         */
        public Builder resourceId(String resourceId) {
            return resourceId(Output.of(resourceId));
        }

        /**
         * @param resourceIds A list of specific resources monitored by the activity log alert. It should be within one of the `scopes`.
         * 
         * > **NOTE:** `resource_id` and `resource_ids` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder resourceIds(@Nullable Output> resourceIds) {
            $.resourceIds = resourceIds;
            return this;
        }

        /**
         * @param resourceIds A list of specific resources monitored by the activity log alert. It should be within one of the `scopes`.
         * 
         * > **NOTE:** `resource_id` and `resource_ids` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder resourceIds(List resourceIds) {
            return resourceIds(Output.of(resourceIds));
        }

        /**
         * @param resourceIds A list of specific resources monitored by the activity log alert. It should be within one of the `scopes`.
         * 
         * > **NOTE:** `resource_id` and `resource_ids` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder resourceIds(String... resourceIds) {
            return resourceIds(List.of(resourceIds));
        }

        /**
         * @param resourceProvider The name of the resource provider monitored by the activity log alert.
         * 
         * @return builder
         * 
         */
        public Builder resourceProvider(@Nullable Output resourceProvider) {
            $.resourceProvider = resourceProvider;
            return this;
        }

        /**
         * @param resourceProvider The name of the resource provider monitored by the activity log alert.
         * 
         * @return builder
         * 
         */
        public Builder resourceProvider(String resourceProvider) {
            return resourceProvider(Output.of(resourceProvider));
        }

        /**
         * @param resourceProviders A list of names of resource providers monitored by the activity log alert.
         * 
         * > **NOTE:** `resource_provider` and `resource_providers` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder resourceProviders(@Nullable Output> resourceProviders) {
            $.resourceProviders = resourceProviders;
            return this;
        }

        /**
         * @param resourceProviders A list of names of resource providers monitored by the activity log alert.
         * 
         * > **NOTE:** `resource_provider` and `resource_providers` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder resourceProviders(List resourceProviders) {
            return resourceProviders(Output.of(resourceProviders));
        }

        /**
         * @param resourceProviders A list of names of resource providers monitored by the activity log alert.
         * 
         * > **NOTE:** `resource_provider` and `resource_providers` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder resourceProviders(String... resourceProviders) {
            return resourceProviders(List.of(resourceProviders));
        }

        /**
         * @param resourceType The resource type monitored by the activity log alert.
         * 
         * @return builder
         * 
         */
        public Builder resourceType(@Nullable Output resourceType) {
            $.resourceType = resourceType;
            return this;
        }

        /**
         * @param resourceType The resource type monitored by the activity log alert.
         * 
         * @return builder
         * 
         */
        public Builder resourceType(String resourceType) {
            return resourceType(Output.of(resourceType));
        }

        /**
         * @param resourceTypes A list of resource types monitored by the activity log alert.
         * 
         * > **NOTE:** `resource_type` and `resource_types` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder resourceTypes(@Nullable Output> resourceTypes) {
            $.resourceTypes = resourceTypes;
            return this;
        }

        /**
         * @param resourceTypes A list of resource types monitored by the activity log alert.
         * 
         * > **NOTE:** `resource_type` and `resource_types` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder resourceTypes(List resourceTypes) {
            return resourceTypes(Output.of(resourceTypes));
        }

        /**
         * @param resourceTypes A list of resource types monitored by the activity log alert.
         * 
         * > **NOTE:** `resource_type` and `resource_types` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder resourceTypes(String... resourceTypes) {
            return resourceTypes(List.of(resourceTypes));
        }

        /**
         * @param serviceHealth A block to define fine grain service health settings.
         * 
         * @return builder
         * 
         */
        public Builder serviceHealth(@Nullable Output serviceHealth) {
            $.serviceHealth = serviceHealth;
            return this;
        }

        /**
         * @param serviceHealth A block to define fine grain service health settings.
         * 
         * @return builder
         * 
         */
        public Builder serviceHealth(ActivityLogAlertCriteriaServiceHealthArgs serviceHealth) {
            return serviceHealth(Output.of(serviceHealth));
        }

        /**
         * @param status The status of the event. For example, `Started`, `Failed`, or `Succeeded`.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status The status of the event. For example, `Started`, `Failed`, or `Succeeded`.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        /**
         * @param statuses A list of status of the event. For example, `Started`, `Failed`, or `Succeeded`.
         * 
         * > **NOTE:** `status` and `statuses` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder statuses(@Nullable Output> statuses) {
            $.statuses = statuses;
            return this;
        }

        /**
         * @param statuses A list of status of the event. For example, `Started`, `Failed`, or `Succeeded`.
         * 
         * > **NOTE:** `status` and `statuses` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder statuses(List statuses) {
            return statuses(Output.of(statuses));
        }

        /**
         * @param statuses A list of status of the event. For example, `Started`, `Failed`, or `Succeeded`.
         * 
         * > **NOTE:** `status` and `statuses` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder statuses(String... statuses) {
            return statuses(List.of(statuses));
        }

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

        /**
         * @param subStatus The sub status of the event.
         * 
         * @return builder
         * 
         */
        public Builder subStatus(String subStatus) {
            return subStatus(Output.of(subStatus));
        }

        /**
         * @param subStatuses A list of sub status of the event.
         * 
         * > **NOTE:** `sub_status` and `sub_statuses` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder subStatuses(@Nullable Output> subStatuses) {
            $.subStatuses = subStatuses;
            return this;
        }

        /**
         * @param subStatuses A list of sub status of the event.
         * 
         * > **NOTE:** `sub_status` and `sub_statuses` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder subStatuses(List subStatuses) {
            return subStatuses(Output.of(subStatuses));
        }

        /**
         * @param subStatuses A list of sub status of the event.
         * 
         * > **NOTE:** `sub_status` and `sub_statuses` are mutually exclusive.
         * 
         * @return builder
         * 
         */
        public Builder subStatuses(String... subStatuses) {
            return subStatuses(List.of(subStatuses));
        }

        public ActivityLogAlertCriteriaArgs build() {
            if ($.category == null) {
                throw new MissingRequiredPropertyException("ActivityLogAlertCriteriaArgs", "category");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy