Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.sql.DatabaseSecurityAlertPolicyArgs Maven / Gradle / Ivy
Go to download
A native Pulumi package for creating and managing Azure resources.
// *** 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.sql;
import com.pulumi.azurenative.sql.enums.SecurityAlertsPolicyState;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class DatabaseSecurityAlertPolicyArgs extends com.pulumi.resources.ResourceArgs {
public static final DatabaseSecurityAlertPolicyArgs Empty = new DatabaseSecurityAlertPolicyArgs();
/**
* The name of the database for which the security alert policy is defined.
*
*/
@Import(name="databaseName", required=true)
private Output databaseName;
/**
* @return The name of the database for which the security alert policy is defined.
*
*/
public Output databaseName() {
return this.databaseName;
}
/**
* Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force
*
*/
@Import(name="disabledAlerts")
private @Nullable Output> disabledAlerts;
/**
* @return Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force
*
*/
public Optional>> disabledAlerts() {
return Optional.ofNullable(this.disabledAlerts);
}
/**
* Specifies that the alert is sent to the account administrators.
*
*/
@Import(name="emailAccountAdmins")
private @Nullable Output emailAccountAdmins;
/**
* @return Specifies that the alert is sent to the account administrators.
*
*/
public Optional> emailAccountAdmins() {
return Optional.ofNullable(this.emailAccountAdmins);
}
/**
* Specifies an array of e-mail addresses to which the alert is sent.
*
*/
@Import(name="emailAddresses")
private @Nullable Output> emailAddresses;
/**
* @return Specifies an array of e-mail addresses to which the alert is sent.
*
*/
public Optional>> emailAddresses() {
return Optional.ofNullable(this.emailAddresses);
}
/**
* The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
*
*/
@Import(name="resourceGroupName", required=true)
private Output resourceGroupName;
/**
* @return The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
*
*/
public Output resourceGroupName() {
return this.resourceGroupName;
}
/**
* Specifies the number of days to keep in the Threat Detection audit logs.
*
*/
@Import(name="retentionDays")
private @Nullable Output retentionDays;
/**
* @return Specifies the number of days to keep in the Threat Detection audit logs.
*
*/
public Optional> retentionDays() {
return Optional.ofNullable(this.retentionDays);
}
/**
* The name of the security alert policy.
*
*/
@Import(name="securityAlertPolicyName")
private @Nullable Output securityAlertPolicyName;
/**
* @return The name of the security alert policy.
*
*/
public Optional> securityAlertPolicyName() {
return Optional.ofNullable(this.securityAlertPolicyName);
}
/**
* The name of the server.
*
*/
@Import(name="serverName", required=true)
private Output serverName;
/**
* @return The name of the server.
*
*/
public Output serverName() {
return this.serverName;
}
/**
* Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.
*
*/
@Import(name="state", required=true)
private Output state;
/**
* @return Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.
*
*/
public Output state() {
return this.state;
}
/**
* Specifies the identifier key of the Threat Detection audit storage account.
*
*/
@Import(name="storageAccountAccessKey")
private @Nullable Output storageAccountAccessKey;
/**
* @return Specifies the identifier key of the Threat Detection audit storage account.
*
*/
public Optional> storageAccountAccessKey() {
return Optional.ofNullable(this.storageAccountAccessKey);
}
/**
* Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.
*
*/
@Import(name="storageEndpoint")
private @Nullable Output storageEndpoint;
/**
* @return Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.
*
*/
public Optional> storageEndpoint() {
return Optional.ofNullable(this.storageEndpoint);
}
private DatabaseSecurityAlertPolicyArgs() {}
private DatabaseSecurityAlertPolicyArgs(DatabaseSecurityAlertPolicyArgs $) {
this.databaseName = $.databaseName;
this.disabledAlerts = $.disabledAlerts;
this.emailAccountAdmins = $.emailAccountAdmins;
this.emailAddresses = $.emailAddresses;
this.resourceGroupName = $.resourceGroupName;
this.retentionDays = $.retentionDays;
this.securityAlertPolicyName = $.securityAlertPolicyName;
this.serverName = $.serverName;
this.state = $.state;
this.storageAccountAccessKey = $.storageAccountAccessKey;
this.storageEndpoint = $.storageEndpoint;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(DatabaseSecurityAlertPolicyArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private DatabaseSecurityAlertPolicyArgs $;
public Builder() {
$ = new DatabaseSecurityAlertPolicyArgs();
}
public Builder(DatabaseSecurityAlertPolicyArgs defaults) {
$ = new DatabaseSecurityAlertPolicyArgs(Objects.requireNonNull(defaults));
}
/**
* @param databaseName The name of the database for which the security alert policy is defined.
*
* @return builder
*
*/
public Builder databaseName(Output databaseName) {
$.databaseName = databaseName;
return this;
}
/**
* @param databaseName The name of the database for which the security alert policy is defined.
*
* @return builder
*
*/
public Builder databaseName(String databaseName) {
return databaseName(Output.of(databaseName));
}
/**
* @param disabledAlerts Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force
*
* @return builder
*
*/
public Builder disabledAlerts(@Nullable Output> disabledAlerts) {
$.disabledAlerts = disabledAlerts;
return this;
}
/**
* @param disabledAlerts Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force
*
* @return builder
*
*/
public Builder disabledAlerts(List disabledAlerts) {
return disabledAlerts(Output.of(disabledAlerts));
}
/**
* @param disabledAlerts Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force
*
* @return builder
*
*/
public Builder disabledAlerts(String... disabledAlerts) {
return disabledAlerts(List.of(disabledAlerts));
}
/**
* @param emailAccountAdmins Specifies that the alert is sent to the account administrators.
*
* @return builder
*
*/
public Builder emailAccountAdmins(@Nullable Output emailAccountAdmins) {
$.emailAccountAdmins = emailAccountAdmins;
return this;
}
/**
* @param emailAccountAdmins Specifies that the alert is sent to the account administrators.
*
* @return builder
*
*/
public Builder emailAccountAdmins(Boolean emailAccountAdmins) {
return emailAccountAdmins(Output.of(emailAccountAdmins));
}
/**
* @param emailAddresses Specifies an array of e-mail addresses to which the alert is sent.
*
* @return builder
*
*/
public Builder emailAddresses(@Nullable Output> emailAddresses) {
$.emailAddresses = emailAddresses;
return this;
}
/**
* @param emailAddresses Specifies an array of e-mail addresses to which the alert is sent.
*
* @return builder
*
*/
public Builder emailAddresses(List emailAddresses) {
return emailAddresses(Output.of(emailAddresses));
}
/**
* @param emailAddresses Specifies an array of e-mail addresses to which the alert is sent.
*
* @return builder
*
*/
public Builder emailAddresses(String... emailAddresses) {
return emailAddresses(List.of(emailAddresses));
}
/**
* @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
*
* @return builder
*
*/
public Builder resourceGroupName(Output resourceGroupName) {
$.resourceGroupName = resourceGroupName;
return this;
}
/**
* @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
*
* @return builder
*
*/
public Builder resourceGroupName(String resourceGroupName) {
return resourceGroupName(Output.of(resourceGroupName));
}
/**
* @param retentionDays Specifies the number of days to keep in the Threat Detection audit logs.
*
* @return builder
*
*/
public Builder retentionDays(@Nullable Output retentionDays) {
$.retentionDays = retentionDays;
return this;
}
/**
* @param retentionDays Specifies the number of days to keep in the Threat Detection audit logs.
*
* @return builder
*
*/
public Builder retentionDays(Integer retentionDays) {
return retentionDays(Output.of(retentionDays));
}
/**
* @param securityAlertPolicyName The name of the security alert policy.
*
* @return builder
*
*/
public Builder securityAlertPolicyName(@Nullable Output securityAlertPolicyName) {
$.securityAlertPolicyName = securityAlertPolicyName;
return this;
}
/**
* @param securityAlertPolicyName The name of the security alert policy.
*
* @return builder
*
*/
public Builder securityAlertPolicyName(String securityAlertPolicyName) {
return securityAlertPolicyName(Output.of(securityAlertPolicyName));
}
/**
* @param serverName The name of the server.
*
* @return builder
*
*/
public Builder serverName(Output serverName) {
$.serverName = serverName;
return this;
}
/**
* @param serverName The name of the server.
*
* @return builder
*
*/
public Builder serverName(String serverName) {
return serverName(Output.of(serverName));
}
/**
* @param state Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.
*
* @return builder
*
*/
public Builder state(Output state) {
$.state = state;
return this;
}
/**
* @param state Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.
*
* @return builder
*
*/
public Builder state(SecurityAlertsPolicyState state) {
return state(Output.of(state));
}
/**
* @param storageAccountAccessKey Specifies the identifier key of the Threat Detection audit storage account.
*
* @return builder
*
*/
public Builder storageAccountAccessKey(@Nullable Output storageAccountAccessKey) {
$.storageAccountAccessKey = storageAccountAccessKey;
return this;
}
/**
* @param storageAccountAccessKey Specifies the identifier key of the Threat Detection audit storage account.
*
* @return builder
*
*/
public Builder storageAccountAccessKey(String storageAccountAccessKey) {
return storageAccountAccessKey(Output.of(storageAccountAccessKey));
}
/**
* @param storageEndpoint Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.
*
* @return builder
*
*/
public Builder storageEndpoint(@Nullable Output storageEndpoint) {
$.storageEndpoint = storageEndpoint;
return this;
}
/**
* @param storageEndpoint Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.
*
* @return builder
*
*/
public Builder storageEndpoint(String storageEndpoint) {
return storageEndpoint(Output.of(storageEndpoint));
}
public DatabaseSecurityAlertPolicyArgs build() {
if ($.databaseName == null) {
throw new MissingRequiredPropertyException("DatabaseSecurityAlertPolicyArgs", "databaseName");
}
if ($.resourceGroupName == null) {
throw new MissingRequiredPropertyException("DatabaseSecurityAlertPolicyArgs", "resourceGroupName");
}
if ($.serverName == null) {
throw new MissingRequiredPropertyException("DatabaseSecurityAlertPolicyArgs", "serverName");
}
if ($.state == null) {
throw new MissingRequiredPropertyException("DatabaseSecurityAlertPolicyArgs", "state");
}
return $;
}
}
}