com.azure.resourcemanager.securityinsights.models.NrtAlertRuleTemplate Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-resourcemanager-securityinsights Show documentation
Show all versions of azure-resourcemanager-securityinsights Show documentation
This package contains Microsoft Azure SDK for SecurityInsights Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider. Package tag package-preview-2022-09.
The newest version!
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.
package com.azure.resourcemanager.securityinsights.models;
import com.azure.core.annotation.Fluent;
import com.azure.core.management.SystemData;
import com.azure.json.JsonReader;
import com.azure.json.JsonToken;
import com.azure.json.JsonWriter;
import com.azure.resourcemanager.securityinsights.fluent.models.AlertRuleTemplateInner;
import com.azure.resourcemanager.securityinsights.fluent.models.NrtAlertRuleTemplateProperties;
import java.io.IOException;
import java.time.OffsetDateTime;
import java.util.List;
import java.util.Map;
/**
* Represents NRT alert rule template.
*/
@Fluent
public final class NrtAlertRuleTemplate extends AlertRuleTemplateInner {
/*
* The kind of the alert rule
*/
private AlertRuleKind kind = AlertRuleKind.NRT;
/*
* NRT alert rule template properties
*/
private NrtAlertRuleTemplateProperties innerProperties;
/*
* Azure Resource Manager metadata containing createdBy and modifiedBy information.
*/
private SystemData systemData;
/*
* The type of the resource.
*/
private String type;
/*
* The name of the resource.
*/
private String name;
/*
* Fully qualified resource Id for the resource.
*/
private String id;
/**
* Creates an instance of NrtAlertRuleTemplate class.
*/
public NrtAlertRuleTemplate() {
}
/**
* Get the kind property: The kind of the alert rule.
*
* @return the kind value.
*/
@Override
public AlertRuleKind kind() {
return this.kind;
}
/**
* Get the innerProperties property: NRT alert rule template properties.
*
* @return the innerProperties value.
*/
private NrtAlertRuleTemplateProperties innerProperties() {
return this.innerProperties;
}
/**
* Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
*
* @return the systemData value.
*/
@Override
public SystemData systemData() {
return this.systemData;
}
/**
* Get the type property: The type of the resource.
*
* @return the type value.
*/
@Override
public String type() {
return this.type;
}
/**
* Get the name property: The name of the resource.
*
* @return the name value.
*/
@Override
public String name() {
return this.name;
}
/**
* Get the id property: Fully qualified resource Id for the resource.
*
* @return the id value.
*/
@Override
public String id() {
return this.id;
}
/**
* Get the query property: The query that creates alerts for this rule.
*
* @return the query value.
*/
public String query() {
return this.innerProperties() == null ? null : this.innerProperties().query();
}
/**
* Set the query property: The query that creates alerts for this rule.
*
* @param query the query value to set.
* @return the NrtAlertRuleTemplate object itself.
*/
public NrtAlertRuleTemplate withQuery(String query) {
if (this.innerProperties() == null) {
this.innerProperties = new NrtAlertRuleTemplateProperties();
}
this.innerProperties().withQuery(query);
return this;
}
/**
* Get the severity property: The severity for alerts created by this alert rule.
*
* @return the severity value.
*/
public AlertSeverity severity() {
return this.innerProperties() == null ? null : this.innerProperties().severity();
}
/**
* Set the severity property: The severity for alerts created by this alert rule.
*
* @param severity the severity value to set.
* @return the NrtAlertRuleTemplate object itself.
*/
public NrtAlertRuleTemplate withSeverity(AlertSeverity severity) {
if (this.innerProperties() == null) {
this.innerProperties = new NrtAlertRuleTemplateProperties();
}
this.innerProperties().withSeverity(severity);
return this;
}
/**
* Get the version property: The version of this template - in format <a.b.c>, where all are numbers. For
* example <1.0.2>.
*
* @return the version value.
*/
public String version() {
return this.innerProperties() == null ? null : this.innerProperties().version();
}
/**
* Set the version property: The version of this template - in format <a.b.c>, where all are numbers. For
* example <1.0.2>.
*
* @param version the version value to set.
* @return the NrtAlertRuleTemplate object itself.
*/
public NrtAlertRuleTemplate withVersion(String version) {
if (this.innerProperties() == null) {
this.innerProperties = new NrtAlertRuleTemplateProperties();
}
this.innerProperties().withVersion(version);
return this;
}
/**
* Get the customDetails property: Dictionary of string key-value pairs of columns to be attached to the alert.
*
* @return the customDetails value.
*/
public Map customDetails() {
return this.innerProperties() == null ? null : this.innerProperties().customDetails();
}
/**
* Set the customDetails property: Dictionary of string key-value pairs of columns to be attached to the alert.
*
* @param customDetails the customDetails value to set.
* @return the NrtAlertRuleTemplate object itself.
*/
public NrtAlertRuleTemplate withCustomDetails(Map customDetails) {
if (this.innerProperties() == null) {
this.innerProperties = new NrtAlertRuleTemplateProperties();
}
this.innerProperties().withCustomDetails(customDetails);
return this;
}
/**
* Get the entityMappings property: Array of the entity mappings of the alert rule.
*
* @return the entityMappings value.
*/
public List entityMappings() {
return this.innerProperties() == null ? null : this.innerProperties().entityMappings();
}
/**
* Set the entityMappings property: Array of the entity mappings of the alert rule.
*
* @param entityMappings the entityMappings value to set.
* @return the NrtAlertRuleTemplate object itself.
*/
public NrtAlertRuleTemplate withEntityMappings(List entityMappings) {
if (this.innerProperties() == null) {
this.innerProperties = new NrtAlertRuleTemplateProperties();
}
this.innerProperties().withEntityMappings(entityMappings);
return this;
}
/**
* Get the alertDetailsOverride property: The alert details override settings.
*
* @return the alertDetailsOverride value.
*/
public AlertDetailsOverride alertDetailsOverride() {
return this.innerProperties() == null ? null : this.innerProperties().alertDetailsOverride();
}
/**
* Set the alertDetailsOverride property: The alert details override settings.
*
* @param alertDetailsOverride the alertDetailsOverride value to set.
* @return the NrtAlertRuleTemplate object itself.
*/
public NrtAlertRuleTemplate withAlertDetailsOverride(AlertDetailsOverride alertDetailsOverride) {
if (this.innerProperties() == null) {
this.innerProperties = new NrtAlertRuleTemplateProperties();
}
this.innerProperties().withAlertDetailsOverride(alertDetailsOverride);
return this;
}
/**
* Get the eventGroupingSettings property: The event grouping settings.
*
* @return the eventGroupingSettings value.
*/
public EventGroupingSettings eventGroupingSettings() {
return this.innerProperties() == null ? null : this.innerProperties().eventGroupingSettings();
}
/**
* Set the eventGroupingSettings property: The event grouping settings.
*
* @param eventGroupingSettings the eventGroupingSettings value to set.
* @return the NrtAlertRuleTemplate object itself.
*/
public NrtAlertRuleTemplate withEventGroupingSettings(EventGroupingSettings eventGroupingSettings) {
if (this.innerProperties() == null) {
this.innerProperties = new NrtAlertRuleTemplateProperties();
}
this.innerProperties().withEventGroupingSettings(eventGroupingSettings);
return this;
}
/**
* Get the tactics property: The tactics of the alert rule.
*
* @return the tactics value.
*/
public List tactics() {
return this.innerProperties() == null ? null : this.innerProperties().tactics();
}
/**
* Set the tactics property: The tactics of the alert rule.
*
* @param tactics the tactics value to set.
* @return the NrtAlertRuleTemplate object itself.
*/
public NrtAlertRuleTemplate withTactics(List tactics) {
if (this.innerProperties() == null) {
this.innerProperties = new NrtAlertRuleTemplateProperties();
}
this.innerProperties().withTactics(tactics);
return this;
}
/**
* Get the techniques property: The techniques of the alert rule.
*
* @return the techniques value.
*/
public List techniques() {
return this.innerProperties() == null ? null : this.innerProperties().techniques();
}
/**
* Set the techniques property: The techniques of the alert rule.
*
* @param techniques the techniques value to set.
* @return the NrtAlertRuleTemplate object itself.
*/
public NrtAlertRuleTemplate withTechniques(List techniques) {
if (this.innerProperties() == null) {
this.innerProperties = new NrtAlertRuleTemplateProperties();
}
this.innerProperties().withTechniques(techniques);
return this;
}
/**
* Get the alertRulesCreatedByTemplateCount property: the number of alert rules that were created by this template.
*
* @return the alertRulesCreatedByTemplateCount value.
*/
public Integer alertRulesCreatedByTemplateCount() {
return this.innerProperties() == null ? null : this.innerProperties().alertRulesCreatedByTemplateCount();
}
/**
* Set the alertRulesCreatedByTemplateCount property: the number of alert rules that were created by this template.
*
* @param alertRulesCreatedByTemplateCount the alertRulesCreatedByTemplateCount value to set.
* @return the NrtAlertRuleTemplate object itself.
*/
public NrtAlertRuleTemplate withAlertRulesCreatedByTemplateCount(Integer alertRulesCreatedByTemplateCount) {
if (this.innerProperties() == null) {
this.innerProperties = new NrtAlertRuleTemplateProperties();
}
this.innerProperties().withAlertRulesCreatedByTemplateCount(alertRulesCreatedByTemplateCount);
return this;
}
/**
* Get the lastUpdatedDateUtc property: The last time that this alert rule template has been updated.
*
* @return the lastUpdatedDateUtc value.
*/
public OffsetDateTime lastUpdatedDateUtc() {
return this.innerProperties() == null ? null : this.innerProperties().lastUpdatedDateUtc();
}
/**
* Get the createdDateUtc property: The time that this alert rule template has been added.
*
* @return the createdDateUtc value.
*/
public OffsetDateTime createdDateUtc() {
return this.innerProperties() == null ? null : this.innerProperties().createdDateUtc();
}
/**
* Get the description property: The description of the alert rule template.
*
* @return the description value.
*/
public String description() {
return this.innerProperties() == null ? null : this.innerProperties().description();
}
/**
* Set the description property: The description of the alert rule template.
*
* @param description the description value to set.
* @return the NrtAlertRuleTemplate object itself.
*/
public NrtAlertRuleTemplate withDescription(String description) {
if (this.innerProperties() == null) {
this.innerProperties = new NrtAlertRuleTemplateProperties();
}
this.innerProperties().withDescription(description);
return this;
}
/**
* Get the displayName property: The display name for alert rule template.
*
* @return the displayName value.
*/
public String displayName() {
return this.innerProperties() == null ? null : this.innerProperties().displayName();
}
/**
* Set the displayName property: The display name for alert rule template.
*
* @param displayName the displayName value to set.
* @return the NrtAlertRuleTemplate object itself.
*/
public NrtAlertRuleTemplate withDisplayName(String displayName) {
if (this.innerProperties() == null) {
this.innerProperties = new NrtAlertRuleTemplateProperties();
}
this.innerProperties().withDisplayName(displayName);
return this;
}
/**
* Get the requiredDataConnectors property: The required data sources for this template.
*
* @return the requiredDataConnectors value.
*/
public List requiredDataConnectors() {
return this.innerProperties() == null ? null : this.innerProperties().requiredDataConnectors();
}
/**
* Set the requiredDataConnectors property: The required data sources for this template.
*
* @param requiredDataConnectors the requiredDataConnectors value to set.
* @return the NrtAlertRuleTemplate object itself.
*/
public NrtAlertRuleTemplate withRequiredDataConnectors(List requiredDataConnectors) {
if (this.innerProperties() == null) {
this.innerProperties = new NrtAlertRuleTemplateProperties();
}
this.innerProperties().withRequiredDataConnectors(requiredDataConnectors);
return this;
}
/**
* Get the status property: The alert rule template status.
*
* @return the status value.
*/
public TemplateStatus status() {
return this.innerProperties() == null ? null : this.innerProperties().status();
}
/**
* Set the status property: The alert rule template status.
*
* @param status the status value to set.
* @return the NrtAlertRuleTemplate object itself.
*/
public NrtAlertRuleTemplate withStatus(TemplateStatus status) {
if (this.innerProperties() == null) {
this.innerProperties = new NrtAlertRuleTemplateProperties();
}
this.innerProperties().withStatus(status);
return this;
}
/**
* Validates the instance.
*
* @throws IllegalArgumentException thrown if the instance is not valid.
*/
@Override
public void validate() {
if (innerProperties() != null) {
innerProperties().validate();
}
}
/**
* {@inheritDoc}
*/
@Override
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString());
jsonWriter.writeJsonField("properties", this.innerProperties);
return jsonWriter.writeEndObject();
}
/**
* Reads an instance of NrtAlertRuleTemplate from the JsonReader.
*
* @param jsonReader The JsonReader being read.
* @return An instance of NrtAlertRuleTemplate if the JsonReader was pointing to an instance of it, or null if it
* was pointing to JSON null.
* @throws IllegalStateException If the deserialized JSON object was missing any required properties.
* @throws IOException If an error occurs while reading the NrtAlertRuleTemplate.
*/
public static NrtAlertRuleTemplate fromJson(JsonReader jsonReader) throws IOException {
return jsonReader.readObject(reader -> {
NrtAlertRuleTemplate deserializedNrtAlertRuleTemplate = new NrtAlertRuleTemplate();
while (reader.nextToken() != JsonToken.END_OBJECT) {
String fieldName = reader.getFieldName();
reader.nextToken();
if ("id".equals(fieldName)) {
deserializedNrtAlertRuleTemplate.id = reader.getString();
} else if ("name".equals(fieldName)) {
deserializedNrtAlertRuleTemplate.name = reader.getString();
} else if ("type".equals(fieldName)) {
deserializedNrtAlertRuleTemplate.type = reader.getString();
} else if ("systemData".equals(fieldName)) {
deserializedNrtAlertRuleTemplate.systemData = SystemData.fromJson(reader);
} else if ("kind".equals(fieldName)) {
deserializedNrtAlertRuleTemplate.kind = AlertRuleKind.fromString(reader.getString());
} else if ("properties".equals(fieldName)) {
deserializedNrtAlertRuleTemplate.innerProperties = NrtAlertRuleTemplateProperties.fromJson(reader);
} else {
reader.skipChildren();
}
}
return deserializedNrtAlertRuleTemplate;
});
}
}