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

com.pulumi.awsnative.cognito.kotlin.inputs.UserPoolClientAnalyticsConfigurationArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.cognito.kotlin.inputs

import com.pulumi.awsnative.cognito.inputs.UserPoolClientAnalyticsConfigurationArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property applicationArn The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares.
 * @property applicationId The application ID for an Amazon Pinpoint application.
 * @property externalId The external ID.
 * @property roleArn The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics.
 * @property userDataShared If `UserDataShared` is `true` , Amazon Cognito includes user data in the events that it publishes to Amazon Pinpoint analytics.
 */
public data class UserPoolClientAnalyticsConfigurationArgs(
    public val applicationArn: Output? = null,
    public val applicationId: Output? = null,
    public val externalId: Output? = null,
    public val roleArn: Output? = null,
    public val userDataShared: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.cognito.inputs.UserPoolClientAnalyticsConfigurationArgs =
        com.pulumi.awsnative.cognito.inputs.UserPoolClientAnalyticsConfigurationArgs.builder()
            .applicationArn(applicationArn?.applyValue({ args0 -> args0 }))
            .applicationId(applicationId?.applyValue({ args0 -> args0 }))
            .externalId(externalId?.applyValue({ args0 -> args0 }))
            .roleArn(roleArn?.applyValue({ args0 -> args0 }))
            .userDataShared(userDataShared?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [UserPoolClientAnalyticsConfigurationArgs].
 */
@PulumiTagMarker
public class UserPoolClientAnalyticsConfigurationArgsBuilder internal constructor() {
    private var applicationArn: Output? = null

    private var applicationId: Output? = null

    private var externalId: Output? = null

    private var roleArn: Output? = null

    private var userDataShared: Output? = null

    /**
     * @param value The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares.
     */
    @JvmName("ogeyvixcbwtidvgl")
    public suspend fun applicationArn(`value`: Output) {
        this.applicationArn = value
    }

    /**
     * @param value The application ID for an Amazon Pinpoint application.
     */
    @JvmName("pirgyokcidgdbhsg")
    public suspend fun applicationId(`value`: Output) {
        this.applicationId = value
    }

    /**
     * @param value The external ID.
     */
    @JvmName("bqmexphblnxgauer")
    public suspend fun externalId(`value`: Output) {
        this.externalId = value
    }

    /**
     * @param value The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics.
     */
    @JvmName("umftpgjlqicsxbga")
    public suspend fun roleArn(`value`: Output) {
        this.roleArn = value
    }

    /**
     * @param value If `UserDataShared` is `true` , Amazon Cognito includes user data in the events that it publishes to Amazon Pinpoint analytics.
     */
    @JvmName("pieaxheerxhkiqjl")
    public suspend fun userDataShared(`value`: Output) {
        this.userDataShared = value
    }

    /**
     * @param value The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares.
     */
    @JvmName("edgejmgwtvsbgjea")
    public suspend fun applicationArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.applicationArn = mapped
    }

    /**
     * @param value The application ID for an Amazon Pinpoint application.
     */
    @JvmName("hcavaakwmdlhbenw")
    public suspend fun applicationId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.applicationId = mapped
    }

    /**
     * @param value The external ID.
     */
    @JvmName("twplkffijtrmhslo")
    public suspend fun externalId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.externalId = mapped
    }

    /**
     * @param value The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics.
     */
    @JvmName("wbumsfockqixlavf")
    public suspend fun roleArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.roleArn = mapped
    }

    /**
     * @param value If `UserDataShared` is `true` , Amazon Cognito includes user data in the events that it publishes to Amazon Pinpoint analytics.
     */
    @JvmName("yojopclfdotxbucd")
    public suspend fun userDataShared(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.userDataShared = mapped
    }

    internal fun build(): UserPoolClientAnalyticsConfigurationArgs =
        UserPoolClientAnalyticsConfigurationArgs(
            applicationArn = applicationArn,
            applicationId = applicationId,
            externalId = externalId,
            roleArn = roleArn,
            userDataShared = userDataShared,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy