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

com.pulumi.azurenative.securityinsights.outputs.GetScheduledAlertRuleResult 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.azurenative.securityinsights.outputs;

import com.pulumi.azurenative.securityinsights.outputs.AlertDetailsOverrideResponse;
import com.pulumi.azurenative.securityinsights.outputs.EntityMappingResponse;
import com.pulumi.azurenative.securityinsights.outputs.EventGroupingSettingsResponse;
import com.pulumi.azurenative.securityinsights.outputs.IncidentConfigurationResponse;
import com.pulumi.azurenative.securityinsights.outputs.SystemDataResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class GetScheduledAlertRuleResult {
    /**
     * @return The alert details override settings
     * 
     */
    private @Nullable AlertDetailsOverrideResponse alertDetailsOverride;
    /**
     * @return The Name of the alert rule template used to create this rule.
     * 
     */
    private @Nullable String alertRuleTemplateName;
    /**
     * @return Dictionary of string key-value pairs of columns to be attached to the alert
     * 
     */
    private @Nullable Map customDetails;
    /**
     * @return The description of the alert rule.
     * 
     */
    private @Nullable String description;
    /**
     * @return The display name for alerts created by this alert rule.
     * 
     */
    private String displayName;
    /**
     * @return Determines whether this alert rule is enabled or disabled.
     * 
     */
    private Boolean enabled;
    /**
     * @return Array of the entity mappings of the alert rule
     * 
     */
    private @Nullable List entityMappings;
    /**
     * @return Etag of the azure resource
     * 
     */
    private @Nullable String etag;
    /**
     * @return The event grouping settings.
     * 
     */
    private @Nullable EventGroupingSettingsResponse eventGroupingSettings;
    /**
     * @return Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
     * 
     */
    private String id;
    /**
     * @return The settings of the incidents that created from alerts triggered by this analytics rule
     * 
     */
    private @Nullable IncidentConfigurationResponse incidentConfiguration;
    /**
     * @return The kind of the alert rule
     * Expected value is 'Scheduled'.
     * 
     */
    private String kind;
    /**
     * @return The last time that this alert rule has been modified.
     * 
     */
    private String lastModifiedUtc;
    /**
     * @return The name of the resource
     * 
     */
    private String name;
    /**
     * @return The query that creates alerts for this rule.
     * 
     */
    private String query;
    /**
     * @return The frequency (in ISO 8601 duration format) for this alert rule to run.
     * 
     */
    private String queryFrequency;
    /**
     * @return The period (in ISO 8601 duration format) that this alert rule looks at.
     * 
     */
    private String queryPeriod;
    /**
     * @return The severity for alerts created by this alert rule.
     * 
     */
    private String severity;
    /**
     * @return The suppression (in ISO 8601 duration format) to wait since last time this alert rule been triggered.
     * 
     */
    private String suppressionDuration;
    /**
     * @return Determines whether the suppression for this alert rule is enabled or disabled.
     * 
     */
    private Boolean suppressionEnabled;
    /**
     * @return Azure Resource Manager metadata containing createdBy and modifiedBy information.
     * 
     */
    private SystemDataResponse systemData;
    /**
     * @return The tactics of the alert rule
     * 
     */
    private @Nullable List tactics;
    /**
     * @return The techniques of the alert rule
     * 
     */
    private @Nullable List techniques;
    /**
     * @return The version of the alert rule template used to create this rule - in format <a.b.c>, where all are numbers, for example 0 <1.0.2>
     * 
     */
    private @Nullable String templateVersion;
    /**
     * @return The operation against the threshold that triggers alert rule.
     * 
     */
    private String triggerOperator;
    /**
     * @return The threshold triggers this alert rule.
     * 
     */
    private Integer triggerThreshold;
    /**
     * @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * 
     */
    private String type;

    private GetScheduledAlertRuleResult() {}
    /**
     * @return The alert details override settings
     * 
     */
    public Optional alertDetailsOverride() {
        return Optional.ofNullable(this.alertDetailsOverride);
    }
    /**
     * @return The Name of the alert rule template used to create this rule.
     * 
     */
    public Optional alertRuleTemplateName() {
        return Optional.ofNullable(this.alertRuleTemplateName);
    }
    /**
     * @return Dictionary of string key-value pairs of columns to be attached to the alert
     * 
     */
    public Map customDetails() {
        return this.customDetails == null ? Map.of() : this.customDetails;
    }
    /**
     * @return The description of the alert rule.
     * 
     */
    public Optional description() {
        return Optional.ofNullable(this.description);
    }
    /**
     * @return The display name for alerts created by this alert rule.
     * 
     */
    public String displayName() {
        return this.displayName;
    }
    /**
     * @return Determines whether this alert rule is enabled or disabled.
     * 
     */
    public Boolean enabled() {
        return this.enabled;
    }
    /**
     * @return Array of the entity mappings of the alert rule
     * 
     */
    public List entityMappings() {
        return this.entityMappings == null ? List.of() : this.entityMappings;
    }
    /**
     * @return Etag of the azure resource
     * 
     */
    public Optional etag() {
        return Optional.ofNullable(this.etag);
    }
    /**
     * @return The event grouping settings.
     * 
     */
    public Optional eventGroupingSettings() {
        return Optional.ofNullable(this.eventGroupingSettings);
    }
    /**
     * @return Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return The settings of the incidents that created from alerts triggered by this analytics rule
     * 
     */
    public Optional incidentConfiguration() {
        return Optional.ofNullable(this.incidentConfiguration);
    }
    /**
     * @return The kind of the alert rule
     * Expected value is 'Scheduled'.
     * 
     */
    public String kind() {
        return this.kind;
    }
    /**
     * @return The last time that this alert rule has been modified.
     * 
     */
    public String lastModifiedUtc() {
        return this.lastModifiedUtc;
    }
    /**
     * @return The name of the resource
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return The query that creates alerts for this rule.
     * 
     */
    public String query() {
        return this.query;
    }
    /**
     * @return The frequency (in ISO 8601 duration format) for this alert rule to run.
     * 
     */
    public String queryFrequency() {
        return this.queryFrequency;
    }
    /**
     * @return The period (in ISO 8601 duration format) that this alert rule looks at.
     * 
     */
    public String queryPeriod() {
        return this.queryPeriod;
    }
    /**
     * @return The severity for alerts created by this alert rule.
     * 
     */
    public String severity() {
        return this.severity;
    }
    /**
     * @return The suppression (in ISO 8601 duration format) to wait since last time this alert rule been triggered.
     * 
     */
    public String suppressionDuration() {
        return this.suppressionDuration;
    }
    /**
     * @return Determines whether the suppression for this alert rule is enabled or disabled.
     * 
     */
    public Boolean suppressionEnabled() {
        return this.suppressionEnabled;
    }
    /**
     * @return Azure Resource Manager metadata containing createdBy and modifiedBy information.
     * 
     */
    public SystemDataResponse systemData() {
        return this.systemData;
    }
    /**
     * @return The tactics of the alert rule
     * 
     */
    public List tactics() {
        return this.tactics == null ? List.of() : this.tactics;
    }
    /**
     * @return The techniques of the alert rule
     * 
     */
    public List techniques() {
        return this.techniques == null ? List.of() : this.techniques;
    }
    /**
     * @return The version of the alert rule template used to create this rule - in format <a.b.c>, where all are numbers, for example 0 <1.0.2>
     * 
     */
    public Optional templateVersion() {
        return Optional.ofNullable(this.templateVersion);
    }
    /**
     * @return The operation against the threshold that triggers alert rule.
     * 
     */
    public String triggerOperator() {
        return this.triggerOperator;
    }
    /**
     * @return The threshold triggers this alert rule.
     * 
     */
    public Integer triggerThreshold() {
        return this.triggerThreshold;
    }
    /**
     * @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * 
     */
    public String type() {
        return this.type;
    }

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

    public static Builder builder(GetScheduledAlertRuleResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable AlertDetailsOverrideResponse alertDetailsOverride;
        private @Nullable String alertRuleTemplateName;
        private @Nullable Map customDetails;
        private @Nullable String description;
        private String displayName;
        private Boolean enabled;
        private @Nullable List entityMappings;
        private @Nullable String etag;
        private @Nullable EventGroupingSettingsResponse eventGroupingSettings;
        private String id;
        private @Nullable IncidentConfigurationResponse incidentConfiguration;
        private String kind;
        private String lastModifiedUtc;
        private String name;
        private String query;
        private String queryFrequency;
        private String queryPeriod;
        private String severity;
        private String suppressionDuration;
        private Boolean suppressionEnabled;
        private SystemDataResponse systemData;
        private @Nullable List tactics;
        private @Nullable List techniques;
        private @Nullable String templateVersion;
        private String triggerOperator;
        private Integer triggerThreshold;
        private String type;
        public Builder() {}
        public Builder(GetScheduledAlertRuleResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.alertDetailsOverride = defaults.alertDetailsOverride;
    	      this.alertRuleTemplateName = defaults.alertRuleTemplateName;
    	      this.customDetails = defaults.customDetails;
    	      this.description = defaults.description;
    	      this.displayName = defaults.displayName;
    	      this.enabled = defaults.enabled;
    	      this.entityMappings = defaults.entityMappings;
    	      this.etag = defaults.etag;
    	      this.eventGroupingSettings = defaults.eventGroupingSettings;
    	      this.id = defaults.id;
    	      this.incidentConfiguration = defaults.incidentConfiguration;
    	      this.kind = defaults.kind;
    	      this.lastModifiedUtc = defaults.lastModifiedUtc;
    	      this.name = defaults.name;
    	      this.query = defaults.query;
    	      this.queryFrequency = defaults.queryFrequency;
    	      this.queryPeriod = defaults.queryPeriod;
    	      this.severity = defaults.severity;
    	      this.suppressionDuration = defaults.suppressionDuration;
    	      this.suppressionEnabled = defaults.suppressionEnabled;
    	      this.systemData = defaults.systemData;
    	      this.tactics = defaults.tactics;
    	      this.techniques = defaults.techniques;
    	      this.templateVersion = defaults.templateVersion;
    	      this.triggerOperator = defaults.triggerOperator;
    	      this.triggerThreshold = defaults.triggerThreshold;
    	      this.type = defaults.type;
        }

        @CustomType.Setter
        public Builder alertDetailsOverride(@Nullable AlertDetailsOverrideResponse alertDetailsOverride) {

            this.alertDetailsOverride = alertDetailsOverride;
            return this;
        }
        @CustomType.Setter
        public Builder alertRuleTemplateName(@Nullable String alertRuleTemplateName) {

            this.alertRuleTemplateName = alertRuleTemplateName;
            return this;
        }
        @CustomType.Setter
        public Builder customDetails(@Nullable Map customDetails) {

            this.customDetails = customDetails;
            return this;
        }
        @CustomType.Setter
        public Builder description(@Nullable String description) {

            this.description = description;
            return this;
        }
        @CustomType.Setter
        public Builder displayName(String displayName) {
            if (displayName == null) {
              throw new MissingRequiredPropertyException("GetScheduledAlertRuleResult", "displayName");
            }
            this.displayName = displayName;
            return this;
        }
        @CustomType.Setter
        public Builder enabled(Boolean enabled) {
            if (enabled == null) {
              throw new MissingRequiredPropertyException("GetScheduledAlertRuleResult", "enabled");
            }
            this.enabled = enabled;
            return this;
        }
        @CustomType.Setter
        public Builder entityMappings(@Nullable List entityMappings) {

            this.entityMappings = entityMappings;
            return this;
        }
        public Builder entityMappings(EntityMappingResponse... entityMappings) {
            return entityMappings(List.of(entityMappings));
        }
        @CustomType.Setter
        public Builder etag(@Nullable String etag) {

            this.etag = etag;
            return this;
        }
        @CustomType.Setter
        public Builder eventGroupingSettings(@Nullable EventGroupingSettingsResponse eventGroupingSettings) {

            this.eventGroupingSettings = eventGroupingSettings;
            return this;
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetScheduledAlertRuleResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder incidentConfiguration(@Nullable IncidentConfigurationResponse incidentConfiguration) {

            this.incidentConfiguration = incidentConfiguration;
            return this;
        }
        @CustomType.Setter
        public Builder kind(String kind) {
            if (kind == null) {
              throw new MissingRequiredPropertyException("GetScheduledAlertRuleResult", "kind");
            }
            this.kind = kind;
            return this;
        }
        @CustomType.Setter
        public Builder lastModifiedUtc(String lastModifiedUtc) {
            if (lastModifiedUtc == null) {
              throw new MissingRequiredPropertyException("GetScheduledAlertRuleResult", "lastModifiedUtc");
            }
            this.lastModifiedUtc = lastModifiedUtc;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetScheduledAlertRuleResult", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder query(String query) {
            if (query == null) {
              throw new MissingRequiredPropertyException("GetScheduledAlertRuleResult", "query");
            }
            this.query = query;
            return this;
        }
        @CustomType.Setter
        public Builder queryFrequency(String queryFrequency) {
            if (queryFrequency == null) {
              throw new MissingRequiredPropertyException("GetScheduledAlertRuleResult", "queryFrequency");
            }
            this.queryFrequency = queryFrequency;
            return this;
        }
        @CustomType.Setter
        public Builder queryPeriod(String queryPeriod) {
            if (queryPeriod == null) {
              throw new MissingRequiredPropertyException("GetScheduledAlertRuleResult", "queryPeriod");
            }
            this.queryPeriod = queryPeriod;
            return this;
        }
        @CustomType.Setter
        public Builder severity(String severity) {
            if (severity == null) {
              throw new MissingRequiredPropertyException("GetScheduledAlertRuleResult", "severity");
            }
            this.severity = severity;
            return this;
        }
        @CustomType.Setter
        public Builder suppressionDuration(String suppressionDuration) {
            if (suppressionDuration == null) {
              throw new MissingRequiredPropertyException("GetScheduledAlertRuleResult", "suppressionDuration");
            }
            this.suppressionDuration = suppressionDuration;
            return this;
        }
        @CustomType.Setter
        public Builder suppressionEnabled(Boolean suppressionEnabled) {
            if (suppressionEnabled == null) {
              throw new MissingRequiredPropertyException("GetScheduledAlertRuleResult", "suppressionEnabled");
            }
            this.suppressionEnabled = suppressionEnabled;
            return this;
        }
        @CustomType.Setter
        public Builder systemData(SystemDataResponse systemData) {
            if (systemData == null) {
              throw new MissingRequiredPropertyException("GetScheduledAlertRuleResult", "systemData");
            }
            this.systemData = systemData;
            return this;
        }
        @CustomType.Setter
        public Builder tactics(@Nullable List tactics) {

            this.tactics = tactics;
            return this;
        }
        public Builder tactics(String... tactics) {
            return tactics(List.of(tactics));
        }
        @CustomType.Setter
        public Builder techniques(@Nullable List techniques) {

            this.techniques = techniques;
            return this;
        }
        public Builder techniques(String... techniques) {
            return techniques(List.of(techniques));
        }
        @CustomType.Setter
        public Builder templateVersion(@Nullable String templateVersion) {

            this.templateVersion = templateVersion;
            return this;
        }
        @CustomType.Setter
        public Builder triggerOperator(String triggerOperator) {
            if (triggerOperator == null) {
              throw new MissingRequiredPropertyException("GetScheduledAlertRuleResult", "triggerOperator");
            }
            this.triggerOperator = triggerOperator;
            return this;
        }
        @CustomType.Setter
        public Builder triggerThreshold(Integer triggerThreshold) {
            if (triggerThreshold == null) {
              throw new MissingRequiredPropertyException("GetScheduledAlertRuleResult", "triggerThreshold");
            }
            this.triggerThreshold = triggerThreshold;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("GetScheduledAlertRuleResult", "type");
            }
            this.type = type;
            return this;
        }
        public GetScheduledAlertRuleResult build() {
            final var _resultValue = new GetScheduledAlertRuleResult();
            _resultValue.alertDetailsOverride = alertDetailsOverride;
            _resultValue.alertRuleTemplateName = alertRuleTemplateName;
            _resultValue.customDetails = customDetails;
            _resultValue.description = description;
            _resultValue.displayName = displayName;
            _resultValue.enabled = enabled;
            _resultValue.entityMappings = entityMappings;
            _resultValue.etag = etag;
            _resultValue.eventGroupingSettings = eventGroupingSettings;
            _resultValue.id = id;
            _resultValue.incidentConfiguration = incidentConfiguration;
            _resultValue.kind = kind;
            _resultValue.lastModifiedUtc = lastModifiedUtc;
            _resultValue.name = name;
            _resultValue.query = query;
            _resultValue.queryFrequency = queryFrequency;
            _resultValue.queryPeriod = queryPeriod;
            _resultValue.severity = severity;
            _resultValue.suppressionDuration = suppressionDuration;
            _resultValue.suppressionEnabled = suppressionEnabled;
            _resultValue.systemData = systemData;
            _resultValue.tactics = tactics;
            _resultValue.techniques = techniques;
            _resultValue.templateVersion = templateVersion;
            _resultValue.triggerOperator = triggerOperator;
            _resultValue.triggerThreshold = triggerThreshold;
            _resultValue.type = type;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy