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.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.rum.kotlin.inputs
import com.pulumi.awsnative.rum.inputs.AppMonitorConfigurationArgs.builder
import com.pulumi.awsnative.rum.kotlin.enums.AppMonitorTelemetry
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Double
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* AppMonitor configuration
* @property allowCookies If you set this to true, the RUM web client sets two cookies, a session cookie and a user cookie. The cookies allow the RUM web client to collect data relating to the number of users an application has and the behavior of the application across a sequence of events. Cookies are stored in the top-level domain of the current page.
* @property enableXRay If you set this to true, RUM enables xray tracing for the user sessions that RUM samples. RUM adds an xray trace header to allowed HTTP requests. It also records an xray segment for allowed HTTP requests. You can see traces and segments from these user sessions in the xray console and the CW ServiceLens console.
* @property excludedPages A list of URLs in your website or application to exclude from RUM data collection. You can't include both ExcludedPages and IncludedPages in the same operation.
* @property favoritePages A list of pages in the RUM console that are to be displayed with a favorite icon.
* @property guestRoleArn The ARN of the guest IAM role that is attached to the identity pool that is used to authorize the sending of data to RUM.
* @property identityPoolId The ID of the identity pool that is used to authorize the sending of data to RUM.
* @property includedPages If this app monitor is to collect data from only certain pages in your application, this structure lists those pages. You can't include both ExcludedPages and IncludedPages in the same operation.
* @property metricDestinations An array of structures which define the destinations and the metrics that you want to send.
* @property sessionSampleRate Specifies the percentage of user sessions to use for RUM data collection. Choosing a higher percentage gives you more data but also incurs more costs. The number you specify is the percentage of user sessions that will be used. If you omit this parameter, the default of 10 is used.
* @property telemetries An array that lists the types of telemetry data that this app monitor is to collect.
*/
public data class AppMonitorConfigurationArgs(
public val allowCookies: Output? = null,
public val enableXRay: Output? = null,
public val excludedPages: Output>? = null,
public val favoritePages: Output>? = null,
public val guestRoleArn: Output? = null,
public val identityPoolId: Output? = null,
public val includedPages: Output>? = null,
public val metricDestinations: Output>? = null,
public val sessionSampleRate: Output? = null,
public val telemetries: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.rum.inputs.AppMonitorConfigurationArgs =
com.pulumi.awsnative.rum.inputs.AppMonitorConfigurationArgs.builder()
.allowCookies(allowCookies?.applyValue({ args0 -> args0 }))
.enableXRay(enableXRay?.applyValue({ args0 -> args0 }))
.excludedPages(excludedPages?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.favoritePages(favoritePages?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.guestRoleArn(guestRoleArn?.applyValue({ args0 -> args0 }))
.identityPoolId(identityPoolId?.applyValue({ args0 -> args0 }))
.includedPages(includedPages?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.metricDestinations(
metricDestinations?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.sessionSampleRate(sessionSampleRate?.applyValue({ args0 -> args0 }))
.telemetries(
telemetries?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [AppMonitorConfigurationArgs].
*/
@PulumiTagMarker
public class AppMonitorConfigurationArgsBuilder internal constructor() {
private var allowCookies: Output? = null
private var enableXRay: Output? = null
private var excludedPages: Output>? = null
private var favoritePages: Output>? = null
private var guestRoleArn: Output? = null
private var identityPoolId: Output? = null
private var includedPages: Output>? = null
private var metricDestinations: Output>? = null
private var sessionSampleRate: Output? = null
private var telemetries: Output>? = null
/**
* @param value If you set this to true, the RUM web client sets two cookies, a session cookie and a user cookie. The cookies allow the RUM web client to collect data relating to the number of users an application has and the behavior of the application across a sequence of events. Cookies are stored in the top-level domain of the current page.
*/
@JvmName("coaifjydwvfaaldy")
public suspend fun allowCookies(`value`: Output) {
this.allowCookies = value
}
/**
* @param value If you set this to true, RUM enables xray tracing for the user sessions that RUM samples. RUM adds an xray trace header to allowed HTTP requests. It also records an xray segment for allowed HTTP requests. You can see traces and segments from these user sessions in the xray console and the CW ServiceLens console.
*/
@JvmName("ckpkkkblyubowjrp")
public suspend fun enableXRay(`value`: Output) {
this.enableXRay = value
}
/**
* @param value A list of URLs in your website or application to exclude from RUM data collection. You can't include both ExcludedPages and IncludedPages in the same operation.
*/
@JvmName("abvhcngrssgyppuc")
public suspend fun excludedPages(`value`: Output>) {
this.excludedPages = value
}
@JvmName("dwfccrnoaedokkef")
public suspend fun excludedPages(vararg values: Output) {
this.excludedPages = Output.all(values.asList())
}
/**
* @param values A list of URLs in your website or application to exclude from RUM data collection. You can't include both ExcludedPages and IncludedPages in the same operation.
*/
@JvmName("qrjhnmggixsyungj")
public suspend fun excludedPages(values: List