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

com.pulumi.awsnative.rum.kotlin.outputs.AppMonitorMetricDestination.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.rum.kotlin.outputs

import com.pulumi.awsnative.rum.kotlin.enums.AppMonitorMetricDestinationDestination
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 * An structure which defines the destination and the metrics that you want to send.
 * @property destination Defines the destination to send the metrics to. Valid values are CloudWatch and Evidently. If you specify Evidently, you must also specify the ARN of the Evidently experiment that is to be the destination and an IAM role that has permission to write to the experiment.
 * @property destinationArn Use this parameter only if Destination is Evidently. This parameter specifies the ARN of the Evidently experiment that will receive the extended metrics.
 * @property iamRoleArn This parameter is required if Destination is Evidently. If Destination is CloudWatch, do not use this parameter.
 * This parameter specifies the ARN of an IAM role that RUM will assume to write to the Evidently experiment that you are sending metrics to. This role must have permission to write to that experiment.
 * @property metricDefinitions An array of structures which define the metrics that you want to send.
 */
public data class AppMonitorMetricDestination(
    public val destination: AppMonitorMetricDestinationDestination,
    public val destinationArn: String? = null,
    public val iamRoleArn: String? = null,
    public val metricDefinitions: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.rum.outputs.AppMonitorMetricDestination): AppMonitorMetricDestination = AppMonitorMetricDestination(
            destination = javaType.destination().let({ args0 ->
                com.pulumi.awsnative.rum.kotlin.enums.AppMonitorMetricDestinationDestination.Companion.toKotlin(args0)
            }),
            destinationArn = javaType.destinationArn().map({ args0 -> args0 }).orElse(null),
            iamRoleArn = javaType.iamRoleArn().map({ args0 -> args0 }).orElse(null),
            metricDefinitions = javaType.metricDefinitions().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.rum.kotlin.outputs.AppMonitorMetricDefinition.Companion.toKotlin(args0)
                })
            }),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy