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

com.pulumi.azure.monitoring.kotlin.outputs.ActivityLogAlertCriteria.kt Maven / Gradle / Ivy

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

package com.pulumi.azure.monitoring.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property caller The email address or Azure Active Directory identifier of the user who performed the operation.
 * @property category The category of the operation. Possible values are `Administrative`, `Autoscale`, `Policy`, `Recommendation`, `ResourceHealth`, `Security` and `ServiceHealth`.
 * @property level The severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
 * @property 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.
 * @property operationName The Resource Manager Role-Based Access Control operation name. Supported operation should be of the form: `//`.
 * @property recommendationCategory The recommendation category of the event. Possible values are `Cost`, `Reliability`, `OperationalExcellence`, `HighAvailability` and `Performance`. It is only allowed when `category` is `Recommendation`.
 * @property recommendationImpact The recommendation impact of the event. Possible values are `High`, `Medium` and `Low`. It is only allowed when `category` is `Recommendation`.
 * @property recommendationType The recommendation type of the event. It is only allowed when `category` is `Recommendation`.
 * @property resourceGroup The name of resource group monitored by the activity log alert.
 * @property resourceGroups A list of names of resource groups monitored by the activity log alert.
 * > **NOTE:** `resource_group` and `resource_groups` are mutually exclusive.
 * @property resourceHealths A block to define fine grain resource health settings.
 * @property resourceId The specific resource monitored by the activity log alert. It should be within one of the `scopes`.
 * @property 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.
 * @property resourceProvider The name of the resource provider monitored by the activity log alert.
 * @property resourceProviders A list of names of resource providers monitored by the activity log alert.
 * > **NOTE:** `resource_provider` and `resource_providers` are mutually exclusive.
 * @property resourceType The resource type monitored by the activity log alert.
 * @property resourceTypes A list of resource types monitored by the activity log alert.
 * > **NOTE:** `resource_type` and `resource_types` are mutually exclusive.
 * @property serviceHealths A block to define fine grain service health settings.
 * @property status The status of the event. For example, `Started`, `Failed`, or `Succeeded`.
 * @property statuses A list of status of the event. For example, `Started`, `Failed`, or `Succeeded`.
 * > **NOTE:** `status` and `statuses` are mutually exclusive.
 * @property subStatus The sub status of the event.
 * @property subStatuses A list of sub status of the event.
 * > **NOTE:** `sub_status` and `sub_statuses` are mutually exclusive.
 */
public data class ActivityLogAlertCriteria(
    public val caller: String? = null,
    public val category: String,
    public val level: String? = null,
    public val levels: List? = null,
    public val operationName: String? = null,
    public val recommendationCategory: String? = null,
    public val recommendationImpact: String? = null,
    public val recommendationType: String? = null,
    public val resourceGroup: String? = null,
    public val resourceGroups: List? = null,
    public val resourceHealths: List? = null,
    public val resourceId: String? = null,
    public val resourceIds: List? = null,
    public val resourceProvider: String? = null,
    public val resourceProviders: List? = null,
    public val resourceType: String? = null,
    public val resourceTypes: List? = null,
    public val serviceHealths: List? = null,
    public val status: String? = null,
    public val statuses: List? = null,
    public val subStatus: String? = null,
    public val subStatuses: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.monitoring.outputs.ActivityLogAlertCriteria): ActivityLogAlertCriteria = ActivityLogAlertCriteria(
            caller = javaType.caller().map({ args0 -> args0 }).orElse(null),
            category = javaType.category(),
            level = javaType.level().map({ args0 -> args0 }).orElse(null),
            levels = javaType.levels().map({ args0 -> args0 }),
            operationName = javaType.operationName().map({ args0 -> args0 }).orElse(null),
            recommendationCategory = javaType.recommendationCategory().map({ args0 -> args0 }).orElse(null),
            recommendationImpact = javaType.recommendationImpact().map({ args0 -> args0 }).orElse(null),
            recommendationType = javaType.recommendationType().map({ args0 -> args0 }).orElse(null),
            resourceGroup = javaType.resourceGroup().map({ args0 -> args0 }).orElse(null),
            resourceGroups = javaType.resourceGroups().map({ args0 -> args0 }),
            resourceHealths = javaType.resourceHealths().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.monitoring.kotlin.outputs.ActivityLogAlertCriteriaResourceHealth.Companion.toKotlin(args0)
                })
            }),
            resourceId = javaType.resourceId().map({ args0 -> args0 }).orElse(null),
            resourceIds = javaType.resourceIds().map({ args0 -> args0 }),
            resourceProvider = javaType.resourceProvider().map({ args0 -> args0 }).orElse(null),
            resourceProviders = javaType.resourceProviders().map({ args0 -> args0 }),
            resourceType = javaType.resourceType().map({ args0 -> args0 }).orElse(null),
            resourceTypes = javaType.resourceTypes().map({ args0 -> args0 }),
            serviceHealths = javaType.serviceHealths().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.azure.monitoring.kotlin.outputs.ActivityLogAlertCriteriaServiceHealth.Companion.toKotlin(args0)
                })
            }),
            status = javaType.status().map({ args0 -> args0 }).orElse(null),
            statuses = javaType.statuses().map({ args0 -> args0 }),
            subStatus = javaType.subStatus().map({ args0 -> args0 }).orElse(null),
            subStatuses = javaType.subStatuses().map({ args0 -> args0 }),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy