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

com.pulumi.azure.sql.kotlin.outputs.SqlServerThreatDetectionPolicy.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.sql.kotlin.outputs

import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property disabledAlerts Specifies a list of alerts which should be disabled. Possible values include `Access_Anomaly`, `Data_Exfiltration`, `Sql_Injection`, `Sql_Injection_Vulnerability` and `Unsafe_Action"`,.
 * @property emailAccountAdmins Should the account administrators be emailed when this alert is triggered?
 * @property emailAddresses A list of email addresses which alerts should be sent to.
 * @property retentionDays Specifies the number of days to keep in the Threat Detection audit logs.
 * @property state The State of the Policy. Possible values are `Disabled`, `Enabled` and `New`. Defaults to `Disabled`.
 * @property storageAccountAccessKey Specifies the identifier key of the Threat Detection audit storage account. Required if `state` is `Enabled`.
 * @property storageEndpoint Specifies the blob storage endpoint (e.g. ). This blob storage will hold all Threat Detection audit logs. Required if `state` is `Enabled`.
 */
public data class SqlServerThreatDetectionPolicy(
    public val disabledAlerts: List? = null,
    public val emailAccountAdmins: Boolean? = null,
    public val emailAddresses: List? = null,
    public val retentionDays: Int? = null,
    public val state: String? = null,
    public val storageAccountAccessKey: String? = null,
    public val storageEndpoint: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.sql.outputs.SqlServerThreatDetectionPolicy): SqlServerThreatDetectionPolicy = SqlServerThreatDetectionPolicy(
            disabledAlerts = javaType.disabledAlerts().map({ args0 -> args0 }),
            emailAccountAdmins = javaType.emailAccountAdmins().map({ args0 -> args0 }).orElse(null),
            emailAddresses = javaType.emailAddresses().map({ args0 -> args0 }),
            retentionDays = javaType.retentionDays().map({ args0 -> args0 }).orElse(null),
            state = javaType.state().map({ args0 -> args0 }).orElse(null),
            storageAccountAccessKey = javaType.storageAccountAccessKey().map({ args0 -> args0 }).orElse(null),
            storageEndpoint = javaType.storageEndpoint().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy